import json
import tempfile
import subprocess
+import re
from functools import wraps, partial
from distutils.spawn import find_executable
project = get_project_by_name(obs, name, target)[0]
obs.delete_project(project)
+def is_aggregate_package(obs, proj, pack):
+ if re.search("aggregate", pack):
+ if "_aggregate" in obs.get_file_list(proj, pack):
+ return True
+
+ return False
def accept_or_reject(obs, submission, state, target, comment='',
jenkins_cred=None):
print out
else:
# Create SR
- reqid = obs.create_sr(project, obs.get_source_packages(project),
+ org_source_packages=obs.get_source_packages(project)
+ source_packages=[]
+ for p in org_source_packages:
+ if not is_aggregate_package(obs, project, p):
+ source_packages.append(p)
+
+ reqid = obs.create_sr(project, source_packages,
target_prj, message=message)
print 'created SR %s' % reqid
ET.SubElement(elem, value)
self.set_meta(ET.tostring(root), prj, pkg)
+ def get_file_list(self, prj, pkg):
+ """Get file list from OBS."""
+ url = core.makeurl(self.apiurl,
+ ['source', prj, pkg]);
+ files=[]
+ try:
+ xml = self.core_http(core.http_GET, url).read()
+ root = ET.fromstring(''.join(xml))
+ for entry in root.findall("entry"):
+ files.append(entry.get('name'))
+ return files
+ except OSCError as error:
+ if error.message == "HTTP Error 404: Not Found":
+ return None
+ raise
+
def get_file(self, prj, pkg, fname, rev=None):
"""Get file content from OBS."""
query = {'expand': 1}