Exemplo n.º 1
0
    def updateCache(self):

        # delete anything older then 7 days
        logger.log(u"Clearing " + self.provider.name + " cache")
        self._clearCache()

        if not self.shouldUpdate():
            return

        if self._checkAuth(None):

            data = self._getRSSData()

            # As long as we got something from the provider we count it as an update
            if data:
                self.setLastUpdate()
            else:
                return []

            parsedJSON = helpers.parse_json(data)

            if parsedJSON is None:
                logger.log(
                    u"Error trying to load " + self.provider.name +
                    " JSON feed", logger.ERROR)
                return []

            if self._checkAuth(parsedJSON):
                if parsedJSON and 'data' in parsedJSON:
                    items = parsedJSON['data']
                else:
                    logger.log(
                        u"Resulting JSON from " + self.provider.name +
                        " isn't correct, not parsing it", logger.ERROR)
                    return []

                ql = []
                for item in items:

                    ci = self._parseItem(item)
                    if ci is not None:
                        ql.append(ci)

                if ql:
                    myDB = self._getDB()
                    myDB.mass_action(ql)

            else:
                raise exceptions.AuthException(
                    "Your authentication info for " + self.provider.name +
                    " is incorrect, check your config")

        else:
            return []
Exemplo n.º 2
0
    def updateCache(self):

        # delete anything older then 7 days
        self._clearCache()

        if not self.shouldUpdate():
            return

        if self._checkAuth(None):

            parsedJSON = self._getRSSData()
            if not parsedJSON:
                logger.log(
                    u"Error trying to load " + self.provider.name +
                    " JSON feed", logger.ERROR)
                return []

            # mark updated
            self.setLastUpdate()

            if self._checkAuth(parsedJSON):
                if parsedJSON and 'data' in parsedJSON:
                    items = parsedJSON['data']
                else:
                    logger.log(
                        u"Resulting JSON from " + self.provider.name +
                        " isn't correct, not parsing it", logger.ERROR)
                    return []

                cl = []
                for item in items:
                    ci = self._parseItem(item)
                    if ci is not None:
                        cl.append(ci)

                if len(cl) > 0:
                    myDB = self._getDB()
                    myDB.mass_action(cl)
            else:
                raise exceptions.AuthException(
                    "Your authentication info for " + self.provider.name +
                    " is incorrect, check your config")
        else:
            return []