mirror of
https://github.com/openSUSE/osc.git
synced 2024-12-28 10:46:15 +01:00
Drop Request.get_creator method in favor of a new "creator" attribute
This implements the Request api change that was proposed in commit
6965dc5
("Adjust request testcases to the upcoming Request api
change").
Fixes: #286 ("get_creator() does not return request creator")
This commit is contained in:
parent
6965dc5cd4
commit
d68507fa95
@ -2503,7 +2503,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
|
||||
if repl.lower() == 'y' or repl == '':
|
||||
(supersede, reqs) = check_existing_requests(apiurl, action.tgt_project, action.tgt_package,
|
||||
project, package)
|
||||
msg = "%s (forwarded request %s from %s)" % (rq.description, reqid, rq.get_creator())
|
||||
msg = "%s (forwarded request %s from %s)" % (rq.description, reqid, rq.creator)
|
||||
rid = create_submit_request(apiurl, action.tgt_project, action.tgt_package,
|
||||
project, package, cgi.escape(msg))
|
||||
print(msg)
|
||||
|
14
osc/core.py
14
osc/core.py
@ -2684,6 +2684,7 @@ class Request:
|
||||
def _init_attributes(self):
|
||||
"""initialize attributes with default values"""
|
||||
self.reqid = None
|
||||
self.creator = None
|
||||
self.title = ''
|
||||
self.description = ''
|
||||
self.priority = None
|
||||
@ -2696,9 +2697,10 @@ class Request:
|
||||
def read(self, root):
|
||||
"""read in a request"""
|
||||
self._init_attributes()
|
||||
if not root.get('id'):
|
||||
if not root.get('id') or not root.get('creator'):
|
||||
raise oscerr.APIError('invalid request: %s\n' % ET.tostring(root, encoding=ET_ENCODING))
|
||||
self.reqid = root.get('id')
|
||||
self.creator = root.get('creator')
|
||||
if root.find('state') is None:
|
||||
raise oscerr.APIError('invalid request (state expected): %s\n' % ET.tostring(root, encoding=ET_ENCODING))
|
||||
self.state = RequestState(root.find('state'))
|
||||
@ -2736,17 +2738,13 @@ class Request:
|
||||
return self.actions
|
||||
return [i for i in self.actions if i.type in types]
|
||||
|
||||
def get_creator(self):
|
||||
"""return the creator of the request"""
|
||||
if len(self.statehistory):
|
||||
return self.statehistory[0].who
|
||||
return self.state.who
|
||||
|
||||
def to_xml(self):
|
||||
"""serialize object to XML"""
|
||||
root = ET.Element('request')
|
||||
if not self.reqid is None:
|
||||
root.set('id', self.reqid)
|
||||
if self.creator is not None:
|
||||
root.set('creator', self.creator)
|
||||
for action in self.actions:
|
||||
root.append(action.to_xml())
|
||||
if not self.state is None:
|
||||
@ -4182,7 +4180,7 @@ def change_request_state_template(req, newstate):
|
||||
tmpl_name = '%srequest_%s_template' % (action.type, newstate)
|
||||
tmpl = conf.config.get(tmpl_name, '')
|
||||
tmpl = tmpl.replace('\\t', '\t').replace('\\n', '\n')
|
||||
data = {'reqid': req.reqid, 'type': action.type, 'who': req.get_creator()}
|
||||
data = {'reqid': req.reqid, 'type': action.type, 'who': req.creator}
|
||||
if req.actions[0].type == 'submit':
|
||||
data.update({'src_project': action.src_project,
|
||||
'src_package': action.src_package, 'src_rev': action.src_rev,
|
||||
|
Loading…
Reference in New Issue
Block a user