def publish(repository_version_pk): """ Create a Publication based on a RepositoryVersion. Args: repository_version_pk (str): Create a publication from this repository version. """ repository_version = RepositoryVersion.objects.get( pk=repository_version_pk) log.info( _("Publishing: repository=%(repository)s, version=%(version)d"), { "repository": repository_version.repository.name, "version": repository_version.number }, ) with tempfile.TemporaryDirectory("."): with ProgressReport(message="Publishing Content", code="publishing.content") as progress_report: with CookbookPublication.create(repository_version) as publication: universe = Universe("__universe__") universe.write( populate(publication, progress_report=progress_report)) PublishedMetadata.create_from_file( relative_path=os.path.basename(universe.relative_path), publication=publication, file=File(open(universe.relative_path, "rb")), ) log.info(_("Publication: %(publication)s created"), {"publication": publication.pk})
def publish(publisher_pk, repository_version_pk): """ Use provided publisher to create a Publication based on a RepositoryVersion. Args: publisher_pk (str): Use the publish settings provided by this publisher. repository_version_pk (str): Create a publication from this repository version. """ publisher = CookbookPublisher.objects.get(pk=publisher_pk) repository_version = RepositoryVersion.objects.get( pk=repository_version_pk) log.info( _('Publishing: repository=%(repository)s, version=%(version)d, publisher=%(publisher)s' ), { 'repository': repository_version.repository.name, 'version': repository_version.number, 'publisher': publisher.name, }) with WorkingDirectory(): with Publication.create(repository_version, publisher) as publication: universe = Universe('__universe__') universe.write(populate(publication)) metadata = PublishedMetadata( relative_path=os.path.basename(universe.relative_path), publication=publication, file=File(open(universe.relative_path, 'rb'))) metadata.save() log.info(_('Publication: %(publication)s created'), {'publication': publication.pk})
def publish(repository_version_pk): """ Create a Publication based on a RepositoryVersion. Args: repository_version_pk (str): Create a publication from this repository version. """ repository_version = RepositoryVersion.objects.get( pk=repository_version_pk) log.info( _("Publishing: repository=%(repository)s, version=%(version)d"), { "repository": repository_version.repository.name, "version": repository_version.number }, ) with WorkingDirectory(): with CookbookPublication.create(repository_version) as publication: check_repo_version_constraint(publication) universe = Universe("__universe__") universe.write(populate(publication)) metadata = PublishedMetadata( relative_path=os.path.basename(universe.relative_path), publication=publication, file=File(open(universe.relative_path, "rb")), ) metadata.save() log.info(_("Publication: %(publication)s created"), {"publication": publication.pk})