Commit 794c1e39 authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

Set logfiles for server info output

parent 50e85a18
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -6,10 +6,11 @@ import errno

from django.conf import settings
from django.core.management.base import BaseCommand
from django.core.handlers.wsgi import WSGIHandler
from django.core.servers.basehttp import get_internal_wsgi_application, run 
from django.utils.encoding import force_text

from opds_catalog.settings import SERVER_LOG

class Command(BaseCommand):
    help = 'HTTP/OPDS built-in server'

@@ -105,13 +106,20 @@ def daemonize():
    if os.fork():   # launch child and...
        os._exit(0) # kill off parent again.
    os.umask(0)
    null = os.open("/dev/null", os.O_RDWR)
    for i in range(3):
        try:
            os.dup2(null, i)
        except OSError as e:
            if e.errno != errno.EBADF:
                raise

    std_in = open("/dev/null", 'r')
    std_out = open(SERVER_LOG, 'a+')
    os.dup2(std_in.fileno(), sys.stdin.fileno())
    os.dup2(std_out.fileno(), sys.stdout.fileno())
    os.dup2(std_out.fileno(), sys.stderr.fileno())    
    
#    null = os.open("/dev/null", os.O_RDWR)
#    for i in range(3):
#        try:
#            os.dup2(null, i)
#        except OSError as e:
#            if e.errno != errno.EBADF:
#                raise
    os.close(null)

+18 −0
Original line number Diff line number Diff line
from django.core.management.base import BaseCommand
from django.core.management import call_command
from opds_catalog import opdsdb

class Command(BaseCommand):
    help = 'Utils for SOPDS.'

    def add_arguments(self, parser):
        parser.add_argument('--clear',action='store_true', dest='clear', default=False, help='Clear opds database.')

    def handle(self, *args, **options):
        if options['clear']:
            self.stdout.write('Clear book database.')

    def clear(self,verbose=False):
        opdsdb.clear_all()
        call_command('loaddata', 'genre.json', app_label='opds_catalog') 
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ ALPHABET_MENU = getattr(settings, "SOPDS_ALPHABET_MENU", True)
BOOK_SHELF = getattr(settings, "SOPDS_BOOK_SHELF", True)
NOCOVER_PATH = getattr(settings, "SOPDS_NOCOVER_PATH", os.path.join(settings.BASE_DIR,'static/images/nocover.jpg'))
AUTH = getattr(settings, "SOPDS_AUTH", False)
SERVER_LOG = getattr(settings, "SOPDS_SERVER_LOG", os.path.join(settings.BASE_DIR,'log/sopds_server.log'))

TITLE = getattr(settings, "SOPDS_TITLE", "SimpleOPDS")
SUBTITLE = getattr(settings, "SOPDS_SUBTITLE", "SimpleOPDS Catalog by www.sopds.ru. Version %s."%sopds_version)