parameters: (
      data_dir, docker_ed, docker_cities, output_file, ed_component_path, cities_file, cities_exec_path
  )
docstring: Load all data from a directory to an single output file.
      It can load all the data directly from the directory or in each sub-directories for each data kind.
  
      :param data_dir: the path of the directory containing all the data ("*.osm", "*.gtfs", ...)
      :param docker_ed: the Docker for the "*2ed" binaries
      :param docker_cities: the Docker for the "cities" binary
      :param output_file: the name of the output file (usually with extension ".nav.lz4")
      :param ed_component_path: the path of the directory containing all the binaries for data ("*2ed" and "ed2nav")
      :param cities_file: the path to the file loaded by "cities" (usually a *.osm.pbf)
      :param cities_exec_path: the path of the directory containing the "cities" binary
docstring_summary: Load all data from a directory to an single output file.
      It can load all the data directly from the directory or in each sub-directories for each data kind.
docstring_tokens: Load all data from a directory to an single output file . It can load all the data directly from the directory or in each sub - directories for each data kind .
function: def generate_nav(
      data_dir, docker_ed, docker_cities, output_file, ed_component_path, cities_file, cities_exec_path
  ):
      # type: (str, DockerWrapper, DockerWrapper, str, str, str, str) -> None
      """
      Load all data from a directory to an single output file.
      It can load all the data directly from the directory or in each sub-directories for each data kind.
  
      :param data_dir: the path of the directory containing all the data ("*.osm", "*.gtfs", ...)
      :param docker_ed: the Docker for the "*2ed" binaries
      :param docker_cities: the Docker for the "cities" binary
      :param output_file: the name of the output file (usually with extension ".nav.lz4")
      :param ed_component_path: the path of the directory containing all the binaries for data ("*2ed" and "ed2nav")
      :param cities_file: the path to the file loaded by "cities" (usually a *.osm.pbf)
      :param cities_exec_path: the path of the directory containing the "cities" binary
      """
      cities_db_params = docker_cities.get_db_params()
      update_db(cities_db_params, ALEMBIC_PATH_CITIES)
  
      ed_db_params = docker_ed.get_db_params()  # type: DbParams
      update_db(ed_db_params, ALEMBIC_PATH_ED)
  
      if cities_file:
          load_cities(cities_file, cities_db_params, cities_exec_path)
  
      data_dirs = [
          os.path.join(data_dir, sub_dir_name)
          for sub_dir_name in os.listdir(data_dir)
          if os.path.isdir(os.path.join(data_dir, sub_dir_name))
      ] or [
          data_dir
      ]  # if there is no sub dir, we import only the files in the dir
  
      load_data(data_dirs, ed_db_params, ed_component_path)
  
      binarize(ed_db_params, output_file, ed_component_path, cities_db_params)
function_tokens: def generate_nav ( data_dir , docker_ed , docker_cities , output_file , ed_component_path , cities_file , cities_exec_path ) : # type: (str, DockerWrapper, DockerWrapper, str, str, str, str) -> None cities_db_params = docker_cities . get_db_params ( ) update_db ( cities_db_params , ALEMBIC_PATH_CITIES ) ed_db_params = docker_ed . get_db_params ( ) # type: DbParams update_db ( ed_db_params , ALEMBIC_PATH_ED ) if cities_file : load_cities ( cities_file , cities_db_params , cities_exec_path ) data_dirs = [ os . path . join ( data_dir , sub_dir_name ) for sub_dir_name in os . listdir ( data_dir ) if os . path . isdir ( os . path . join ( data_dir , sub_dir_name ) ) ] or [ data_dir ] # if there is no sub dir, we import only the files in the dir load_data ( data_dirs , ed_db_params , ed_component_path ) binarize ( ed_db_params , output_file , ed_component_path , cities_db_params )