def get_export(code_com, num_ordre, nro): num_ordre = "%05d" % int(num_ordre) code = code_com + '/' + nro + '/PB/' + num_ordre print('Création de la fiche export pour: ' + code) objectid_obj = sql("select objectid from ftth_zone_eligibilite where code_com='" + code_com + "' and type_pf='PB' and id_metier_pf='" + code + "'") objectid_obj = sql_response_as_list(objectid_obj)[0] if objectid_obj and 'objectid' in objectid_obj: objectid = objectid_obj['objectid'] else: objectid_obj = sql("select objectid from ftth_pf where code_com='" + code_com + "' and type_pf='PB' and id_metier_pf='" + code + "'") objectid_obj = sql_response_as_list(objectid_obj)[0] if objectid_obj and 'objectid' in objectid_obj: objectid = objectid_obj['objectid'] else: return None filename_exportImbSoe =\ loads( b64decode( get("http://geofibre.sso.francetelecom.fr/RestFmkSrvDeploy/orion/applications/clientorion/keepalive?url=" + quote("http://localhost/RestFmkSrvDeploy/orion/applications/clientorion/arcgis/rest/services/geofibre/short_soe/MapServer/exts/ExportImb/ExportImbZone?objectId=" + objectid + "&layerImbId=5&layerZoneId=20&token=unknow&auteur=djhc1710&nomChampIdMetierZone=id_metier_ze&zone_geo=METROPOLE") ).replace(b'|FT|', b'') ).decode() )['filename'] export =\ b64decode( loads( get("http://geofibre.sso.francetelecom.fr/RestFmkSrvDeploy/orion/applications/clientorion/exportImb?token=unknow&auteur=djhc1710&filename=" + quote(filename_exportImbSoe) ).decode('utf-8') )['detail'].replace('\n', '')) with open(__JOB_PATH__ + sep + code.replace('/', '_') + '.csv', 'wb') as file_: file_.write(codecs.BOM_UTF8) file_.write(export)
export =\ b64decode( loads( get("http://geofibre.sso.francetelecom.fr/RestFmkSrvDeploy/orion/applications/clientorion/exportImb?token=unknow&auteur=djhc1710&filename=" + quote(filename_exportImbSoe) ).decode('utf-8') )['detail'].replace('\n', '')) with open(__JOB_PATH__ + sep + code.replace('/', '_') + '.csv', 'wb') as file_: file_.write(codecs.BOM_UTF8) file_.write(export) codes = sql("select num_ordre, code_com, id_metier_site, type_site from ftth_pf where num_ordre_pf_pere='" + code_ + "' and type_pf='PB' and code_com='" + insee + "'") print('\n\n => PFs de type PB ayant pour PF père ' + code_ + ' et INSEE ' + insee) print(prettify_sql_response(codes)) codes = sql_response_as_list(codes) listPB = [] for i, code in enumerate(codes): get_export(code['code_com'], code['num_ordre'], nro) listPB.append({}) listPB[i]['PB'] = code['num_ordre'] if code['type_site'] == 'Appui FTTH': sql_return = sql("select num_voie, nom_voie, commentaire from ftth_site_appui_ft where id_metier_site='" + code['id_metier_site'] + "'") print('\n\n => Infos: num_voie, nom_voie, commentaire pour id_metier_site ' + code['id_metier_site']) print(prettify_sql_response(sql_return))
if not code_IMM: continue if not re.match(r'IMB\/(?P<insee>.*?)\/.*?\/.*?', code_IMM): continue print(code_IMM) m = re.match(r'IMB\/(?P<insee>.*?)\/.*?\/.*?', code_IMM) INSEE = m.group('insee') if re.match("^IM.*?", cell.Value()): pb_vers_pa = 'souterrain' type_site = 'immeuble' id_metier_site = current_row.Cells(1).Value() elif re.match("^PB.*?", cell.Value()): PB = cell.Value().replace('PB', '') sql_ret = sql( "select type_site, id_metier_site, commentaire " "from ftth_pf " "where num_ordre='" + PB + "' " "and code_com='" + INSEE + "'" ) sql_ret = sql_response_as_list(sql_ret)[0] # Les appuis ERDF et FT ne figurent pas encore dans la BDD donc # on rajoutera des commentaires (un genre de hack) if (sql_ret['commentaire'] and 'APPUI ERDF' in sql_ret['commentaire']): type_site = 'sur appui ERDF' id_metier_site = 'APPUI ERDF' pb_vers_pa = u'aéro-souterrain' elif (sql_ret['commentaire'] and 'APPUI FT' in sql_ret['commentaire']): type_site = 'sur appui FT' id_metier_site = 'APPUI FT' pb_vers_pa = u'aéro-souterrain'