mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-04 04:41:35 +00:00
Update gam report usageparameters to account for Google API change (#1191)
* Update gam report usageparamaters to account for Google API change * Use _check_full_data_available in report usageparameters * Code cleanup * Code cleanup part 2 * Code cleanup part 3
This commit is contained in:
@@ -64,9 +64,7 @@ def showUsageParameters():
|
|||||||
if customerId == MY_CUSTOMER:
|
if customerId == MY_CUSTOMER:
|
||||||
customerId = None
|
customerId = None
|
||||||
tryDate = datetime.date.today().strftime(YYYYMMDD_FORMAT)
|
tryDate = datetime.date.today().strftime(YYYYMMDD_FORMAT)
|
||||||
partial_apps = []
|
all_parameters = set()
|
||||||
all_parameters = []
|
|
||||||
one_day = datetime.timedelta(days=1)
|
|
||||||
i = 4
|
i = 4
|
||||||
while i < len(sys.argv):
|
while i < len(sys.argv):
|
||||||
myarg = sys.argv[i].lower().replace('_', '')
|
myarg = sys.argv[i].lower().replace('_', '')
|
||||||
@@ -78,37 +76,33 @@ def showUsageParameters():
|
|||||||
'gam report usageparameters')
|
'gam report usageparameters')
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
response = gapi.call(endpoint,
|
result = gapi.call(endpoint,
|
||||||
'get',
|
'get',
|
||||||
throw_reasons=throw_reasons,
|
throw_reasons=throw_reasons,
|
||||||
date=tryDate,
|
date=tryDate,
|
||||||
customerId=customerId,
|
customerId=customerId,
|
||||||
|
fields='warnings,usageReports(parameters(name))',
|
||||||
**kwargs)
|
**kwargs)
|
||||||
partial_on_thisday = []
|
warnings = result.get('warnings', [])
|
||||||
for warning in response.get('warnings', []):
|
fullDataRequired = ['all']
|
||||||
for data in warning.get('data', []):
|
usage = result.get('usageReports')
|
||||||
if data.get('key') == 'application':
|
has_reports = bool(usage)
|
||||||
partial_on_thisday.append(data['value'])
|
fullData, tryDate = gapi_reports._check_full_data_available(
|
||||||
if partial_apps:
|
warnings, tryDate, fullDataRequired, has_reports)
|
||||||
partial_apps = [
|
if fullData < 0:
|
||||||
app for app in partial_apps if app in partial_on_thisday
|
print('No usage parameters available.')
|
||||||
]
|
sys.exit(1)
|
||||||
else:
|
if has_reports:
|
||||||
partial_apps = partial_on_thisday
|
for parameter in usage[0]['parameters']:
|
||||||
if response.get('usageReports'):
|
|
||||||
for parameter in response['usageReports'][0]['parameters']:
|
|
||||||
name = parameter.get('name')
|
name = parameter.get('name')
|
||||||
if name and name not in all_parameters:
|
if name:
|
||||||
all_parameters.append(name)
|
all_parameters.add(name)
|
||||||
if not partial_apps:
|
if fullData == 1:
|
||||||
break
|
break
|
||||||
tryDate = (utils.get_yyyymmdd(tryDate, returnDateTime=True) - \
|
|
||||||
one_day).strftime(YYYYMMDD_FORMAT)
|
|
||||||
except gapi.errors.GapiInvalidError as e:
|
except gapi.errors.GapiInvalidError as e:
|
||||||
tryDate = _adjust_date(str(e))
|
tryDate = _adjust_date(str(e))
|
||||||
all_parameters.sort()
|
|
||||||
csvRows = []
|
csvRows = []
|
||||||
for parameter in all_parameters:
|
for parameter in sorted(all_parameters):
|
||||||
csvRows.append({'parameter': parameter})
|
csvRows.append({'parameter': parameter})
|
||||||
display.write_csv_file(csvRows, titles,
|
display.write_csv_file(csvRows, titles,
|
||||||
f'{report.capitalize()} Report Usage Parameters',
|
f'{report.capitalize()} Report Usage Parameters',
|
||||||
|
|||||||
Reference in New Issue
Block a user