def main(argv): download = True merge_addresses = True bis = True use_external_data = True split_result = True i = 1 while i < len(argv): if argv[i].startswith("-"): if argv[i] in ["-h", "-help","--help"]: command_line_error(None, HELP_MESSAGE) elif argv[i] in ["-nobis"]: bis = False del(argv[i:i+1]) elif argv[i] in ["-nd", "-nodownload"]: download = False del(argv[i:i+1]) elif argv[i] in ["-data"]: merge_addresses = False del(argv[i:i+1]) elif argv[i] in ["-ne"]: use_external_data = False del(argv[i:i+1]) elif argv[i] in ["-nzip"]: split_result = False del(argv[i:i+1]) else: command_line_error(u"option invalide: " + argv[i], HELP_MESSAGE) return else: i = i + 1 if len(argv) <= 1: command_line_open_cadastre_website(argv) return elif len(argv) == 2: error = command_line_open_cadastre_website(argv) if error: command_line_error(error, HELP_MESSAGE) elif len(argv) > 3: command_line_error(u"trop d'arguments", HELP_MESSAGE) else: try: cadastreWebsite = command_line_open_cadastre_website(argv) if type(cadastreWebsite) in [str, unicode]: command_line_error(cadastreWebsite) return else: code_departement = cadastreWebsite.code_departement code_commune = cadastreWebsite.code_commune nom_commune = cadastreWebsite.communes[code_commune] write_string_to_file("", code_commune + "-" + nom_commune + ".txt") except urllib2.URLError: if download: command_line_error(u"problème de connexion au site du cadastre", HELP_MESSAGE) return else: sys.stdout.write(u"problème de connexion au site du cadastre\n".encode("utf-8")); code_departement = argv[1] code_commune = argv[2] nom_commune = "inconnu" cadastre_2_osm_addresses(cadastreWebsite, code_departement, code_commune, nom_commune, download, bis, merge_addresses, use_external_data, split_result)
def cadastre_2_pdfs(argv): i = 1 ratio=PDF_DOWNLOAD_PIXELS_RATIO mode=PDF_DOWNLOAD_SPLIT_MODE nb=PDF_DOWNLOAD_SPLIT_NB size=PDF_DOWNLOAD_SPLIT_SIZE wait=PDF_DOWNALOD_WAIT_SECONDS bbox=None while i < len(argv): if argv[i].startswith("-"): if argv[i] in ["-h", "-help","--help"]: command_line_error(None, HELP_MESSAGE) elif argv[i] in ["-r", "-ratio","--ratio"]: ratio = float(argv[i+1]) del(argv[i:i+2]) elif argv[i] in ["-s", "-size","--size"]: size = int(argv[i+1]) mode = "SIZE" del(argv[i:i+2]) elif argv[i] in ["-n", "-nb","--nb"]: nb = int(argv[i+1]) mode = "NB" del(argv[i:i+2]) elif argv[i] in ["-w", "-wait","--wait"]: wait = float(argv[i+1]) del(argv[i:i+2]) elif argv[i] in ["-b", "-bbox","--bbox"]: bbox = argv[i+1] if not BBOX_OPTION_FORMAT.match(bbox): command_line_error(u"paramètre bbox invalide: " + bbox, HELP_MESSAGE) return bbox = map(float,bbox.split(",")) del(argv[i:i+2]) else: command_line_error(u"option invalide: " + argv[i], HELP_MESSAGE) return else: i = i + 1 else: cadastreWebsite = command_line_open_cadastre_website(argv) if type(cadastreWebsite) in [str, unicode]: command_line_error(cadastreWebsite, HELP_MESSAGE) elif cadastreWebsite != None: code_departement = cadastreWebsite.code_departement code_commune = cadastreWebsite.code_commune nom_commune = cadastreWebsite.communes[code_commune] sys.stderr.write((u"Teléchargement des PDFs de la commune " + code_commune + " : " + nom_commune + "\n").encode("utf-8")) sys.stderr.flush() write_string_to_file("", code_commune + "-" + nom_commune + ".txt") result = [] for f in download_pdfs(cadastreWebsite, code_departement, code_commune,mode=mode,size=size,nb=nb,ratio=ratio,wait=wait,force_bbox=bbox): sys.stdout.write(f) sys.stdout.write("\n") sys.stdout.flush() result.append(f) return result