Exemple #1
0
    def _import(self):
        parser = argparse.ArgumentParser(
            description="Select the source to import data from: api, file")
        """  Si on choisit d'obliger la sélection d'une source  """
        # parser.add_argument('source', choices=['api', 'file'], help="Source choice")
        # args = parser.parse_args(sys.argv[3:])
        # if args.source == "api":
        #     parser.add_argument('api_name', help='API name')
        #     parser.add_argument('--imdbId', help="Id on IMDB")

        parser.add_argument('--api', help="Name of the API (omdb/tmdb)")
        parser.add_argument('--imdbId', help="Id on IMDB")
        parser.add_argument('--file', help="File path")
        args = self.second_parser(parser)
        if args.api in ['omdb', 'tmdb'] and args.imdbId:
            if args.api == 'omdb':
                result = getattr(Omdb, 'get_' + self.context)(args.imdbId)
            else:
                result = getattr(Tmdb, 'get_' + self.context)(args.imdbId)
            last_id = self.db._insert(table=self.context, object=result)
            print(f"Last insertion id: #{last_id}.")
            print(f"Inserted object: {vars(result)}")
        elif args.file:
            Factory._import_csv(self.context, args.file)
        else:
            print("Please specify an API (omdb/tmdb) or a filepath.")