Sha256: faf47988b5a1b462c31e6d6ac1505a86089eab10f633b47c712cd9f01f0bca75

Contents?: true

Size: 1.75 KB

Versions: 37

Compression:

Stored size: 1.75 KB

Contents

module Katello
  module Pulp3
    module ContentViewVersion
      class SyncableFormatExport < Export
        def create_exporter
          api.yum_exporter_api.create(name: "#{generate_id(content_view_version)}-#{repository.id}",
                                      path: generate_repository_exporter_path,
                                      method: :hardlink)
        end

        def create_export(exporter_data, _options = {})
          options = { publication: repository.publication_href }
          if incremental?
            from_exporter = Export.new(smart_proxy: smart_proxy, content_view_version: from_content_view_version)
            from_repo = from_exporter.repositories.find_by(library_instance_id: repository.library_instance)
            options[:start_repository_version] = from_repo.version_href unless from_repo.blank?
          end
          [api.yum_export_api.create(exporter_data[:pulp_href], options)]
        end

        def fetch_export(exporter_href)
          api.yum_export_api.list(exporter_href).results.first
        end

        def destroy_exporter(exporter_data)
          exporter_href = exporter_data[:pulp_href]
          export_data = fetch_export(exporter_href)
          api.yum_export_api.delete(export_data.pulp_href)
          api.yum_exporter_api.delete(exporter_href)
        end

        def generate_repository_exporter_path
          if repository.docker?
            content_path = repository.library_instance_or_self.relative_path
          else
            _org, _content, content_path = repository.library_instance_or_self.relative_path.split("/", 3)
          end
          content_path = content_path.sub(%r|^/|, '')
          "#{generate_exporter_path}/#{content_path}".gsub(/\s/, '_')
        end
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
katello-4.14.2 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.15.0 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.15.0.rc2 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.15.0.rc1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.14.1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.14.0 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.14.0.rc3 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.14.0.rc2 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.14.0.rc1.1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.14.0.rc1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.13.1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.13.0 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.12.1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.13.0.rc1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.12.0 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.12.0.rc3 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.12.0.rc2 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.12.0.rc1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.11.1 app/services/katello/pulp3/content_view_version/syncable_format_export.rb
katello-4.11.0 app/services/katello/pulp3/content_view_version/syncable_format_export.rb