def create_new_task(
            self,
            task_builder: speedwagon.tasks.TaskBuilder,
            **job_args: Union[str, Package]
    ) -> None:
        """Generate a new task.

        Args:
            task_builder:
            **job_args:

        """
        existing_package: Package = typing.cast(Package, job_args['package'])
        new_package_root: str = typing.cast(str, job_args["output"])
        source_path: str = typing.cast(str, job_args["source_path"])

        package_id: str = typing.cast(
            str,
            existing_package.metadata[Metadata.ID]
        )

        packaging_task = PackageConverter(
            source_path=source_path,
            existing_package=existing_package,
            new_package_root=new_package_root,
            packaging_id=package_id

        )
        task_builder.add_subtask(packaging_task)
Пример #2
0
    def initial_task(self, task_builder: speedwagon.tasks.TaskBuilder,
                     **user_args: str) -> None:
        """Look for any packages located in the input argument directory.

        Args:
            task_builder:
            **user_args:

        """
        root = user_args['input']
        task_builder.add_subtask(FindPackagesTask(root))
    def create_new_task(self, task_builder: speedwagon.tasks.TaskBuilder,
                        **job_args) -> None:
        """Create new tasks."""
        package = job_args['package']
        destination_root: str = job_args['destination']
        title_page: str = job_args['title_page']

        # Package metadata
        package_id: str = package.metadata[Metadata.ID]

        new_package_location = os.path.join(destination_root, package_id)

        # Add the tasks
        # Transform the package into a HathiTiff package
        task_builder.add_subtask(
            subtask=TransformPackageTask(package, destination_root))
        # Generate marc file from the Package id
        identifier_type = job_args['identifier_type']
        task_builder.add_subtask(subtask=workflow_get_marc.MarcGeneratorTask(
            identifier=package_id,
            identifier_type=identifier_type,
            output_name=os.path.join(new_package_location, "MARC.xml"),
            server_url=str(job_args['server_url'])))

        # Generate a meta.yml file
        task_builder.add_subtask(
            subtask=speedwagon.tasks.prep.MakeMetaYamlTask(
                package_id, new_package_location, title_page))
        # Generate checksum data
        task_builder.add_subtask(
            subtask=speedwagon.tasks.prep.GenerateChecksumTask(
                package_id, new_package_location))
    def create_new_task(self, task_builder: speedwagon.tasks.TaskBuilder,
                        **job_args: Union[str, AbsPackageComponent]) -> None:
        """Generate a new task.

        Args:
            task_builder:
            **job_args:

        """
        job_arguments = typing.cast(JobArguments, job_args)

        existing_package: Package = typing.cast(Package,
                                                job_arguments['package'])

        source_path = job_arguments["source_path"]

        package_id: str = typing.cast(str,
                                      existing_package.metadata[Metadata.ID])

        new_dl_package_root = job_arguments.get("output_dl")
        if new_dl_package_root is not None:
            dl_packaging_task = PackageConverter(
                source_path=source_path,
                existing_package=existing_package,
                new_package_root=new_dl_package_root,
                packaging_id=package_id,
                package_format="Digital Library Compound",
            )
            task_builder.add_subtask(dl_packaging_task)

        new_ht_package_root = job_arguments.get("output_ht")
        if new_ht_package_root is not None:
            ht_packaging_task = PackageConverter(
                source_path=source_path,
                existing_package=existing_package,
                new_package_root=new_ht_package_root,
                packaging_id=package_id,
                package_format="HathiTrust jp2",
            )
            task_builder.add_subtask(ht_packaging_task)
Пример #5
0
    def initial_task(self, task_builder: speedwagon.tasks.TaskBuilder,
                     **user_args) -> None:

        root = user_args['input']
        task_builder.add_subtask(FindPackagesTask(root))
    def initial_task(self, task_builder: speedwagon.tasks.TaskBuilder,
                     **user_args) -> None:

        new_task = HathiManifestGenerationTask(batch_root=user_args['Source'])
        task_builder.add_subtask(subtask=new_task)
Пример #7
0
 def create_new_task(self, task_builder: speedwagon.tasks.TaskBuilder,
                     **job_args) -> None:
     task_builder.add_subtask(SpamTask())
 def initial_task(self, task_builder: speedwagon.tasks.TaskBuilder,
                  **user_args: str) -> None:
     super().initial_task(task_builder, **user_args)
     root = user_args['Source']
     task_builder.add_subtask(FindCaptureOnePackageTask(root=root))