def process_row( file_id: int, external_object_ids: List[int], attributes: List[Tuple[str, List[str]]], links: List[Tuple[str, List[str]]], ): file = db.session.query(ImportFile).get(file_id) assert file attributes = [(ValueType.from_name(k), v) for (k, v) in attributes] links = [ (Platform.lookup(db.session, key.replace("_", "-")), ids) for key, ids in links ] logger.debug( "Processing row ids=%r attrs=%r links=%r", external_object_ids, attributes, links, ) file.process_row(external_object_ids, attributes, links)
def post(self): """Create a new scrap :raises InvalidTransition: """ args = scrap_arguments.parse_args() platform = Platform.lookup(self.session, args["platform"]) if platform is None: abort(404, "Platform not found") scrap = Scrap(platform=platform, status=ScrapStatus.SCHEDULED) if args["status"]: scrap.to_status(args["status"]) self.session.add(scrap) self.session.commit() return scrap