Commit 3ef45d0d authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

Restore old start method for server

parent 0af1c75c
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -9,13 +9,20 @@

    
## Установка
pip install -r requirements.txt
manage.py migrate
manage.py createsuperuser (admin:ma*ka)

Внести изменения в settings.py
## Настраиваем ./sopds/settings.py
SOPDS_ROOT_LIB = < Путь к каталогу с книгами >
SOPDS_AUTH = < False | True >

manage.py sopds --clear
manage.py sopds --scan
## Готовим базу данных
manage.py sopds_util --clear

## Вручную запускаем сканирование коллекции книг
manage.py sopds_scanner --scan

## Запускаем http/opds сервер
manage.py sopds_server start --daemon
+1.93 KiB

File added.

No diff preview for this file type.

+1.38 KiB

File added.

No diff preview for this file type.

+16 −27
Original line number Diff line number Diff line
import logging
from django.core.management.base import BaseCommand, CommandError
from django.core.management.base import BaseCommand
from django.db import transaction
from django.core.management import call_command

from opds_catalog.models import Counter
from opds_catalog.sopdscan import opdsScanner
from opds_catalog import opdsdb, settings
from opds_catalog import settings

class Command(BaseCommand):
    help = 'Scan Books Collection.'
@@ -13,8 +12,6 @@ class Command(BaseCommand):
    def add_arguments(self, parser):
        parser.add_argument('--verbose',action='store_true', dest='verbose', default=False, help='Set verbosity level for books collection scan.')
        parser.add_argument('--scan',action='store_true', dest='scan', default=False, help='Scan book collection.')
        parser.add_argument('--clear',action='store_true', dest='clear', default=False, help='Clear opds database.')


    def handle(self, *args, **options):             
        logger = logging.getLogger('')
@@ -38,21 +35,13 @@ class Command(BaseCommand):
        if options['scan']:
            self.stdout.write('Startup book-scan function.')
            self.scan(logger, options['verbose'])
        if options['clear']:
            self.stdout.write('Clear book database.')
            self.clear(options['verbose'])

        self.update_counters(logger)

    def scan(self, logger, verbose=False):
        scanner=opdsScanner(logger)
        with transaction.atomic():
            scanner.scan_all()

    def update_counters(self, logger):
        Counter.objects.update_known_counters()    

    def clear(self,verbose=False):
        opdsdb.clear_all()
        call_command('loaddata', 'genre.json', app_label='opds_catalog') 
        
 
Loading