mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-11 09:13:57 -04:00
Fix #1167951 (Restrict the library when running calibre-server)
This commit is contained in:
parent
f13f38b2df
commit
75330d6fd9
@ -91,7 +91,11 @@ First, we have to create a WSGI *adapter* for the calibre content server. Here i
|
|||||||
# Path to the calibre library to be served
|
# Path to the calibre library to be served
|
||||||
# The server process must have write permission for all files/dirs
|
# The server process must have write permission for all files/dirs
|
||||||
# in this directory or BAD things will happen
|
# in this directory or BAD things will happen
|
||||||
path_to_library='/home/kovid/documents/demo library'
|
path_to_library='/home/kovid/documents/demo library',
|
||||||
|
|
||||||
|
# The virtual library (restriction) to be used when serving this
|
||||||
|
# library.
|
||||||
|
virtual_library=None
|
||||||
)
|
)
|
||||||
|
|
||||||
del create_wsgi_app
|
del create_wsgi_app
|
||||||
|
@ -24,7 +24,7 @@ def stop_threaded_server(server):
|
|||||||
server.exit()
|
server.exit()
|
||||||
server.thread = None
|
server.thread = None
|
||||||
|
|
||||||
def create_wsgi_app(path_to_library=None, prefix=''):
|
def create_wsgi_app(path_to_library=None, prefix='', virtual_library=None):
|
||||||
'WSGI entry point'
|
'WSGI entry point'
|
||||||
from calibre.library import db
|
from calibre.library import db
|
||||||
cherrypy.config.update({'environment': 'embedded'})
|
cherrypy.config.update({'environment': 'embedded'})
|
||||||
@ -32,6 +32,7 @@ def create_wsgi_app(path_to_library=None, prefix=''):
|
|||||||
parser = option_parser()
|
parser = option_parser()
|
||||||
opts, args = parser.parse_args(['calibre-server'])
|
opts, args = parser.parse_args(['calibre-server'])
|
||||||
opts.url_prefix = prefix
|
opts.url_prefix = prefix
|
||||||
|
opts.restriction = virtual_library
|
||||||
server = LibraryServer(db, opts, wsgi=True, show_tracebacks=True)
|
server = LibraryServer(db, opts, wsgi=True, show_tracebacks=True)
|
||||||
return cherrypy.Application(server, script_name=None, config=server.config)
|
return cherrypy.Application(server, script_name=None, config=server.config)
|
||||||
|
|
||||||
@ -97,7 +98,6 @@ def daemonize(stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'):
|
|||||||
os.dup2(se.fileno(), sys.stderr.fileno())
|
os.dup2(se.fileno(), sys.stderr.fileno())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def main(args=sys.argv):
|
def main(args=sys.argv):
|
||||||
from calibre.library.database2 import LibraryDatabase2
|
from calibre.library.database2 import LibraryDatabase2
|
||||||
parser = option_parser()
|
parser = option_parser()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user