if not is_aggregate_package(obs, project, p) and not is_link_package(obs, project, p):
source_packages.append(p)
+ # If source_packages is not exists in target_prj
+ # create a package in target_prj
+ if state == 'accepted':
+ org_target_packages=obs.get_package_list(target_prj)
+ for package in source_packages:
+ if not package in org_target_packages:
+ obs.create_package(target_prj, package)
+
reqid = obs.create_sr(project, source_packages,
target_prj, message=message)
if error.message == "HTTP Error 404: Not Found":
return None
raise
+
+ def get_package_list(self, prj, deleted=None):
+ """Get package list of the project"""
+ query = {}
+ if deleted:
+ query['deleted'] = 1
+ else:
+ query['deleted'] = 0
+
+ url = core.makeurl(self.apiurl, ['source', prj], query)
+ _file = core.http_GET(url)
+ root = ET.parse(_file).getroot()
+ return [node.get('name') for node in root.findall('entry')]
+