Loading .gitignore +3 −0 Original line number Diff line number Diff line Loading @@ -3,3 +3,6 @@ covers/* py/*.jpg py/*.png py/__pycache__/* py/man.zip py/ziptest.py py/fb2parse.py conf/sopds.conf +10 −3 Original line number Diff line number Diff line Loading @@ -15,15 +15,14 @@ formats = .pdf .djvu .fb2 .txt # Количество выдаваемых строк на одну страницу maxitems = 60 # Устранение дубликатов пока не работает dublicates = no # dublicates_find = yes, приводит к поиску дубликатов на основании полей title и filesize # при этом дубликат помещается в базу, но помечается как дубликат и может исключаться из выдачи # при поиске по наименованиям и по авторам, в случае поиска по книги, помеченные как дубликаты все равно будут показываться # ***** Функция пока не реализована в текущей версии ПО dublicates_find = yes # Указывает следует ли показывать книги, помеченные при сканировании как дубликаты в сортировках по наименованию и автору # ***** Функция пока не реализована в текущей версии ПО dublicates_show = no # Извлекать метаинформацию из книг fb2 Loading Loading @@ -57,6 +56,14 @@ zipscan = yes # ziprescan = no - Предотвращает повторное сканирование всего zip-архива ziprescan = no # Указываем какая кодировка для названий файлов используется в ZIP-архивах # доступные кодировки: cp437, cp866, cp1251, utf-8 # по умолчанию применяется кодировка cp437 # Поскольку в самом ZIP архиве сведения о кодировке, в которой находятся имена файлов - отсутсвует # то оавтоматически определить правильную кодировку для имен файлов не представляется возможным # поэтому для того чтобы кириллические имена файлов не ваыгляядели как крякозябры следует применять кодировку cp866 zip_codepage = cp866 # При таком количестве авторов в выдаче по авторам следующий уровень сортировки предоставляться уже не будет splitauthors = 300 # При таком количестве наименований книг в выдаче по наименованиям следующий уровень сортировки предоставляться уже не будет Loading py/__pycache__/sopdscfg.cpython-33.pyc +203 B (3.21 KiB) File changed.No diff preview for this file type. View original file View changed file py/sopds-scan.py +2 −2 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ import os import sopdsdb import sopdsparse import zipfile import zipf import time import datetime import sopdscfg Loading Loading @@ -157,7 +157,7 @@ def processzip(db,fb2,name,full_path,file): rel_path=os.path.relpath(full_path,cfg.ROOT_LIB) rel_file=os.path.join(rel_path,name) if cfg.ZIPRESCAN or db.zipisscanned(rel_file)==0: z = zipfile.ZipFile(file, 'r') z = zipf.ZipFile(file, 'r', codepage=cfg.ZIP_CODEPAGE) filelist = z.namelist() for n in filelist: try: Loading py/sopds.cgi +6 −6 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ import cgi import codecs import os import urllib.parse import zipfile import zipf import io import locale import time Loading Loading @@ -438,7 +438,7 @@ elif type_value==8: fo.close() elif cat_type==sopdsdb.CAT_ZIP: fz=codecs.open(full_path.encode("utf-8"), "rb") z = zipfile.ZipFile(fz, 'r') z = zipf.ZipFile(fz, 'r', codepage=cfg.ZIP_CODEPAGE) book_size=z.getinfo(book_name).file_size enc_print('Content-Length: '+str(book_size)) enc_print() Loading Loading @@ -466,7 +466,7 @@ elif type_value==9: if cat_type==sopdsdb.CAT_NORMAL: file_path=os.path.join(full_path,book_name) dio = io.BytesIO() z = zipfile.ZipFile(dio, 'w', zipfile.ZIP_DEFLATED) z = zipf.ZipFile(dio, 'w', zipf.ZIP_DEFLATED) z.write(file_path.encode('utf-8'),transname) z.close() buf = dio.getvalue() Loading @@ -475,7 +475,7 @@ elif type_value==9: sys.stdout.buffer.write(buf) elif cat_type==sopdsdb.CAT_ZIP: fz=codecs.open(full_path.encode("utf-8"), "rb") zi = zipfile.ZipFile(fz, 'r', allowZip64=True) zi = zipf.ZipFile(fz, 'r', codepage=cfg.ZIP_CODEPAGE) fo= zi.open(book_name) str=fo.read() fo.close() Loading @@ -483,7 +483,7 @@ elif type_value==9: fz.close() dio = io.BytesIO() zo = zipfile.ZipFile(dio, 'w', zipfile.ZIP_DEFLATED) zo = zipf.ZipFile(dio, 'w', zipf.ZIP_DEFLATED) zo.writestr(transname,str) zo.close() Loading Loading @@ -512,7 +512,7 @@ elif type_value==99: fo.close() elif cat_type==sopdsdb.CAT_ZIP: fz=codecs.open(full_path.encode("utf-8"), "rb") z = zipfile.ZipFile(fz, 'r') z = zipf.ZipFile(fz, 'r', codepage=cfg.ZIP_CODEPAGE) fo = z.open(book_name) fb2.parse(fo,0) fo.close() Loading Loading
.gitignore +3 −0 Original line number Diff line number Diff line Loading @@ -3,3 +3,6 @@ covers/* py/*.jpg py/*.png py/__pycache__/* py/man.zip py/ziptest.py py/fb2parse.py
conf/sopds.conf +10 −3 Original line number Diff line number Diff line Loading @@ -15,15 +15,14 @@ formats = .pdf .djvu .fb2 .txt # Количество выдаваемых строк на одну страницу maxitems = 60 # Устранение дубликатов пока не работает dublicates = no # dublicates_find = yes, приводит к поиску дубликатов на основании полей title и filesize # при этом дубликат помещается в базу, но помечается как дубликат и может исключаться из выдачи # при поиске по наименованиям и по авторам, в случае поиска по книги, помеченные как дубликаты все равно будут показываться # ***** Функция пока не реализована в текущей версии ПО dublicates_find = yes # Указывает следует ли показывать книги, помеченные при сканировании как дубликаты в сортировках по наименованию и автору # ***** Функция пока не реализована в текущей версии ПО dublicates_show = no # Извлекать метаинформацию из книг fb2 Loading Loading @@ -57,6 +56,14 @@ zipscan = yes # ziprescan = no - Предотвращает повторное сканирование всего zip-архива ziprescan = no # Указываем какая кодировка для названий файлов используется в ZIP-архивах # доступные кодировки: cp437, cp866, cp1251, utf-8 # по умолчанию применяется кодировка cp437 # Поскольку в самом ZIP архиве сведения о кодировке, в которой находятся имена файлов - отсутсвует # то оавтоматически определить правильную кодировку для имен файлов не представляется возможным # поэтому для того чтобы кириллические имена файлов не ваыгляядели как крякозябры следует применять кодировку cp866 zip_codepage = cp866 # При таком количестве авторов в выдаче по авторам следующий уровень сортировки предоставляться уже не будет splitauthors = 300 # При таком количестве наименований книг в выдаче по наименованиям следующий уровень сортировки предоставляться уже не будет Loading
py/__pycache__/sopdscfg.cpython-33.pyc +203 B (3.21 KiB) File changed.No diff preview for this file type. View original file View changed file
py/sopds-scan.py +2 −2 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ import os import sopdsdb import sopdsparse import zipfile import zipf import time import datetime import sopdscfg Loading Loading @@ -157,7 +157,7 @@ def processzip(db,fb2,name,full_path,file): rel_path=os.path.relpath(full_path,cfg.ROOT_LIB) rel_file=os.path.join(rel_path,name) if cfg.ZIPRESCAN or db.zipisscanned(rel_file)==0: z = zipfile.ZipFile(file, 'r') z = zipf.ZipFile(file, 'r', codepage=cfg.ZIP_CODEPAGE) filelist = z.namelist() for n in filelist: try: Loading
py/sopds.cgi +6 −6 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ import cgi import codecs import os import urllib.parse import zipfile import zipf import io import locale import time Loading Loading @@ -438,7 +438,7 @@ elif type_value==8: fo.close() elif cat_type==sopdsdb.CAT_ZIP: fz=codecs.open(full_path.encode("utf-8"), "rb") z = zipfile.ZipFile(fz, 'r') z = zipf.ZipFile(fz, 'r', codepage=cfg.ZIP_CODEPAGE) book_size=z.getinfo(book_name).file_size enc_print('Content-Length: '+str(book_size)) enc_print() Loading Loading @@ -466,7 +466,7 @@ elif type_value==9: if cat_type==sopdsdb.CAT_NORMAL: file_path=os.path.join(full_path,book_name) dio = io.BytesIO() z = zipfile.ZipFile(dio, 'w', zipfile.ZIP_DEFLATED) z = zipf.ZipFile(dio, 'w', zipf.ZIP_DEFLATED) z.write(file_path.encode('utf-8'),transname) z.close() buf = dio.getvalue() Loading @@ -475,7 +475,7 @@ elif type_value==9: sys.stdout.buffer.write(buf) elif cat_type==sopdsdb.CAT_ZIP: fz=codecs.open(full_path.encode("utf-8"), "rb") zi = zipfile.ZipFile(fz, 'r', allowZip64=True) zi = zipf.ZipFile(fz, 'r', codepage=cfg.ZIP_CODEPAGE) fo= zi.open(book_name) str=fo.read() fo.close() Loading @@ -483,7 +483,7 @@ elif type_value==9: fz.close() dio = io.BytesIO() zo = zipfile.ZipFile(dio, 'w', zipfile.ZIP_DEFLATED) zo = zipf.ZipFile(dio, 'w', zipf.ZIP_DEFLATED) zo.writestr(transname,str) zo.close() Loading Loading @@ -512,7 +512,7 @@ elif type_value==99: fo.close() elif cat_type==sopdsdb.CAT_ZIP: fz=codecs.open(full_path.encode("utf-8"), "rb") z = zipfile.ZipFile(fz, 'r') z = zipf.ZipFile(fz, 'r', codepage=cfg.ZIP_CODEPAGE) fo = z.open(book_name) fb2.parse(fo,0) fo.close() Loading