def custom_css(self): if sickbeard.CUSTOM_CSS_PATH and ek(os.path.isfile, sickbeard.CUSTOM_CSS_PATH): self.set_header(b'Content-Type', 'text/css') with open(sickbeard.CUSTOM_CSS_PATH, 'r') as content: return content.read() return None
def sickchill_background(self): if sickbeard.SICKCHILL_BACKGROUND_PATH and ek( os.path.isfile, sickbeard.SICKCHILL_BACKGROUND_PATH): self.set_header(b'Content-Type', guess_type(sickbeard.SICKCHILL_BACKGROUND_PATH)[0]) with open(sickbeard.SICKCHILL_BACKGROUND_PATH, 'rb') as content: return content.read() return None
def locale_json(self): """ Get /locale/{lang_code}/LC_MESSAGES/messages.json """ locale_file = ek(os.path.normpath, '{locale_dir}/{lang}/LC_MESSAGES/messages.json'.format( locale_dir=sickbeard.LOCALE_DIR, lang=sickbeard.GUI_LANG)) if os.path.isfile(locale_file): self.set_header(b'Content-Type', 'application/json') with open(locale_file, 'r') as content: return content.read() else: self.set_status(204) # "No Content" return None
def __init__(self, **options): self.options = options self.urls = [ url(r'{0}/favicon.ico'.format(self.options['web_root']), StaticFileHandler, { "path": ek(os.path.join, self.options['data_root'], 'images/ico/favicon.ico') }, name='favicon'), url(r'{0}/images/(.*)'.format(self.options['web_root']), StaticFileHandler, { "path": ek(os.path.join, self.options['data_root'], 'images') }, name='images'), url(r'{0}/cache/images/(.*)'.format(self.options['web_root']), StaticFileHandler, {"path": ek(os.path.join, sickbeard.CACHE_DIR, 'images')}, name='image_cache'), url(r'{0}/css/(.*)'.format(self.options['web_root']), StaticFileHandler, {"path": ek(os.path.join, self.options['data_root'], 'css')}, name='css'), url(r'{0}/js/(.*)'.format(self.options['web_root']), StaticFileHandler, {"path": ek(os.path.join, self.options['data_root'], 'js')}, name='js'), url(r'{0}/fonts/(.*)'.format(self.options['web_root']), StaticFileHandler, {"path": ek(os.path.join, self.options['data_root'], 'fonts')}, name='fonts'), # TODO: WTF is this? # url(r'{0}/videos/(.*)'.format(self.options['web_root']), StaticFileHandler, # {"path": self.video_root}, name='videos'), url(r'{0}(/?.*)'.format(self.options['api_root']), ApiHandler, name='api'), url(r'{0}/getkey(/?.*)'.format(self.options['web_root']), KeyHandler, name='get_api_key'), url(r'{0}/api/builder'.format(self.options['web_root']), RedirectHandler, {"url": self.options['web_root'] + '/apibuilder/'}, name='apibuilder'), url(r'{0}/login(/?)'.format(self.options['web_root']), LoginHandler, name='login'), url(r'{0}/logout(/?)'.format(self.options['web_root']), LogoutHandler, name='logout'), url(r'{0}/calendar/?'.format(self.options['web_root']), CalendarHandler, name='calendar') # routes added by @route decorator # Plus naked index with missing web_root prefix ] + Route.get_routes(self.options['web_root'])