def main(): """Fonction principale de mise à jour des données GPS""" # Initialisation de la connexion à la base de données database = Database() # Authentification auprès de l'API (->récupération token) api = Api() # Récupération de la liste des capteur actif # et de leur date de dernière synchronisation capteurs = database.selectCapteurs() # On boucle sur les capteurs pour récupérer les données for capteur in capteurs: capt_id = capteur['capt_id'] deviceId = capteur['capt_id_constructeur'] dtStart = capteur['loc_date_utc'].strftime("%Y-%m-%dT%H:%M:%S") responses = api.getlocalisation(deviceId, dtStart) # On boucle sur les nouvelles localisations GPS for response in responses: loc_long = response['Longitude'] loc_lat = response['Latitude'] loc_dop = response['PDOP'] loc_altitude_capteur = response['Altitude'] loc_temperature_capteur = response['Temperature'] loc_date_capteur_utc = response['RecDateTime'] if loc_long == 0 and loc_lat == 0: # Ici on n'a pas de coordonnées pour ce capteur à cette date loc_commentaire = 'Erreur : Pas de coordonnées' loc_anomalie = True database.insertNoLocData(capt_id, loc_dop, loc_altitude_capteur, loc_temperature_capteur, loc_date_capteur_utc, loc_commentaire, loc_anomalie) else: # Ici il n'y a pas d'anomalie dans les coordonnées database.insertLocData(capt_id, loc_long, loc_lat, loc_dop, loc_altitude_capteur, loc_temperature_capteur, loc_date_capteur_utc) # Fermeture de la connexion à la base de données database.close()
def test_read_issues(self): dummyDbg = lambda x: None fixture = Api("no token", "https://foo.com", dummyDbg) #fixture.get_intellisense_suggestions("test") res: Sequence[ IntellisenseResult] = fixture.parse_intellisense_suggestions( self.testdata.encode("UTF-8")) assert len(res) == 4 assert self.equals( res[0], IntellisenseResult(start=0, end=2, description="by updated", option="updated", full_option="updated:", prefix=None, suffix=":"))
def __init__(self): # Api.__init__(self, 'http://btgexp.com') Api.__init__(self, 'http://btgblocks.com')
def main(): parser = argparse.ArgumentParser() parser.add_argument('--summoner', help='summoner name') parser.add_argument('--match_id', help='match id') parser.add_argument('--roles', help='comma separated list of possible roles') parser.add_argument('--lanes', help='comma separated list of possible lanes') parser.add_argument('--champions', help='comma separated list of possible champions') parser.add_argument('--teammate', help='teammate under consideration') parser.add_argument('--teammates', help='comma separated list of teammates') parser.add_argument('--request', help='api request') parser.add_argument('--output', default="json", help='print as json|csv') args, unknown = parser.parse_known_args() with open("etc/config.json") as jdata: # initialization config = json.load(jdata) api = Api(config) analytics = Analytics(api) # parse arguments if args.roles is not None: roles = args.roles.split(",") else: roles = None if args.lanes is not None: lanes = args.lanes.split(",") else: lanes = None if args.champions is not None: champions = args.champions.split(",") else: champions = None if args.teammates is not None: teammates = args.teammates.split(",") if args.summoner is not None: teammates.remove(args.summoner) if args.teammate is not None: teammates.remove(args.teammate) else: teammates = None # print("roles={}".format(json.dumps(roles))) # print("lanes={}".format(json.dumps(lanes))) # print("champions={}".format(json.dumps(champions))) # print("teammates={}".format(json.dumps(teammates))) # basic requests if args.request == "get_summoner_by_name": resp = api.get_summoner_by_name(args.summoner) if args.output == "json": print(json.dumps(resp)) if args.request == "get_matchlist_by_summoner": resp = api.get_matchlist_by_summoner(args.summoner) payload = analytics.get_matchlist(resp, roles, lanes) if args.output == "json": for record in payload: print(json.dumps(record)) if args.request == "get_champions_by_player": resp = api.get_matchlist_by_summoner(args.summoner) payload = analytics.get_champions_by_player( resp, args.summoner, champions) if args.output == "json": for record in payload: print(json.dumps(record)) elif args.output == "df": analytics.pretty_print_champion_player(payload) if args.request == "get_match_by_id": resp = api.get_match_by_id(args.match_id) payload = analytics.summarize_match(resp) if args.output == "json": print(json.dumps(payload)) elif args.output == "csv": analytics.pretty_print_match(payload) if args.request == "get_matchdata_by_summoner": resp = api.get_matchlist_by_summoner(args.summoner) payload = analytics.get_matchdata_by_summoner(resp) for match in payload: analytics.pretty_print_match(match) print("found {} games".format(len(payload))) if args.request == "filter_match_by_data": resp = api.get_match_by_id(args.match_id) print( analytics.filter_match_by_data(resp, args.summoner, roles, lanes)) # analytics requests if args.request == "get_stats_by_role": resp = api.get_matchlist_by_summoner(args.summoner) payload = analytics.get_stats_by_role(resp, args.summoner, roles, lanes) analytics.pretty_print_stats(payload, args.summoner) if args.request == "get_stats_by_champion": resp = api.get_matchlist_by_summoner(args.summoner) payload = analytics.get_stats_by_champion(resp, args.summoner, champions=champions, teammates=teammates) analytics.pretty_print_teammates(payload, args.summoner, teammates=teammates) if args.request == "get_impact_by_team": for teammate in teammates: resp = api.get_matchlist_by_summoner(teammate) payload = analytics.get_stats_by_champion(resp, teammate, champions=champions, teammates=teammates) analytics.pretty_print_impact_by_team(payload, teammate) if args.request == "get_impact_of_teammate": summary = {"WinsMore": {}, "LosesMore": {}} for teammate in teammates: payload = analytics.pretty_print_impact_of_teammate( teammates, teammate=teammate) for summoner in payload["WinsMore"]: if summoner not in summary["WinsMore"]: summary["WinsMore"][summoner] = 1 else: summary["WinsMore"][summoner] += 1 for summoner in payload["LosesMore"]: if summoner not in summary["LosesMore"]: summary["LosesMore"][summoner] = 1 else: summary["LosesMore"][summoner] += 1 print(json.dumps(summary))
def __init__(self): Api.__init__(self, 'https://api.coindesk.com/v1/')
def setUpClass(cls): with open("etc/config.json") as jdata: config = json.load(jdata) print("setting up class: {}".format(json.dumps(config))) cls.api = Api(config) cls.analytics = Analytics(cls.api)
def __init__(self): Api.__init__(self, 'http://sonoexplorer.com')
def __init__(self, base_url="http://localhost:3000"): self.base_url = base_url Api.__init__(self, self.base_url)
def __init__(self): Api.__init__(self, 'http://arc.altexplorer.co')
def __init__(self): Api.__init__(self, 'https://whattomine.com/') self._coins = []
def __init__(self): Api.__init__(self, 'https://api.coinmarketcap.com/v1/') self.coin_map = json.loads(open('./lib/cmc_currencies.json').read())