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)
Ejemplo n.º 2
0
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