gam7 7.7.5__py3-none-any.whl → 7.7.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gam7 might be problematic. Click here for more details.
- gam/__init__.py +56 -14
- gam/gamlib/glglobals.py +1 -0
- {gam7-7.7.5.dist-info → gam7-7.7.7.dist-info}/METADATA +1 -1
- {gam7-7.7.5.dist-info → gam7-7.7.7.dist-info}/RECORD +7 -7
- {gam7-7.7.5.dist-info → gam7-7.7.7.dist-info}/WHEEL +0 -0
- {gam7-7.7.5.dist-info → gam7-7.7.7.dist-info}/entry_points.txt +0 -0
- {gam7-7.7.5.dist-info → gam7-7.7.7.dist-info}/licenses/LICENSE +0 -0
gam/__init__.py
CHANGED
|
@@ -25,7 +25,7 @@ https://github.com/GAM-team/GAM/wiki
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
__author__ = 'GAM Team <google-apps-manager@googlegroups.com>'
|
|
28
|
-
__version__ = '7.07.
|
|
28
|
+
__version__ = '7.07.07'
|
|
29
29
|
__license__ = 'Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)'
|
|
30
30
|
|
|
31
31
|
#pylint: disable=wrong-import-position
|
|
@@ -8565,7 +8565,7 @@ class CSVPrintFile():
|
|
|
8565
8565
|
if not self.JSONtitlesSet:
|
|
8566
8566
|
systemErrorExit(USAGE_ERROR_RC, Msg.NO_COLUMNS_SELECTED_WITH_CSV_OUTPUT_HEADER_FILTER.format(GC.CSV_OUTPUT_HEADER_FILTER, GC.CSV_OUTPUT_HEADER_DROP_FILTER))
|
|
8567
8567
|
|
|
8568
|
-
def writeCSVfile(self, list_type):
|
|
8568
|
+
def writeCSVfile(self, list_type, clearRowFilters=False):
|
|
8569
8569
|
|
|
8570
8570
|
def todriveCSVErrorExit(entityValueList, errMsg):
|
|
8571
8571
|
systemErrorExit(ACTION_FAILED_RC, formatKeyValueList(Ind.Spaces(),
|
|
@@ -8956,6 +8956,8 @@ class CSVPrintFile():
|
|
|
8956
8956
|
self.oneItemPerRow,
|
|
8957
8957
|
self.showPermissionsLast,
|
|
8958
8958
|
self.zeroBlankMimeTypeCounts)))
|
|
8959
|
+
if clearRowFilters:
|
|
8960
|
+
GM.Globals[GM.CSVFILE][GM.REDIRECT_QUEUE].put((GM.REDIRECT_QUEUE_CLEAR_ROW_FILTERS, clearRowFilters))
|
|
8959
8961
|
GM.Globals[GM.CSVFILE][GM.REDIRECT_QUEUE].put((GM.REDIRECT_QUEUE_DATA, self.rows))
|
|
8960
8962
|
return
|
|
8961
8963
|
if self.zeroBlankMimeTypeCounts:
|
|
@@ -9582,6 +9584,7 @@ def CSVFileQueueHandler(mpQueue, mpQueueStdout, mpQueueStderr, csvPF, datetimeNo
|
|
|
9582
9584
|
GM.Globals[GM.DATETIME_NOW] = datetimeNow
|
|
9583
9585
|
GC.Values[GC.TIMEZONE] = tzinfo
|
|
9584
9586
|
GC.Values[GC.OUTPUT_TIMEFORMAT] = output_timeformat
|
|
9587
|
+
clearRowFilters = False
|
|
9585
9588
|
# if sys.platform.startswith('win'):
|
|
9586
9589
|
# signal.signal(signal.SIGINT, signal.SIG_IGN)
|
|
9587
9590
|
if multiprocessing.get_start_method() == 'spawn':
|
|
@@ -9639,9 +9642,15 @@ def CSVFileQueueHandler(mpQueue, mpQueueStdout, mpQueueStderr, csvPF, datetimeNo
|
|
|
9639
9642
|
csvPF.SetTimestampColumn(GC.Values[GC.CSV_OUTPUT_TIMESTAMP_COLUMN])
|
|
9640
9643
|
csvPF.SetHeaderFilter(GC.Values[GC.CSV_OUTPUT_HEADER_FILTER])
|
|
9641
9644
|
csvPF.SetHeaderDropFilter(GC.Values[GC.CSV_OUTPUT_HEADER_DROP_FILTER])
|
|
9642
|
-
|
|
9643
|
-
|
|
9645
|
+
if not clearRowFilters:
|
|
9646
|
+
csvPF.SetRowFilter(GC.Values[GC.CSV_OUTPUT_ROW_FILTER], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE])
|
|
9647
|
+
csvPF.SetRowDropFilter(GC.Values[GC.CSV_OUTPUT_ROW_DROP_FILTER], GC.Values[GC.CSV_OUTPUT_ROW_DROP_FILTER_MODE])
|
|
9648
|
+
else:
|
|
9649
|
+
csvPF.SetRowFilter([], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE])
|
|
9650
|
+
csvPF.SetRowDropFilter([], GC.Values[GC.CSV_OUTPUT_ROW_DROP_FILTER_MODE])
|
|
9644
9651
|
csvPF.SetRowLimit(GC.Values[GC.CSV_OUTPUT_ROW_LIMIT])
|
|
9652
|
+
elif dataType == GM.REDIRECT_QUEUE_CLEAR_ROW_FILTERS:
|
|
9653
|
+
clearRowFilters = dataItem
|
|
9645
9654
|
else: #GM.REDIRECT_QUEUE_EOF
|
|
9646
9655
|
break
|
|
9647
9656
|
csvPF.writeCSVfile(list_type)
|
|
@@ -14396,7 +14405,7 @@ def doReport():
|
|
|
14396
14405
|
if addCSVData:
|
|
14397
14406
|
row.update(addCSVData)
|
|
14398
14407
|
csvPF.WriteRow(row)
|
|
14399
|
-
csvPF.writeCSVfile(f'{report.capitalize()} Activity Report')
|
|
14408
|
+
csvPF.writeCSVfile(f'{report.capitalize()} Activity Report', eventRowFilter)
|
|
14400
14409
|
|
|
14401
14410
|
# Substitute for #user#, #email#, #usernamne#
|
|
14402
14411
|
def _substituteForUser(field, user, userName):
|
|
@@ -38592,7 +38601,8 @@ def _getCalendarListEventsDisplayProperty(myarg, calendarEventEntity):
|
|
|
38592
38601
|
|
|
38593
38602
|
def initCalendarEventEntity():
|
|
38594
38603
|
return {'list': [], 'queries': [], 'kwargs': {}, 'dict': None,
|
|
38595
|
-
'matches': [], 'maxinstances': -1, '
|
|
38604
|
+
'matches': [], 'maxinstances': -1, 'showDayOfWeek': False,
|
|
38605
|
+
'countsOnly': False, 'eventRowFilter': False, 'countsOnlyTitles': []}
|
|
38596
38606
|
|
|
38597
38607
|
def getCalendarEventEntity():
|
|
38598
38608
|
calendarEventEntity = initCalendarEventEntity()
|
|
@@ -39637,11 +39647,25 @@ def _printShowCalendarEvents(origUser, user, origCal, calIds, count, calendarEve
|
|
|
39637
39647
|
elif GC.Values[GC.CSV_OUTPUT_USERS_AUDIT] and user:
|
|
39638
39648
|
csvPF.WriteRowNoFilter({'calendarId': calId, 'primaryEmail': user, 'id': ''})
|
|
39639
39649
|
else:
|
|
39650
|
+
if calendarEventEntity['eventRowFilter']:
|
|
39651
|
+
jcount = 0
|
|
39652
|
+
for event in events:
|
|
39653
|
+
if calendarEventEntity['showDayOfWeek']:
|
|
39654
|
+
_getEventDaysOfWeek(event)
|
|
39655
|
+
row = {'calendarId': calId, 'id': event['id']}
|
|
39656
|
+
if user:
|
|
39657
|
+
row['primaryEmail'] = user
|
|
39658
|
+
flattenJSON(event, flattened=row, timeObjects=EVENT_TIME_OBJECTS)
|
|
39659
|
+
if csvPF.CheckRowTitles(row):
|
|
39660
|
+
jcount += 1
|
|
39640
39661
|
row = {'calendarId': calId}
|
|
39641
39662
|
if user:
|
|
39642
39663
|
row['primaryEmail'] = user
|
|
39643
39664
|
row['events'] = jcount
|
|
39644
|
-
|
|
39665
|
+
if not calendarEventEntity['eventRowFilter']:
|
|
39666
|
+
csvPF.WriteRow(row)
|
|
39667
|
+
else:
|
|
39668
|
+
csvPF.WriteRowNoFilter(row)
|
|
39645
39669
|
|
|
39646
39670
|
EVENT_FIELDS_CHOICE_MAP = {
|
|
39647
39671
|
'anyonecanaddself': 'anyoneCanAddSelf',
|
|
@@ -39879,13 +39903,17 @@ def _getCalendarPrintShowEventOptions(calendarEventEntity, entityType):
|
|
|
39879
39903
|
calendarEventEntity['countsOnly'] = True
|
|
39880
39904
|
elif myarg == 'showdayofweek':
|
|
39881
39905
|
calendarEventEntity['showDayOfWeek'] = True
|
|
39906
|
+
elif myarg == 'eventrowfilter':
|
|
39907
|
+
calendarEventEntity['eventRowFilter'] = True
|
|
39882
39908
|
else:
|
|
39883
39909
|
FJQC.GetFormatJSONQuoteChar(myarg, True)
|
|
39884
|
-
if calendarEventEntity['countsOnly']:
|
|
39910
|
+
if calendarEventEntity['countsOnly'] and not calendarEventEntity['eventRowFilter']:
|
|
39885
39911
|
fieldsList = ['id']
|
|
39886
39912
|
if csvPF:
|
|
39887
39913
|
if calendarEventEntity['countsOnly']:
|
|
39914
|
+
csvPF.RemoveTitles(['id'])
|
|
39888
39915
|
csvPF.AddTitles(['events'])
|
|
39916
|
+
calendarEventEntity['countsOnlyTitles'] = csvPF.titlesList[:]
|
|
39889
39917
|
elif not FJQC.formatJSON and not fieldsList:
|
|
39890
39918
|
csvPF.AddSortTitles(EVENT_PRINT_ORDER)
|
|
39891
39919
|
_addEventEntitySelectFields(calendarEventEntity, fieldsList)
|
|
@@ -39893,17 +39921,24 @@ def _getCalendarPrintShowEventOptions(calendarEventEntity, entityType):
|
|
|
39893
39921
|
|
|
39894
39922
|
# gam calendars <CalendarEntity> print events <EventEntity> <EventDisplayProperties>*
|
|
39895
39923
|
# [fields <EventFieldNameList>] [showdayofweek]
|
|
39896
|
-
# [countsonly
|
|
39924
|
+
# [countsonly [eventrowfilter]]
|
|
39925
|
+
# [formatjson [quotechar <Character>]] [todrive <ToDriveAttribute>*]
|
|
39897
39926
|
# gam calendars <CalendarEntity> show events <EventEntity> <EventDisplayProperties>*
|
|
39898
39927
|
# [fields <EventFieldNameList>] [showdayofweek]
|
|
39899
|
-
# [countsonly]
|
|
39928
|
+
# [countsonly]
|
|
39929
|
+
# [formatjson]
|
|
39900
39930
|
def doCalendarsPrintShowEvents(calIds):
|
|
39901
39931
|
calendarEventEntity = getCalendarEventEntity()
|
|
39902
39932
|
csvPF, FJQC, fieldsList = _getCalendarPrintShowEventOptions(calendarEventEntity, Ent.CALENDAR)
|
|
39903
39933
|
_printShowCalendarEvents(None, None, None, calIds, len(calIds), calendarEventEntity,
|
|
39904
39934
|
csvPF, FJQC, fieldsList)
|
|
39905
39935
|
if csvPF:
|
|
39906
|
-
|
|
39936
|
+
if calendarEventEntity['countsOnly'] and calendarEventEntity['eventRowFilter']:
|
|
39937
|
+
csvPF.SetRowFilter([], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE])
|
|
39938
|
+
csvPF.SetTitles(calendarEventEntity['countsOnlyTitles'])
|
|
39939
|
+
csvPF.writeCSVfile('Calendar Events', True)
|
|
39940
|
+
else:
|
|
39941
|
+
csvPF.writeCSVfile('Calendar Events')
|
|
39907
39942
|
|
|
39908
39943
|
# <CalendarSettings> ::==
|
|
39909
39944
|
# [description <String>] [location <String>] [summary <String>] [timezone <TimeZone>]
|
|
@@ -51371,10 +51406,12 @@ def infoCalendarEvents(users):
|
|
|
51371
51406
|
|
|
51372
51407
|
# gam <UserTypeEntity> print events <UserCalendarEntity> <EventEntity> <EventDisplayProperties>*
|
|
51373
51408
|
# [fields <EventFieldNameList>] [showdayofweek]
|
|
51374
|
-
# [countsonly
|
|
51409
|
+
# [countsonly [eventrowfilter]]
|
|
51410
|
+
# [formatjson [quotechar <Character>]] [todrive <ToDriveAttribute>*]
|
|
51375
51411
|
# gam <UserTypeEntity> show events <UserCalendarEntity> <EventEntity> <EventDisplayProperties>*
|
|
51376
51412
|
# [fields <EventFieldNameList>] [showdayofweek]
|
|
51377
|
-
# [countsonly]
|
|
51413
|
+
# [countsonly]]
|
|
51414
|
+
# [formatjson]
|
|
51378
51415
|
def printShowCalendarEvents(users):
|
|
51379
51416
|
calendarEntity = getUserCalendarEntity()
|
|
51380
51417
|
calendarEventEntity = getCalendarEventEntity()
|
|
@@ -51392,7 +51429,12 @@ def printShowCalendarEvents(users):
|
|
|
51392
51429
|
csvPF, FJQC, fieldsList)
|
|
51393
51430
|
Ind.Decrement()
|
|
51394
51431
|
if csvPF:
|
|
51395
|
-
|
|
51432
|
+
if calendarEventEntity['countsOnly'] and calendarEventEntity['eventRowFilter']:
|
|
51433
|
+
csvPF.SetRowFilter([], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE])
|
|
51434
|
+
csvPF.SetTitles(calendarEventEntity['countsOnlyTitles'])
|
|
51435
|
+
csvPF.writeCSVfile('Calendar Events', True)
|
|
51436
|
+
else:
|
|
51437
|
+
csvPF.writeCSVfile('Calendar Events')
|
|
51396
51438
|
|
|
51397
51439
|
def getStatusEventDateTime(dateType, dateList):
|
|
51398
51440
|
if dateType == 'timerange':
|
gam/gamlib/glglobals.py
CHANGED
|
@@ -207,6 +207,7 @@ REDIRECT_WRITE_HEADER = 'rdwh'
|
|
|
207
207
|
REDIRECT_MULTIPROCESS = 'rdmp'
|
|
208
208
|
REDIRECT_QUEUE = 'rdq'
|
|
209
209
|
REDIRECT_QUEUE_NAME = 'name'
|
|
210
|
+
REDIRECT_QUEUE_CLEAR_ROW_FILTERS = 'clearRowFilters'
|
|
210
211
|
REDIRECT_QUEUE_TODRIVE = 'todrive'
|
|
211
212
|
REDIRECT_QUEUE_CSVPF = 'csvpf'
|
|
212
213
|
REDIRECT_QUEUE_DATA = 'rows'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
gam/__init__.py,sha256=
|
|
1
|
+
gam/__init__.py,sha256=NCaIed9ZmaOuNYWhMsJQM3jHOtwv8uolUJ74rojEs4o,3501521
|
|
2
2
|
gam/__main__.py,sha256=amz0-959ph6zkZKqjaar4n60yho-T37w6qWI36qx0CA,1049
|
|
3
3
|
gam/cacerts.pem,sha256=82Ak7btW_2XvocLUvAwPmpx8Chi0oqtZUG1gseLK_t4,50235
|
|
4
4
|
gam/cbcm-v1.1beta1.json,sha256=xO5XloCQQULmPbFBx5bckdqmbLFQ7sJ2TImhE1ysDIY,19439
|
|
@@ -29,7 +29,7 @@ gam/gamlib/glclargs.py,sha256=2pb0bdmWbTM5WrNVlMP-d-pe8f5oY3XuF50m02v8ynk,42199
|
|
|
29
29
|
gam/gamlib/glentity.py,sha256=fqWUlxQqPKlfFrkuPjCK2lZhhFBIZboCuO0qCxuEwqA,33691
|
|
30
30
|
gam/gamlib/glgapi.py,sha256=n3J-kLsMC6pZ89r9i2hZIxCH73T1_WiwJyYVGfyhRsM,39349
|
|
31
31
|
gam/gamlib/glgdata.py,sha256=weRppttWm6uRyqtBoGPKoHiNZ2h28nhfUV4J_mbCszY,2707
|
|
32
|
-
gam/gamlib/glglobals.py,sha256=
|
|
32
|
+
gam/gamlib/glglobals.py,sha256=xGfSHiDpF-FSA6jorBtzy981OVBGTHCUy_HTsmbIiwE,9712
|
|
33
33
|
gam/gamlib/glindent.py,sha256=RfBa2LDfLIqPLL5vMfC689TCVmqn8xf-qulSzkiatrc,1228
|
|
34
34
|
gam/gamlib/glmsgs.py,sha256=3wqw8Hq-l2n_TGkf7xhjQS9W6Xz5Ic2ErgsW3h-7qNM,33465
|
|
35
35
|
gam/gamlib/glskus.py,sha256=xJ1E2BZ_CGHN6I19c9i8DApb5bT5VT-hGyMEmQ5hSRY,15241
|
|
@@ -65,8 +65,8 @@ gam/googleapiclient/discovery_cache/base.py,sha256=yCDPtxnbNN-p5_9fzBacC6P3wcUPl
|
|
|
65
65
|
gam/googleapiclient/discovery_cache/file_cache.py,sha256=sim3Mg4HgRYo3vX75jvcKy_aV568EvIrtBfvfbw-044,4774
|
|
66
66
|
gam/iso8601/__init__.py,sha256=Z2PsYbXgAH5a5xzUvgczCboPzqWpm65kRcIngCnhViU,1218
|
|
67
67
|
gam/iso8601/iso8601.py,sha256=Li2FHZ4sBTWuthuQhyCvmvj0j6At8JbGzkSv2fc2RHU,4384
|
|
68
|
-
gam7-7.7.
|
|
69
|
-
gam7-7.7.
|
|
70
|
-
gam7-7.7.
|
|
71
|
-
gam7-7.7.
|
|
72
|
-
gam7-7.7.
|
|
68
|
+
gam7-7.7.7.dist-info/METADATA,sha256=cHrWG8vJlWd0Mu7T-71RWMxmlC6u0OxZVeJZw7-WCKk,2969
|
|
69
|
+
gam7-7.7.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
70
|
+
gam7-7.7.7.dist-info/entry_points.txt,sha256=HVUM5J7dA8YwvJfG30jiLefR19ExMs387TWugWd9sf4,42
|
|
71
|
+
gam7-7.7.7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
72
|
+
gam7-7.7.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|