Пара предложений к версии 0.06
9 years 4 months ago #28
by BaMba
BaMba created the topic: Пара предложений к версии 0.06
День добрый!
В ходе установки и использования версии 0.06 обнаружил, что сканер падает если не может работать с архивом (например битый или прав не хватает), поэтому внес пару правок (как работать с github ещё не знаю, поэтому указываю здесь):
diff --git a/py/sopds-scan.py b/py/sopds-scan.py
index 996b155..ec2b22e 100755
--- a/py/sopds-scan.py
+++ b/py/sopds-scan.py
@@ -164,6 +164,7 @@ def processzip(db,fb2,name,full_path,file):
rel_file=os.path.join(rel_path,name)
if cfg.ZIPRESCAN or db.zipisscanned(rel_file)==0:
cat_id=db.addcattree(rel_path,1)
+ try:
z = zipf.ZipFile(file, 'r', allowZip64=True, codepage=cfg.ZIP_CODEPAGE)
filelist = z.namelist()
for n in filelist:
@@ -176,6 +177,10 @@ def processzip(db,fb2,name,full_path,file):
print('Error processing zip archive:',file,' file: ',n)
z.close()
arch_scanned+=1
+ except:
+ print('Error processing zip archive:',file)
+# finally:
+# if z: z.close()
else:
arch_skipped+=1
if VERBOSE:
Мне ещё, правда, не совсем понятна вот такая статистика:
/opt/sopds(branch:master*) » sudo py/sopds-scan.py
Error processing zip archive: /mnt/home/books/kids/action/Arden_Uiljam__Tajna_hohochuxhej_teni.fb2.zip file: Arden_Uiljam__Tajna_hohochuxhej_teni.fb2
....
Books added : 914
Books skipped : 1805
Books in archives: 616
Archives scanned : 2261
Archives skipped : 0
Time estimated: 0 hours, 0 minutes, 30 seconds.
Почему так много skipped? Но это я ещё не разбирался.
Ещё хочу предложить описание моей установки на ubuntu + nginx, вдруг кому-то пригодится:
cd /opt
sudo git clone git://github.com/mitshel/sopds sopds
sudo apt-get install mysql-server
wget ftp.pl.debian.org/debian/pool/main/m/mys...ctor_1.0.9-1_all.deb
(нашел тут: packages.debian.org/ru/experimental/all/...l.connector/download )
sudo dpkg -i python3-mysql.connector_1.0.9-1_all.deb
sudo vim conf/sopds.conf - настройка
Кстати, из пожеланий.. можно ли добавить возможность указать каталоги, которые нужно гнорировать при сканировании?
sudo vim dbcrea.sql - комментировать создание БД и т.д.
opt/sopds/db(branch:master*) » mysql sopds < dbcrea.sql
/opt/sopds/db(branch:master*) » mysql sopds < genres.sql
Ещё рекомендую разделить dbcrea.sql на два - один на создание пользователя и БД, второй - на создание таблиц и прочего. Тогда легче обновляться на следующую версию (если поменялись таблички и т.д.) - ни базу, ни пользователя не нужно создавать.
sudo py/sopds-scan.py
sudo apt-get install nginx-full uwsgi
sudo locale-gen ru_RU.UTF-8
sudo vim /etc/nginx/sites-available/default:
...
location /b/opds/ {
alias /opt/sopds/py;
uwsgi_pass unix:///run/uwsgi/app/books-opds.socket;
include uwsgi_params;
uwsgi_modifier1 9;
}
sudo vim /etc/uwsgi/apps-available/books-opds.ini
[uwsgi]
plugins = cgi
socket = /run/uwsgi/app/books-opds.socket
cgi = /b/opds/=/opt/sopds/py
cgi-allowed-ext = .cgi
chown-socket = www-data:www-data
cd /etc/uwsgi/apps-enabled; sudo ln -s ../apps-available/books-opds.ini
sudo service uwsgi restart
sudo service nginx reload
Вот вроде и всё.
В ходе установки и использования версии 0.06 обнаружил, что сканер падает если не может работать с архивом (например битый или прав не хватает), поэтому внес пару правок (как работать с github ещё не знаю, поэтому указываю здесь):
diff --git a/py/sopds-scan.py b/py/sopds-scan.py
index 996b155..ec2b22e 100755
--- a/py/sopds-scan.py
+++ b/py/sopds-scan.py
@@ -164,6 +164,7 @@ def processzip(db,fb2,name,full_path,file):
rel_file=os.path.join(rel_path,name)
if cfg.ZIPRESCAN or db.zipisscanned(rel_file)==0:
cat_id=db.addcattree(rel_path,1)
+ try:
z = zipf.ZipFile(file, 'r', allowZip64=True, codepage=cfg.ZIP_CODEPAGE)
filelist = z.namelist()
for n in filelist:
@@ -176,6 +177,10 @@ def processzip(db,fb2,name,full_path,file):
print('Error processing zip archive:',file,' file: ',n)
z.close()
arch_scanned+=1
+ except:
+ print('Error processing zip archive:',file)
+# finally:
+# if z: z.close()
else:
arch_skipped+=1
if VERBOSE:
Мне ещё, правда, не совсем понятна вот такая статистика:
/opt/sopds(branch:master*) » sudo py/sopds-scan.py
Error processing zip archive: /mnt/home/books/kids/action/Arden_Uiljam__Tajna_hohochuxhej_teni.fb2.zip file: Arden_Uiljam__Tajna_hohochuxhej_teni.fb2
....
Books added : 914
Books skipped : 1805
Books in archives: 616
Archives scanned : 2261
Archives skipped : 0
Time estimated: 0 hours, 0 minutes, 30 seconds.
Почему так много skipped? Но это я ещё не разбирался.
Ещё хочу предложить описание моей установки на ubuntu + nginx, вдруг кому-то пригодится:
cd /opt
sudo git clone git://github.com/mitshel/sopds sopds
sudo apt-get install mysql-server
wget ftp.pl.debian.org/debian/pool/main/m/mys...ctor_1.0.9-1_all.deb
(нашел тут: packages.debian.org/ru/experimental/all/...l.connector/download )
sudo dpkg -i python3-mysql.connector_1.0.9-1_all.deb
sudo vim conf/sopds.conf - настройка
Кстати, из пожеланий.. можно ли добавить возможность указать каталоги, которые нужно гнорировать при сканировании?
sudo vim dbcrea.sql - комментировать создание БД и т.д.
opt/sopds/db(branch:master*) » mysql sopds < dbcrea.sql
/opt/sopds/db(branch:master*) » mysql sopds < genres.sql
Ещё рекомендую разделить dbcrea.sql на два - один на создание пользователя и БД, второй - на создание таблиц и прочего. Тогда легче обновляться на следующую версию (если поменялись таблички и т.д.) - ни базу, ни пользователя не нужно создавать.
sudo py/sopds-scan.py
sudo apt-get install nginx-full uwsgi
sudo locale-gen ru_RU.UTF-8
sudo vim /etc/nginx/sites-available/default:
...
location /b/opds/ {
alias /opt/sopds/py;
uwsgi_pass unix:///run/uwsgi/app/books-opds.socket;
include uwsgi_params;
uwsgi_modifier1 9;
}
sudo vim /etc/uwsgi/apps-available/books-opds.ini
[uwsgi]
plugins = cgi
socket = /run/uwsgi/app/books-opds.socket
cgi = /b/opds/=/opt/sopds/py
cgi-allowed-ext = .cgi
chown-socket = www-data:www-data
cd /etc/uwsgi/apps-enabled; sudo ln -s ../apps-available/books-opds.ini
sudo service uwsgi restart
sudo service nginx reload
Вот вроде и всё.
The topic has been locked.
- BaMba
-
Topic Author
- Offline
- Новый участник
-
Less
More
- Posts: 1
9 years 4 months ago - 9 years 4 months ago #29
by mitshel
mitshel replied the topic: Пара предложений к версии 0.06
Skipped - действительно есть ошибка. В ближайшее время опубликую исправление.
За комментарии спасибо, обязательно постараюсь учесть.
За комментарии спасибо, обязательно постараюсь учесть.
Last Edit: 9 years 4 months ago by mitshel.
The topic has been locked.
- mitshel
-
- Offline
- Администратор
-
Less
More
- Posts: 297
- Karma: 8
Time to create page: 0.091 seconds