mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-10 14:43:34 +00:00
Add offset, limit arguments to print printjobs and printjob fetch
gam print printjobs ... offset <Integer> limit <Integer> gam printjob <PrinterId> fetch ... offset <Integer> limit <Integer>
This commit is contained in:
66
src/gam.py
66
src/gam.py
@ -2120,15 +2120,17 @@ def doPrintPrintJobs():
|
|||||||
sortorder = None
|
sortorder = None
|
||||||
descending = False
|
descending = False
|
||||||
query = None
|
query = None
|
||||||
i = 3
|
|
||||||
age = None
|
age = None
|
||||||
older_or_newer = None
|
older_or_newer = None
|
||||||
|
offset = limit = None
|
||||||
|
i = 3
|
||||||
while i < len(sys.argv):
|
while i < len(sys.argv):
|
||||||
if sys.argv[i].lower() == u'todrive':
|
myarg = sys.argv[i].lower().replace(u'_', u'')
|
||||||
|
if myarg == u'todrive':
|
||||||
todrive = True
|
todrive = True
|
||||||
i += 1
|
i += 1
|
||||||
elif sys.argv[i].lower().replace(u'_', u'') in [u'olderthan', u'newerthan']:
|
elif myarg in [u'olderthan', u'newerthan']:
|
||||||
if sys.argv[i].lower().replace(u'_', u'') == u'olderthan':
|
if myarg == u'olderthan':
|
||||||
older_or_newer = u'older'
|
older_or_newer = u'older'
|
||||||
else:
|
else:
|
||||||
older_or_newer = u'newer'
|
older_or_newer = u'newer'
|
||||||
@ -2147,37 +2149,45 @@ def doPrintPrintJobs():
|
|||||||
print u'ERROR: expected m (minutes), h (hours) or d (days), got %s' % age_unit
|
print u'ERROR: expected m (minutes), h (hours) or d (days), got %s' % age_unit
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() == u'query':
|
elif myarg == u'query':
|
||||||
query = sys.argv[i+1]
|
query = sys.argv[i+1]
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() == u'status':
|
elif myarg == u'status':
|
||||||
status = sys.argv[i+1]
|
status = sys.argv[i+1]
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() == u'ascending':
|
elif myarg == u'ascending':
|
||||||
descending = False
|
descending = False
|
||||||
i += 1
|
i += 1
|
||||||
elif sys.argv[i].lower() == u'descending':
|
elif myarg == u'descending':
|
||||||
descending = True
|
descending = True
|
||||||
i += 1
|
i += 1
|
||||||
elif sys.argv[i].lower() == u'orderby':
|
elif myarg == u'orderby':
|
||||||
sortorder = sys.argv[i+1].lower().replace(u'_', u'')
|
sortorder = sys.argv[i+1].lower().replace(u'_', u'')
|
||||||
if sortorder not in PRINTJOB_ASCENDINGORDER_MAP:
|
if sortorder not in PRINTJOB_ASCENDINGORDER_MAP:
|
||||||
print u'ERROR: orderby must be one of %s. Got %s' % (','.join(PRINTJOB_ASCENDINGORDER_MAP), sortorder)
|
print u'ERROR: orderby must be one of %s. Got %s' % (u','.join(PRINTJOB_ASCENDINGORDER_MAP), sortorder)
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
sortorder = PRINTJOB_ASCENDINGORDER_MAP[sortorder]
|
sortorder = PRINTJOB_ASCENDINGORDER_MAP[sortorder]
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() in [u'printer', u'printerid']:
|
elif myarg in [u'printer', u'printerid']:
|
||||||
printerid = sys.argv[i+1]
|
printerid = sys.argv[i+1]
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() in [u'owner', u'user']:
|
elif myarg in [u'owner', u'user']:
|
||||||
owner = sys.argv[i+1]
|
owner = sys.argv[i+1]
|
||||||
i += 2
|
i += 2
|
||||||
|
elif myarg == u'offset':
|
||||||
|
offset = max(0, int(sys.argv[i+1]))
|
||||||
|
i += 2
|
||||||
|
elif myarg == u'limit':
|
||||||
|
limit = max(1, int(sys.argv[i+1]))
|
||||||
|
i += 2
|
||||||
else:
|
else:
|
||||||
print u'ERROR: %s is not a valid argument for "gam print printjobs"' % sys.argv[i]
|
print u'ERROR: %s is not a valid argument for "gam print printjobs"' % sys.argv[i]
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
if sortorder and descending:
|
if sortorder and descending:
|
||||||
sortorder = PRINTJOB_DESCENDINGORDER_MAP[sortorder]
|
sortorder = PRINTJOB_DESCENDINGORDER_MAP[sortorder]
|
||||||
jobs = callGAPI(service=cp.jobs(), function=u'list', q=query, status=status, sortorder=sortorder, printerid=printerid, owner=owner)
|
jobs = callGAPI(service=cp.jobs(), function=u'list',
|
||||||
|
printerid=printerid, q=query, status=status, sortorder=sortorder,
|
||||||
|
owner=owner, offset=offset, limit=limit)
|
||||||
checkCloudPrintResult(jobs)
|
checkCloudPrintResult(jobs)
|
||||||
for job in jobs[u'jobs']:
|
for job in jobs[u'jobs']:
|
||||||
createTime = int(job[u'createTime'])/1000
|
createTime = int(job[u'createTime'])/1000
|
||||||
@ -2551,10 +2561,12 @@ def doPrintJobFetch():
|
|||||||
query = None
|
query = None
|
||||||
age = None
|
age = None
|
||||||
older_or_newer = None
|
older_or_newer = None
|
||||||
|
offset = limit = None
|
||||||
i = 4
|
i = 4
|
||||||
while i < len(sys.argv):
|
while i < len(sys.argv):
|
||||||
if sys.argv[i].lower().replace(u'_', u'') in [u'olderthan', u'newerthan']:
|
myarg = sys.argv[i].lower().replace(u'_', u'')
|
||||||
if sys.argv[i].lower().replace(u'_', u'') == u'olderthan':
|
if myarg in [u'olderthan', u'newerthan']:
|
||||||
|
if myarg == u'olderthan':
|
||||||
older_or_newer = u'older'
|
older_or_newer = u'older'
|
||||||
else:
|
else:
|
||||||
older_or_newer = u'newer'
|
older_or_newer = u'newer'
|
||||||
@ -2573,34 +2585,42 @@ def doPrintJobFetch():
|
|||||||
print u'ERROR: expected m (minutes), h (hours) or d (days), got %s' % age_unit
|
print u'ERROR: expected m (minutes), h (hours) or d (days), got %s' % age_unit
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() == u'query':
|
elif myarg == u'query':
|
||||||
query = sys.argv[i+1]
|
query = sys.argv[i+1]
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() == u'status':
|
elif myarg == u'status':
|
||||||
status = sys.argv[i+1]
|
status = sys.argv[i+1]
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() == u'ascending':
|
elif myarg == u'ascending':
|
||||||
descending = False
|
descending = False
|
||||||
i += 1
|
i += 1
|
||||||
elif sys.argv[i].lower() == u'descending':
|
elif myarg == u'descending':
|
||||||
descending = True
|
descending = True
|
||||||
i += 1
|
i += 1
|
||||||
elif sys.argv[i].lower() == u'orderby':
|
elif myarg == u'orderby':
|
||||||
sortorder = sys.argv[i+1].lower().replace(u'_', u'')
|
sortorder = sys.argv[i+1].lower().replace(u'_', u'')
|
||||||
if sortorder not in PRINTJOB_ASCENDINGORDER_MAP:
|
if sortorder not in PRINTJOB_ASCENDINGORDER_MAP:
|
||||||
print 'ERROR: orderby must be one of %s. Got %s' % (','.join(PRINTJOB_ASCENDINGORDER_MAP), sortorder)
|
print u'ERROR: orderby must be one of %s. Got %s' % (u','.join(PRINTJOB_ASCENDINGORDER_MAP), sortorder)
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
sortorder = PRINTJOB_ASCENDINGORDER_MAP[sortorder]
|
sortorder = PRINTJOB_ASCENDINGORDER_MAP[sortorder]
|
||||||
i += 2
|
i += 2
|
||||||
elif sys.argv[i].lower() in [u'owner', u'user']:
|
elif myarg in [u'owner', u'user']:
|
||||||
owner = sys.argv[i+1]
|
owner = sys.argv[i+1]
|
||||||
i += 2
|
i += 2
|
||||||
|
elif myarg == u'offset':
|
||||||
|
offset = max(0, int(sys.argv[i+1]))
|
||||||
|
i += 2
|
||||||
|
elif myarg == u'limit':
|
||||||
|
limit = max(1, int(sys.argv[i+1]))
|
||||||
|
i += 2
|
||||||
else:
|
else:
|
||||||
print u'ERROR: %s is not a valid argument for "gam printjobs fetch"' % sys.argv[i]
|
print u'ERROR: %s is not a valid argument for "gam printjobs fetch"' % sys.argv[i]
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
if sortorder and descending:
|
if sortorder and descending:
|
||||||
sortorder = PRINTJOB_DESCENDINGORDER_MAP[sortorder]
|
sortorder = PRINTJOB_DESCENDINGORDER_MAP[sortorder]
|
||||||
result = callGAPI(service=cp.jobs(), function=u'list', q=query, status=status, sortorder=sortorder, printerid=printerid, owner=owner)
|
result = callGAPI(service=cp.jobs(), function=u'list',
|
||||||
|
printerid=printerid, q=query, status=status, sortorder=sortorder,
|
||||||
|
owner=owner, offset=offset, limit=limit)
|
||||||
if u'errorCode' in result and result[u'errorCode'] == 413:
|
if u'errorCode' in result and result[u'errorCode'] == 413:
|
||||||
print u'No print jobs.'
|
print u'No print jobs.'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
Reference in New Issue
Block a user