Starting json2query in catalog.py
This commit is contained in:
parent
135b9b7202
commit
b1b204ba2e
@ -4,7 +4,7 @@ from urllib.parse import quote
|
|||||||
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
||||||
from .entry import Entry
|
from .entry import Entry
|
||||||
from .link import Link
|
from .link import Link
|
||||||
import sqlite3
|
import sqlite3,json
|
||||||
|
|
||||||
|
|
||||||
class Catalog(object):
|
class Catalog(object):
|
||||||
@ -48,13 +48,30 @@ def fromsearch(root_url, url, content_base_path, content_relative_path):
|
|||||||
|
|
||||||
def fromdir(root_url, url, content_base_path, content_relative_path):
|
def fromdir(root_url, url, content_base_path, content_relative_path):
|
||||||
|
|
||||||
searchArr=["Girl","Bat","Part One"]
|
|
||||||
path = os.path.join(content_base_path, content_relative_path)
|
path = os.path.join(content_base_path, content_relative_path)
|
||||||
|
|
||||||
#print(path)
|
#print(path)
|
||||||
c = Catalog(
|
c = Catalog(
|
||||||
title=os.path.basename(os.path.dirname(path)), root_url=root_url, url=url
|
title=os.path.basename(os.path.dirname(path)), root_url=root_url, url=url
|
||||||
)
|
)
|
||||||
#print(c.url)
|
#print(c.url)
|
||||||
|
|
||||||
|
##########WORKING AREA###########
|
||||||
|
searchArr=[]
|
||||||
|
if c.url.endswith("/catalog"):
|
||||||
|
with open('test.json') as fi:
|
||||||
|
data=json.load(fi)
|
||||||
|
print("--> LOADED FILE") # try and get this as low as possible.
|
||||||
|
#searchArr=["Girl","Bat","Part One"]
|
||||||
|
|
||||||
|
for e in data:
|
||||||
|
for key, value in e.items():
|
||||||
|
searchArr.append(key)
|
||||||
|
print(searchArr)
|
||||||
|
######################
|
||||||
|
|
||||||
|
|
||||||
if not "search" in c.url:
|
if not "search" in c.url:
|
||||||
onlydirs = [
|
onlydirs = [
|
||||||
f for f in os.listdir(path) if not os.path.isfile(os.path.join(path, f))
|
f for f in os.listdir(path) if not os.path.isfile(os.path.join(path, f))
|
||||||
@ -96,11 +113,23 @@ def fromdir(root_url, url, content_base_path, content_relative_path):
|
|||||||
#fixed issue with multiple . in filename
|
#fixed issue with multiple . in filename
|
||||||
#print(c.render())
|
#print(c.render())
|
||||||
else:
|
else:
|
||||||
print(searchArr)
|
with open('test.json') as fi:
|
||||||
|
data=json.load(fi)
|
||||||
|
print("--> LOADED 2 FILE") # try and get this as low as possible.
|
||||||
|
for e in data:
|
||||||
|
for key, value in e.items():
|
||||||
|
print(key)
|
||||||
|
searchArr.append(key)
|
||||||
for i in searchArr:
|
for i in searchArr:
|
||||||
|
print(i)
|
||||||
if quote(f""+i) in c.url:
|
if quote(f""+i) in c.url:
|
||||||
print(i)
|
|
||||||
conn = sqlite3.connect('app.db')
|
conn = sqlite3.connect('app.db')
|
||||||
|
print(data)
|
||||||
|
for e in data:
|
||||||
|
for key, value in e.items():
|
||||||
|
print(key)
|
||||||
|
query="SELECT * FROM COMICS where "
|
||||||
|
|
||||||
|
|
||||||
sql="SELECT * from COMICS where SERIES like '%" + i+ "%' or Title like '%" + i+ "%';"
|
sql="SELECT * from COMICS where SERIES like '%" + i+ "%' or Title like '%" + i+ "%';"
|
||||||
print(sql)
|
print(sql)
|
||||||
|
67
opds/test.json
Normal file
67
opds/test.json
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"SQL TEST": [
|
||||||
|
{
|
||||||
|
"SQL": "(series like '%Aqua%' or series like '%girl%') and issue in ('1','2','5','10') and title not like '%Annual%'"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},{
|
||||||
|
"Man 2020,2019": [
|
||||||
|
{
|
||||||
|
"title": "Man",
|
||||||
|
"volume": [
|
||||||
|
"2020",
|
||||||
|
"2019"
|
||||||
|
],
|
||||||
|
"publisher": "",
|
||||||
|
"series": "",
|
||||||
|
"issue": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Marvel": [
|
||||||
|
{
|
||||||
|
"title": "",
|
||||||
|
"volume": "",
|
||||||
|
"publisher": "marvel",
|
||||||
|
"series": "",
|
||||||
|
"issue": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Girl": [
|
||||||
|
{
|
||||||
|
"title": ["girl","man","World"],
|
||||||
|
"volume": "",
|
||||||
|
"publisher": "",
|
||||||
|
"series": "girl",
|
||||||
|
"issue": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Aquaman": [
|
||||||
|
{
|
||||||
|
"title": "",
|
||||||
|
"volume": "",
|
||||||
|
"publisher": "",
|
||||||
|
"series": "aquaman",
|
||||||
|
"issue": ["2","3","5","10","22"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{
|
||||||
|
"Girl series": [
|
||||||
|
{
|
||||||
|
"title": "",
|
||||||
|
"volume": "",
|
||||||
|
"publisher": "",
|
||||||
|
"series": "girl",
|
||||||
|
"issue": "2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
@ -7,12 +7,14 @@ with open('test.json') as f:
|
|||||||
for element in data:
|
for element in data:
|
||||||
for key, value in element.items():
|
for key, value in element.items():
|
||||||
title=key
|
title=key
|
||||||
# print("Search Title: " + title)
|
|
||||||
query="SELECT * FROM COMICS where "
|
query="SELECT * FROM COMICS where "
|
||||||
|
# print("Search Title: " + title)
|
||||||
for i in value:
|
for i in value:
|
||||||
first=True
|
first=True
|
||||||
for j,k in i.items():
|
for j,k in i.items():
|
||||||
if k != '':
|
if j == 'SQL':
|
||||||
|
query = query + k
|
||||||
|
if k != '' and j != "SQL":
|
||||||
# print(j,k)
|
# print(j,k)
|
||||||
if not first:
|
if not first:
|
||||||
query = query + "and "
|
query = query + "and "
|
||||||
|
Loading…
Reference in New Issue
Block a user