def _import(ticket: ImportRequest = Body(...), service: DatasetService = Depends(DatasetService)): filename = secure_filename(ticket.name) if not ticket.dataset: raise HTTPException(status_code=400, detail='You must complete the dataset field!') # Import dataset to feature repository try: ds = service.import_from_storage(ticket.bucket, filename, ticket.dataset, ticket.symbol) return ds.dict() except Exception as e: logging.exception(e) raise HTTPException(status_code=500, detail='Failed to import data in repository')
def _import_many(tickets: List[ImportRequest] = Body(...), service: DatasetService = Depends(DatasetService)): results = [] for ticket in tickets: filename = secure_filename(ticket.name) if not ticket.dataset: logging.error("Skipping {}: missing dataset!".format( ticket.symbol)) continue # Import dataset to feature repository try: logging.info("Importing: {}".format(ticket.dict())) ds = service.import_from_storage(ticket.bucket, filename, ticket.dataset, ticket.symbol) results.append(ds.dict()) except Exception as e: logging.exception(e) continue return results
def load(bucket: str, filename: str, dataset: str, symbol: str): print("Importing {}/{} to {}:{}".format(bucket, filename, dataset, symbol)) service = DatasetService() service.import_from_storage(bucket, filename, dataset, symbol) print("Done")