Exemple #1
0
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)
Exemple #2
0
    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