123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import config
- from class_xml import XML
- from source import *
- def find_id():
- t = int(input('Sélectionnez la source :\n\t1 : ratp\n\t2 : transilien\n\t3 : jcdecaux_vls (vélos en libre service)\n'))
- if t == 1: # RATP
- dic = SourceProvider_ratp().dic_of_names()
- elif t == 2: # transilien
- dic = SourceProvider_transilien().dic_of_names()
- elif t == 3: # jcdecaux_vls
- print('Téléchargment de la liste des villes...')
- xml_contracts = XML(url='https://api.jcdecaux.com/vls/v1/contracts?apiKey=' + config.api_key['jcdecaux_vls'], lang='json')
- contracts = {tag.find('name').string : tag.commercial_name.string for tag in xml_contracts.data.json.children}
- while True:
- print('Choisissez une ville :')
- for (name, commercial_name) in contracts.items():
- print(name + ' (' + commercial_name + ')')
- print("toutes (toutes les villes)\n")
- contract = input()
- if contract == 'toutes':
- contract = None
- break;
- if contract in contracts:
- break;
- print("Ville inconnue !\n\n")
- dic = SourceProvider_jcdecaux_vls().dic_of_names(contract)
- else:
- raise ValueError('mauvaise réponse !')
- # find an id in dic
- while True:
- pat = input('Rechercher (ctrl+c pour quitter) : ').lower()
- print('Correspondances :')
- for key, value in dic.items():
- if pat in value.lower():
- print(key + ' :\t' + value)
- find_id()
|