mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-01 00:43:37 +00:00
0d9fbc1ad7
This version of SickBeard uses both TVDB and TVRage to search and gather it's series data from allowing you to now have access to and download shows that you couldn't before because of being locked into only what TheTVDB had to offer. Also this edition is based off the code we used in our XEM editon so it does come with scene numbering support as well as all the other features our XEM edition has to offer. Please before using this with your existing database (sickbeard.db) please make a backup copy of it and delete any other database files such as cache.db and failed.db if present, we HIGHLY recommend starting out with no database files at all to make this a fresh start but the choice is at your own risk! Enjoy!
62 lines
2.6 KiB
Python
62 lines
2.6 KiB
Python
"""WSGI server interface (see PEP 333). This adds some CP-specific bits to
|
|
the framework-agnostic wsgiserver package.
|
|
"""
|
|
import sys
|
|
|
|
import cherrypy
|
|
from cherrypy import wsgiserver
|
|
|
|
|
|
class CPHTTPRequest(wsgiserver.HTTPRequest):
|
|
pass
|
|
|
|
|
|
class CPHTTPConnection(wsgiserver.HTTPConnection):
|
|
pass
|
|
|
|
|
|
class CPWSGIServer(wsgiserver.CherryPyWSGIServer):
|
|
"""Wrapper for wsgiserver.CherryPyWSGIServer.
|
|
|
|
wsgiserver has been designed to not reference CherryPy in any way,
|
|
so that it can be used in other frameworks and applications. Therefore,
|
|
we wrap it here, so we can set our own mount points from cherrypy.tree
|
|
and apply some attributes from config -> cherrypy.server -> wsgiserver.
|
|
"""
|
|
|
|
def __init__(self, server_adapter=cherrypy.server):
|
|
self.server_adapter = server_adapter
|
|
self.max_request_header_size = self.server_adapter.max_request_header_size or 0
|
|
self.max_request_body_size = self.server_adapter.max_request_body_size or 0
|
|
|
|
server_name = (self.server_adapter.socket_host or
|
|
self.server_adapter.socket_file or
|
|
None)
|
|
|
|
self.wsgi_version = self.server_adapter.wsgi_version
|
|
s = wsgiserver.CherryPyWSGIServer
|
|
s.__init__(self, server_adapter.bind_addr, cherrypy.tree,
|
|
self.server_adapter.thread_pool,
|
|
server_name,
|
|
max=self.server_adapter.thread_pool_max,
|
|
request_queue_size=self.server_adapter.socket_queue_size,
|
|
timeout=self.server_adapter.socket_timeout,
|
|
shutdown_timeout=self.server_adapter.shutdown_timeout,
|
|
)
|
|
self.protocol = self.server_adapter.protocol_version
|
|
self.nodelay = self.server_adapter.nodelay
|
|
|
|
ssl_module = self.server_adapter.ssl_module or 'pyopenssl'
|
|
if self.server_adapter.ssl_context:
|
|
adapter_class = wsgiserver.get_ssl_adapter_class(ssl_module)
|
|
self.ssl_adapter = adapter_class(
|
|
self.server_adapter.ssl_certificate,
|
|
self.server_adapter.ssl_private_key,
|
|
self.server_adapter.ssl_certificate_chain)
|
|
self.ssl_adapter.context = self.server_adapter.ssl_context
|
|
elif self.server_adapter.ssl_certificate:
|
|
adapter_class = wsgiserver.get_ssl_adapter_class(ssl_module)
|
|
self.ssl_adapter = adapter_class(
|
|
self.server_adapter.ssl_certificate,
|
|
self.server_adapter.ssl_private_key,
|
|
self.server_adapter.ssl_certificate_chain)
|