Refactor conditional_PUT as core function
Introduce source_file_ensure in osclib.core following review in #1717
This commit is contained in:
parent
2d4148f3f2
commit
c4fa49aef2
@ -265,6 +265,10 @@ def source_file_save(apiurl, project, package, filename, content, comment=None):
|
||||
url = makeurl(apiurl, ['source', project, package, filename], {'comment': comment})
|
||||
http_PUT(url, data=content)
|
||||
|
||||
def source_file_ensure(apiurl, project, package, filename, content, comment=None):
|
||||
if content != source_file_load(apiurl, project, package, filename):
|
||||
source_file_save(apiurl, project, package, filename, content, comment)
|
||||
|
||||
def project_pseudometa_package(apiurl, project):
|
||||
package = Config.get(apiurl, project).get('pseudometa_package', '00Meta')
|
||||
if '/' in package:
|
||||
|
@ -24,6 +24,7 @@ from osclib.cache_manager import CacheManager
|
||||
from osclib.conf import Config, str2bool
|
||||
from osclib.core import repository_path_expand
|
||||
from osclib.core import repository_arch_state
|
||||
from osclib.core import source_file_ensure
|
||||
from osclib.stagingapi import StagingAPI
|
||||
from osclib.util import project_list_family
|
||||
from osclib.util import project_list_family_prior
|
||||
@ -1383,21 +1384,9 @@ class CommandLineInterface(ToolBase.CommandLineInterface):
|
||||
for package in sorted(summary[group]):
|
||||
summary_str += " - " + package + "\n"
|
||||
|
||||
url = api.makeurl(['source', opts.project, '000product-summary', 'summary.yml'])
|
||||
self.conditional_PUT(url, summary_str)
|
||||
|
||||
source_file_ensure(api.apiurl, opts.project, '000product-summary', 'summary.yml', summary_str, 'Updating summary.yml')
|
||||
unsorted_yml = open(os.path.join(product_dir, 'unsorted.yml')).read()
|
||||
url = api.makeurl(['source', opts.project, '000product-summary', 'unsorted.yml'])
|
||||
self.conditional_PUT(url, unsorted_yml)
|
||||
|
||||
def conditional_PUT(self, url, data):
|
||||
try:
|
||||
olddata = http_GET(url).read()
|
||||
if olddata == data:
|
||||
return
|
||||
except HTTPError:
|
||||
pass
|
||||
http_PUT(url, data=data)
|
||||
source_file_ensure(api.apiurl, opts.project, '000product-summary', 'unsorted.yml', summary_str, 'Updating unsorted.yml')
|
||||
|
||||
def solv_cache_update(self, apiurl, cache_dir_solv, target_project, family_last, family_include, opts):
|
||||
"""Dump solv files (do_dump_solv) for all products in family."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user