accept_command: add additional version number to OSRT:ProductVersion
This commit is contained in:
parent
a9eeeb0a98
commit
2ae694a912
@ -13,6 +13,8 @@ from osc.core import change_request_state, show_package_meta, wipebinaries
|
|||||||
from osc.core import http_GET, http_PUT, http_DELETE, http_POST
|
from osc.core import http_GET, http_PUT, http_DELETE, http_POST
|
||||||
from osc.core import delete_package, search, set_devel_project
|
from osc.core import delete_package, search, set_devel_project
|
||||||
from osclib.config_command import ConfigCommand
|
from osclib.config_command import ConfigCommand
|
||||||
|
from osclib.core import attribute_value_save
|
||||||
|
from osclib.core import attribute_value_load
|
||||||
from osclib.core import source_file_load
|
from osclib.core import source_file_load
|
||||||
from osclib.core import source_file_save
|
from osclib.core import source_file_save
|
||||||
from datetime import date
|
from datetime import date
|
||||||
@ -279,6 +281,11 @@ class AcceptCommand(object):
|
|||||||
source_file_save(self.api.apiurl, project, package, '_link', link)
|
source_file_save(self.api.apiurl, project, package, '_link', link)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def update_version_attribute(self, project, version):
|
||||||
|
version_attr = attribute_value_load(self.api.apiurl, project, 'ProductVersion')
|
||||||
|
if version_attr != version:
|
||||||
|
attribute_value_save(self.api.apiurl, project, 'ProductVersion', version)
|
||||||
|
|
||||||
def update_factory_version(self):
|
def update_factory_version(self):
|
||||||
"""Update project (Factory, 13.2, ...) version if is necessary."""
|
"""Update project (Factory, 13.2, ...) version if is necessary."""
|
||||||
|
|
||||||
@ -287,6 +294,7 @@ class AcceptCommand(object):
|
|||||||
|
|
||||||
project = self.api.project
|
project = self.api.project
|
||||||
curr_version = date.today().strftime('%Y%m%d')
|
curr_version = date.today().strftime('%Y%m%d')
|
||||||
|
update_version_attr = False
|
||||||
url = self.api.makeurl(['source', project], {'view': 'productlist'})
|
url = self.api.makeurl(['source', project], {'view': 'productlist'})
|
||||||
|
|
||||||
products = ET.parse(http_GET(url)).getroot()
|
products = ET.parse(http_GET(url)).getroot()
|
||||||
@ -298,8 +306,12 @@ class AcceptCommand(object):
|
|||||||
new_product = re.sub(r'<version>\d{8}</version>', '<version>%s</version>' % curr_version, product_spec)
|
new_product = re.sub(r'<version>\d{8}</version>', '<version>%s</version>' % curr_version, product_spec)
|
||||||
|
|
||||||
if product_spec != new_product:
|
if product_spec != new_product:
|
||||||
|
update_version_attr = True
|
||||||
http_PUT(url + '?comment=Update+version', data=new_product)
|
http_PUT(url + '?comment=Update+version', data=new_product)
|
||||||
|
|
||||||
|
if update_version_attr:
|
||||||
|
self.update_version_attribute(project, curr_version)
|
||||||
|
|
||||||
service = {'cmd': 'runservice'}
|
service = {'cmd': 'runservice'}
|
||||||
|
|
||||||
ports_prjs = ['PowerPC', 'ARM', 'zSystems' ]
|
ports_prjs = ['PowerPC', 'ARM', 'zSystems' ]
|
||||||
@ -307,6 +319,8 @@ class AcceptCommand(object):
|
|||||||
for ports in ports_prjs:
|
for ports in ports_prjs:
|
||||||
project = self.api.project + ':' + ports
|
project = self.api.project + ':' + ports
|
||||||
if self.api.item_exists(project):
|
if self.api.item_exists(project):
|
||||||
|
if update_version_attr:
|
||||||
|
self.update_version_attribute(project, curr_version)
|
||||||
baseurl = ['source', project, '000product']
|
baseurl = ['source', project, '000product']
|
||||||
url = self.api.makeurl(baseurl, query=service)
|
url = self.api.makeurl(baseurl, query=service)
|
||||||
self.api.retried_POST(url)
|
self.api.retried_POST(url)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user