1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-11-10 06:46:15 +01:00

- do_request list:

* --mine + --user and --all + --state options are mutually exclusive
  * fixed "--all" and "--state all" options
This commit is contained in:
Marcus Hüwe 2009-08-21 21:31:45 +00:00
parent 585ab3564d
commit e3c9e30ca0
2 changed files with 16 additions and 8 deletions

View File

@ -780,6 +780,13 @@ Please submit there instead, or use --nodevelproject to force direct submission.
args = slash_split(args)
if opts.all and opts.state:
raise oscerr.WrongOptions('Sorry, the options --all and --state ' \
'are mutually exclusive.')
if opts.mine and opts.user:
raise oscerr.WrongOptions('Sorry, the options --user and --mine ' \
'are mutually exclusive.')
# 'req' defaults to 'req list -M -s all'
if not args:
args = [ 'list' ]
@ -837,17 +844,18 @@ Please submit there instead, or use --nodevelproject to force direct submission.
states = ('new', 'accepted', 'rejected', 'revoked', 'declined')
state_list = opts.state.split(',')
if opts.state == 'all':
state_list = []
for s in state_list:
if not s in states:
print >>sys.stderr, "Unknown state %s, try one of %s" % (s, ','.join(states))
state_list = ['all']
else:
for s in state_list:
if not s in states:
raise oscerr.WrongArgs('Unknown state \'%s\', try one of %s' % (s, ','.join(states)))
who = ''
if opts.mine:
who = conf.get_apiurl_usr(apiurl)
if opts.user:
who = opts.user
if opts.all:
state_list = []
state_list = ['all']
results = get_request_list(apiurl,
project, package, who, state_list, opts.type)

View File

@ -2309,15 +2309,15 @@ def get_request_list(apiurl, project, package, req_who='', req_state=('new',), r
requests = []
matches = []
match=''
m=''
match = ''
m = ''
if "all" in req_state:
req_state=('new', 'accepted', 'declined', 'revoked', 'rejected')
for state in req_state:
if len(m): m += '%20or%20'
m += 'state/@name=\'%s\'' % quote_plus(state)
if len(m): match += "(" + m + ")"
m=''
m = ''
if req_who:
if len(m): m += '%20and%20'
m += 'state/@who=\'%s\'' % quote_plus(req_who)