Fix for ignore command

This commit is contained in:
Stephan Kulow 2019-11-18 15:44:27 +01:00
parent 12d6b22895
commit ac2ff9c2cb
2 changed files with 9 additions and 15 deletions

View File

@ -15,24 +15,10 @@ class IgnoreCommand(object):
Ignore a request from "list" and "adi" commands until unignored. Ignore a request from "list" and "adi" commands until unignored.
""" """
requests_ignored = self.api.get_ignored_requests()
length = len(requests_ignored)
for request_id in RequestFinder.find_sr(requests, self.api): for request_id in RequestFinder.find_sr(requests, self.api):
if request_id in requests_ignored:
print('{}: already ignored'.format(request_id))
continue
print('{}: ignored'.format(request_id)) print('{}: ignored'.format(request_id))
requests_ignored[request_id] = message
comment = message if message else self.MESSAGE comment = message if message else self.MESSAGE
self.api.add_ignored_request(request_id, comment)
self.comment.add_comment(request_id=str(request_id), comment=comment) self.comment.add_comment(request_id=str(request_id), comment=comment)
diff = len(requests_ignored) - length
if diff > 0:
self.api.set_ignored_requests(requests_ignored)
print('Ignored {} requests'.format(diff))
else:
print('No new requests to ignore')
return True return True

View File

@ -560,6 +560,14 @@ class StagingAPI(object):
ignore[entry.get('id')] = entry.get('description') ignore[entry.get('id')] = entry.get('description')
return ignore return ignore
@memoize(session=True)
def add_ignored_request(self, request_id, comment):
ignore = {}
url = self.makeurl(['staging', self.project, 'excluded_requests'])
root = ET.Element('excluded_requests')
req = ET.SubElement(root, 'request', { 'number': str(request_id), 'description': comment })
http_POST(url, data=ET.tostring(root))
@memoize(session=True, add_invalidate=True) @memoize(session=True, add_invalidate=True)
def get_open_requests(self, query_extra=None, include_nonfree=True): def get_open_requests(self, query_extra=None, include_nonfree=True):
""" """