Example #1
0
 def get(self, slug):
     source = FileSource.get_by_slug(slug)
     if source:
         td = default_template_data()
         td["sources_selected"] = True
         td["source"] = source
         td["qualities"] = ["HD","SD"]
         self.render(td, 'admin/sources_instance.html')
     else:
         self.not_found()
Example #2
0
 def get(self, slug):
     source = FileSource.get_by_slug(slug)
     if source:
         td = default_template_data()
         td["sources_selected"] = True
         td["source"] = source
         td["qualities"] = ["HD", "SD"]
         self.render(td, "admin/sources_instance.html")
     else:
         self.not_found()
Example #3
0
    def get(self, slug):
        existing = FileSource.get_by_slug(slug)
        if not existing:
            self.not_found()
            return

        if existing.files is not None:
            for mf in existing.files:
                mf.delete()

        existing.delete()
        invalidate_cache("sources")

        self.redirect("/admin/sources")
Example #4
0
    def get(self, slug):
        existing = FileSource.get_by_slug(slug)
        if not existing:
            self.not_found()
            return

        if existing.files is not None:
            for mf in existing.files:
                mf.delete()

        existing.delete()
        invalidate_cache("sources")

        self.redirect("/admin/sources")
Example #5
0
    def post(self):
        """
            name        -- string: The name of this file source
            slug        -- stirng: URL friendly version of the name
            rssUrl      -- string: The rss feed url 
            quality     -- string: The quality of the files in this source
            zipped      -- boolean: Are the files from this source zip files?
            authorizationRequired   -- boolean: When downloading the file, is authorization required?
            authUsername    -- string: authorization username
            authPassword    -- string: authorization password
        """
        name = self.request.get("name", default_value=None)
        rssUrl = self.request.get("rssUrl", default_value=None)
        quality = self.request.get("quality", default_value=None)
        zipped = self.request.get("zipped", default_value=False) == "true"
        authorizationRequired = self.request.get("authorizationRequired", default_value=False) == "true"
        authUsername = self.request.get("authUsername", default_value=None)
        authPassword = self.request.get("authPassword", default_value=None)

        if not name or not rssUrl or not quality:
            self.error(400, "Bad Data: Name: %s, rssUrl: %s, quality: %s" % (name, rssUrl, quality))
            return

        slug = slugify.slugify(name)
        existing_s = FileSource.get_by_slug(slug)

        if existing_s:
            self.error(400, "A source with this name already exists")
            return

        s = FileSource(
            name=name,
            slug=slug,
            rssUrl=rssUrl,
            quality=quality,
            zipped=zipped,
            authorizationRequired=authorizationRequired,
            authUsername=authUsername,
            authPassword=authPassword,
        )
        s.put()

        invalidate_cache("sources")

        self.redirect("/admin/sources/" + slug)
Example #6
0
    def post(self, slug):
        """
            name        -- string: The name of this file source
            slug        -- stirng: URL friendly version of the name
            rssUrl      -- string: The rss feed url 
            quality     -- string: The quality of the files in this source
            zipped      -- boolean: Are the files from this source zip files?
            authorizationRequired   -- boolean: When downloading the file, is authorization required?
            authUsername    -- string: authorization username
            authPassword    -- string: authorization password
        """

        existing_s = FileSource.get_by_slug(slug)
        if not existing_s:
            self.error(400, "Cannot find an existing source to edit")
            return

        name = self.request.get('name', default_value=None)
        newSlug = slugify.slugify(name)
        rssUrl = self.request.get('rssUrl', default_value=None)
        quality = self.request.get('quality', default_value=None)
        zipped = self.request.get('zipped', default_value=False) == "true"
        authorizationRequired = self.request.get('authorizationRequired', default_value=False) == "true"
        authUsername = self.request.get('authUsername', default_value=None)
        authPassword = self.request.get('authPassword', default_value=None)

        if not name or not rssUrl or not quality:
            self.error(400, "Bad Data: Name: %s, rssUrl: %s, quality: %s" % (name, rssUrl, quality))
            return

        existing_s.name = name
        existing_s.slug = newSlug
        existing_s.rssUrl = rssUrl
        existing_s.quality = quality
        existing_s.zipped = zipped
        existing_s.authorizationRequired = authorizationRequired
        existing_s.authUsername = authUsername
        existing_s.authPassword = authPassword

        existing_s.put()

        invalidate_cache("sources")

        self.redirect("/admin/sources/"+newSlug)