Esempio n. 1
0
 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
Esempio n. 2
0
 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
Esempio n. 3
0
    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
Esempio n. 4
0
    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'])