本文整理汇总了Python中pulp_node.manifest.Manifest.write方法的典型用法代码示例。如果您正苦于以下问题:Python Manifest.write方法的具体用法?Python Manifest.write怎么用?Python Manifest.write使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pulp_node.manifest.Manifest
的用法示例。
在下文中一共展示了Manifest.write方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: publish
# 需要导入模块: from pulp_node.manifest import Manifest [as 别名]
# 或者: from pulp_node.manifest.Manifest import write [as 别名]
def publish(self, units):
"""
Publish the specified units.
Writes the units.json file and symlinks each of the files associated
to the unit.storage_path. Publishing is staged in a temporary directory and
must use commit() to make the publishing permanent.
:param units: A list of units to publish.
:type units: iterable
:return: The absolute path to the manifest.
:rtype: str
"""
# make the parent dir and a temp dir within it
parent_path = os.path.normpath(os.path.join(self.publish_dir, '../'))
pathlib.mkdir(parent_path)
self.tmp_dir = mkdtemp(dir=parent_path)
with UnitWriter(self.tmp_dir) as writer:
for unit in units:
self.publish_unit(unit)
writer.add(unit)
manifest_id = str(uuid4())
manifest = Manifest(self.tmp_dir, manifest_id)
manifest.units_published(writer)
manifest.write()
self.staged = True
return manifest.path
示例2: test_write
# 需要导入模块: from pulp_node.manifest import Manifest [as 别名]
# 或者: from pulp_node.manifest.Manifest import write [as 别名]
def test_write(self):
# Test
manifest = Manifest()
units = []
for i in range(0, self.NUM_UNITS):
units.append({i:i+1})
manifest.write(self.tmp_dir, units)
# Verify
path = os.path.join(self.tmp_dir, Manifest.FILE_NAME)
self.assertTrue(os.path.exists(path))
fp = gzip.open(path)
s = fp.read()
units_in = json.loads(s)
self.verify(units, units_in)
示例3: test_round_trip
# 需要导入模块: from pulp_node.manifest import Manifest [as 别名]
# 或者: from pulp_node.manifest.Manifest import write [as 别名]
def test_round_trip(self):
# Test
manifest = Manifest()
units = []
for i in range(0, self.NUM_UNITS):
units.append({i:i+1})
manifest.write(self.tmp_dir, units)
cfg = DownloaderConfig('http')
downloader = factory.get_downloader(cfg)
manifest = Manifest()
path = os.path.join(self.tmp_dir, Manifest.FILE_NAME)
url = 'file://%s' % path
units_in = manifest.read(url, downloader)
# Verify
self.verify(units, units_in)
示例4: publish
# 需要导入模块: from pulp_node.manifest import Manifest [as 别名]
# 或者: from pulp_node.manifest.Manifest import write [as 别名]
def publish(self, units):
"""
Publish the specified units.
Writes the units.json file and symlinks each of the files associated
to the unit.storage_path. Publishing is staged in a temporary directory and
must use commit() to make the publishing permanent.
:param units: A list of units to publish.
:type units: iterable
:return: The absolute path to the manifest.
:rtype: str
"""
pathlib.mkdir(self.publish_dir)
self.tmp_dir = mkdtemp(dir=self.publish_dir)
units_path = pathlib.join(self.tmp_dir, UNITS_FILE_NAME)
manifest_path = pathlib.join(self.tmp_dir, MANIFEST_FILE_NAME)
with UnitWriter(units_path) as writer:
for unit in units:
self.publish_unit(unit)
writer.add(unit)
manifest_id = str(uuid4())
manifest = Manifest(manifest_id)
manifest.set_units(writer)
manifest_path = manifest.write(manifest_path)
self.staged = True
return manifest_path
示例5: publish
# 需要导入模块: from pulp_node.manifest import Manifest [as 别名]
# 或者: from pulp_node.manifest.Manifest import write [as 别名]
def publish(self, units):
"""
Publish the specified units.
Writes the units.json file and symlinks each of the
files associated to the unit.storage_path.
:param units: A list of units to publish.
:type units: iterable
:return: The path to the written manifest.
:rtype: str
"""
manifest_path = super(self.__class__, self).publish(units)
manifest = Manifest()
manifest.read(manifest_path)
manifest.publishing_details[constants.BASE_URL] = \
pathlib.url_join(self.base_url, self.alias[0], self.repo_id)
manifest.write(manifest_path)
return manifest_path
示例6: write_manifest
# 需要导入模块: from pulp_node.manifest import Manifest [as 别名]
# 或者: from pulp_node.manifest.Manifest import write [as 别名]
def write_manifest(self, units):
"""
Write the manifest (units.json) for the specified list of units.
:param units: A list of units.
:type units: list
:return: The absolute path to the written manifest file.
:rtype: str
"""
manifest = Manifest()
dir_path = join(self.publish_dir, self.repo_id)
mkdir(dir_path)
return manifest.write(dir_path, units)
示例7: test_write
# 需要导入模块: from pulp_node.manifest import Manifest [as 别名]
# 或者: from pulp_node.manifest.Manifest import write [as 别名]
def test_write(self):
# Test
manifest = Manifest()
units = []
for i in range(0, self.NUM_UNITS):
units.append({i: i + 1})
manifest.write(self.tmp_dir, units)
# Verify
path = os.path.join(self.tmp_dir, Manifest.FILE_NAME)
self.assertTrue(os.path.exists(path))
fp = gzip.open(path)
s = fp.read()
fp.close()
manifest = json.loads(s)
units_in = []
for unit_file in manifest['unit_files']:
path = os.path.join(self.tmp_dir, unit_file)
fp = gzip.open(path)
units_in.extend(json.load(fp))
fp.close()
self.assertEqual(manifest['total_units'], self.NUM_UNITS)
self.verify(units, units_in)
示例8: publish
# 需要导入模块: from pulp_node.manifest import Manifest [as 别名]
# 或者: from pulp_node.manifest.Manifest import write [as 别名]
def publish(self, units):
"""
Publish the specified units.
Writes the units.json file and symlinks each of the
files associated to the unit.storage_path.
:param units: A list of units to publish.
:type units: iterable
"""
dir_path = join(self.publish_dir, self.repo_id)
units_path = os.path.join(dir_path, UNITS_FILE_NAME)
manifest_path = os.path.join(dir_path, MANIFEST_FILE_NAME)
mkdir(dir_path)
with UnitWriter(units_path) as writer:
for unit in units:
self.link_unit(unit)
writer.add(unit)
manifest_id = str(uuid4())
manifest = Manifest(manifest_id)
manifest.set_units(writer)
manifest_path = manifest.write(manifest_path)
return manifest_path