def from_userinput( self, userinput: str, mirror: bool, ags: Optional[str], skip_body_extra: bool = False, skip_files: bool = False, ) -> None: body_id, entrypoint = self.get_entrypoint_and_body(userinput, mirror) importer = Importer(get_loader_from_system(entrypoint)) body_data, dotenv = self.import_body_and_metadata( body_id, importer, userinput, ags, skip_body_extra) logger.info("Loading the bulk data from the oparl api") importer.fetch_lists_initial([body_data]) # Also avoid "MySQL server has gone away" errors due to timeouts # https://stackoverflow.com/a/32720475/3549270 db.close_old_connections() logger.info("Loading the data into the database") importer.import_objects() if not skip_files: logger.info("Loading the files") importer.load_files(fallback_city=userinput) if dotenv: logger.info( f"Done! Please add the following line to your dotenv file: \n\n{dotenv}\n" )
def handle(self, *args, **options): cli = Cli() userinput = options["cityname"] body_id, entrypoint = cli.get_entrypoint_and_body( userinput, options["mirror"]) importer = Importer(get_loader_from_system(entrypoint)) if options["manual"]: logger.info("Fetching the body") importer.load_bodies(body_id) logger.info("Importing the body") [body] = importer.import_bodies() logger.info("The body id is {}".format(body.id)) else: cli.import_body_and_metadata(body_id, importer, userinput, options["ags"])
def handle(self, *args, **options): cli = Cli() userinput = options["cityname"] body_id, entrypoint = cli.get_entrypoint_and_body( userinput, options["mirror"]) importer = Importer(get_loader_from_system(entrypoint)) if options["manual"]: if CachedObject.objects.filter(url=body_id).exists(): logger.info("Using fetched body") else: logger.info("Fetching the body") importer.load_bodies(body_id) logger.info("Importing the body") [body] = importer.import_bodies() logger.info(f"The body id is {body.id}") else: cli.import_body_and_metadata(body_id, importer, userinput, options["ags"])