osclib/core: provide create_delete_request().
This commit is contained in:
parent
d0e2b71ed1
commit
2f99efe1b8
@ -994,6 +994,36 @@ def request_create_delete(apiurl, target_project, target_package, message=None):
|
|||||||
|
|
||||||
return RequestFuture('delete {}/{}'.format(target_project, target_package), create_function)
|
return RequestFuture('delete {}/{}'.format(target_project, target_package), create_function)
|
||||||
|
|
||||||
|
# Should exist within osc.core like create_submit_request(), but rather it was
|
||||||
|
# duplicated in osc.commandline.
|
||||||
|
def create_delete_request(apiurl, target_project, target_package=None, message=None):
|
||||||
|
if not message:
|
||||||
|
message = message_suffix('created')
|
||||||
|
|
||||||
|
request = ETL.Element('request')
|
||||||
|
|
||||||
|
state = ETL.Element('state')
|
||||||
|
state.set('name', 'new')
|
||||||
|
request.append(state)
|
||||||
|
|
||||||
|
description = ETL.Element('description')
|
||||||
|
description.text = message
|
||||||
|
request.append(description)
|
||||||
|
|
||||||
|
action = ETL.Element('action')
|
||||||
|
action.set('type', 'delete')
|
||||||
|
request.append(action)
|
||||||
|
|
||||||
|
target = ETL.Element('target')
|
||||||
|
target.set('project', target_project)
|
||||||
|
if target_package:
|
||||||
|
target.set('package', target_package)
|
||||||
|
action.append(target)
|
||||||
|
|
||||||
|
url = makeurl(apiurl, ['request'], {'cmd': 'create'})
|
||||||
|
root = ETL.parse(http_POST(url, data=ETL.tostring(request))).getroot()
|
||||||
|
return root.get('id')
|
||||||
|
|
||||||
class RequestFuture:
|
class RequestFuture:
|
||||||
def __init__(self, description, create_function):
|
def __init__(self, description, create_function):
|
||||||
self.description = description
|
self.description = description
|
||||||
|
Loading…
x
Reference in New Issue
Block a user