コード例 #1
0
ファイル: episode_tracking.py プロジェクト: voidpp/Helene
 def get_categ_data(self, categs):
     cats = ",".join([str(x) for x in categs])
     url = "https://tvstore.me/api/%s/episode/tracking?action=getalldata&c=%s" % (
         self.config["tvstore_api_key"],
         cats,
     )
     logger.debug("Fetch categories: %s" % url)
     return HTTP.load_json(url)
コード例 #2
0
ファイル: episode_tracking.py プロジェクト: voidpp/Helene
 def get_categs(self):
     # TODO: python tvs API wrapper...
     url = "https://tvstore.me/api/%s/episode/tracking?action=getgroups" % self.config["tvstore_api_key"]
     logger.debug(
         "Fetch tracking groups: %s from %s" % (", ".join([str(x) for x in self.config["group_id_list"]]), url)
     )
     content = HTTP.load_json(url)
     categs = []
     for grp_id in content:
         if int(grp_id) in self.config["group_id_list"]:
             categs += content[grp_id]["categs"]
     return categs
コード例 #3
0
 def get_categs(self):
     # TODO: python tvs API wrapper...
     url = 'https://tvstore.me/api/%s/episode/tracking?action=getgroups' % self.config[
         'tvstore_api_key']
     logger.debug('Fetch tracking groups: %s from %s' %
                  (', '.join([str(x)
                              for x in self.config['group_id_list']]), url))
     content = HTTP.load_json(url)
     categs = []
     for grp_id in content:
         if int(grp_id) in self.config['group_id_list']:
             categs += content[grp_id]['categs']
     return categs
コード例 #4
0
ファイル: episode_tracking.py プロジェクト: voidpp/Helene
    def get_imdb_airs(self, categs):
        if self.config["air_imdb_server"] is None:
            return {}
        data = dict()
        for categ in categs:
            data[categ["id"]] = dict(
                title=categ["eng_name"],
                imdb_id=categ["imdb_link"],
                after=[categ["curr"]["season"], categ["curr"]["episode"]],
            )

        url = "%s/airdates" % self.config["air_imdb_server"]
        logger.debug("Fetch airdate from imdb: %s from url %s" % (", ".join([str(x) for x in data.keys()]), url))
        return HTTP.load_json(url, json.dumps(data))
コード例 #5
0
ファイル: server_info.py プロジェクト: voidpp/Helene
    def __call__(self):
        data = []

        for server in self.server_list:
            ping = self.ping(server["ip"])
            server["ping"] = ping
            if ping is not None:
                try:
                    server["details"] = HTTP.load_json(server["details_url"])
                except Exception as e:
                    server["details"] = None
            data.append(server)

        return data
コード例 #6
0
ファイル: server_info.py プロジェクト: voidpp/Helene
    def __call__(self):
        data = []

        for server in self.server_list:
            ping = self.ping(server['ip'])
            server['ping'] = ping
            if ping is not None:
                logger.debug("Get status from %s", server['details_url'])
                try:
                    server['details'] = HTTP.load_json(server['details_url'])
                except Exception as e:
                    server['details'] = None
            data.append(server)

        return data
コード例 #7
0
    def fetch_leases(self):
        raw_data = HTTP.load_urls(self.config['uri'])

        leases = []

        for line in raw_data.split("\n"):
            cols = line.split(' ')
            if len(cols) < 2:
                continue
            lease = Lease(*cols)
            data = dict(lease._asdict())
            if lease.mac in self.config['devices']:
                data['hostname'] = self.config['devices'][lease.mac]
            leases.append(data)

        return leases
コード例 #8
0
ファイル: dhcp.py プロジェクト: voidpp/Helene
    def fetch_leases(self):
        raw_data = HTTP.load_urls(self.config["uri"])

        leases = []

        for line in raw_data.split("\n"):
            cols = line.split(" ")
            if len(cols) < 2:
                continue
            lease = Lease(*cols)
            data = dict(lease._asdict())
            if lease.mac in self.config["devices"]:
                data["hostname"] = self.config["devices"][lease.mac]
            leases.append(data)

        return leases
コード例 #9
0
    def get_imdb_airs(self, categs):
        if self.config['air_imdb_server'] is None:
            return {}
        data = dict()
        for categ in categs:
            data[categ['id']] = dict(
                title=categ['eng_name'],
                imdb_id=categ['imdb_link'],
                after=[categ['curr']['season'], categ['curr']['episode']],
            )

        url = '%s/airdates' % self.config['air_imdb_server']
        logger.debug("Fetch airdate from imdb: %s from url %s" %
                     (', '.join([str(x) for x in data.keys()]), url))
        res = HTTP.load_json(url, json.dumps(data))
        if res is None:
            logger.error("Error in load imdb data, result is None")
            res = {}
        return res
コード例 #10
0
ファイル: weather.py プロジェクト: voidpp/Helene
    def __call__(self):
        content = HTTP.load_url(self.__url)
        parser = etree.HTMLParser()
        tree = etree.parse(content, parser)

        return self.fetch_content(tree)
コード例 #11
0
    def __call__(self):
        content = HTTP.load_url(self._url)
        parser = etree.HTMLParser()
        tree = etree.parse(content, parser)

        return self.fetch_content(tree)
コード例 #12
0
 def get_categ_data(self, categs):
     cats = ','.join([str(x) for x in categs])
     url = 'https://tvstore.me/api/%s/episode/tracking?action=getalldata&c=%s' % (
         self.config['tvstore_api_key'], cats)
     logger.debug('Fetch categories: %s' % url)
     return HTTP.load_json(url)