From 3b900ca56f50c3e8bba7419080c6d07c9179b377 Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Wed, 21 May 2025 20:21:15 -0700 Subject: [PATCH] Added eventrowfilter to print events ... countsonly --- src/gam/__init__.py | 23 ++++++++++++++++++----- src/gam/gamlib/glglobals.py | 1 + 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/gam/__init__.py b/src/gam/__init__.py index 81cc180c..76e34eff 100755 --- a/src/gam/__init__.py +++ b/src/gam/__init__.py @@ -8565,7 +8565,7 @@ class CSVPrintFile(): if not self.JSONtitlesSet: 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)) - def writeCSVfile(self, list_type): + def writeCSVfile(self, list_type, clearRowFilters=False): def todriveCSVErrorExit(entityValueList, errMsg): systemErrorExit(ACTION_FAILED_RC, formatKeyValueList(Ind.Spaces(), @@ -8956,6 +8956,8 @@ class CSVPrintFile(): self.oneItemPerRow, self.showPermissionsLast, self.zeroBlankMimeTypeCounts))) + if clearRowFilters: + GM.Globals[GM.CSVFILE][GM.REDIRECT_QUEUE].put((GM.REDIRECT_QUEUE_CLEAR_ROW_FILTERS, clearRowFilters)) GM.Globals[GM.CSVFILE][GM.REDIRECT_QUEUE].put((GM.REDIRECT_QUEUE_DATA, self.rows)) return if self.zeroBlankMimeTypeCounts: @@ -9582,6 +9584,7 @@ def CSVFileQueueHandler(mpQueue, mpQueueStdout, mpQueueStderr, csvPF, datetimeNo GM.Globals[GM.DATETIME_NOW] = datetimeNow GC.Values[GC.TIMEZONE] = tzinfo GC.Values[GC.OUTPUT_TIMEFORMAT] = output_timeformat + clearRowFilters = False # if sys.platform.startswith('win'): # signal.signal(signal.SIGINT, signal.SIG_IGN) if multiprocessing.get_start_method() == 'spawn': @@ -9639,9 +9642,15 @@ def CSVFileQueueHandler(mpQueue, mpQueueStdout, mpQueueStderr, csvPF, datetimeNo csvPF.SetTimestampColumn(GC.Values[GC.CSV_OUTPUT_TIMESTAMP_COLUMN]) csvPF.SetHeaderFilter(GC.Values[GC.CSV_OUTPUT_HEADER_FILTER]) csvPF.SetHeaderDropFilter(GC.Values[GC.CSV_OUTPUT_HEADER_DROP_FILTER]) - csvPF.SetRowFilter(GC.Values[GC.CSV_OUTPUT_ROW_FILTER], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE]) - csvPF.SetRowDropFilter(GC.Values[GC.CSV_OUTPUT_ROW_DROP_FILTER], GC.Values[GC.CSV_OUTPUT_ROW_DROP_FILTER_MODE]) + if not clearRowFilters: + csvPF.SetRowFilter(GC.Values[GC.CSV_OUTPUT_ROW_FILTER], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE]) + csvPF.SetRowDropFilter(GC.Values[GC.CSV_OUTPUT_ROW_DROP_FILTER], GC.Values[GC.CSV_OUTPUT_ROW_DROP_FILTER_MODE]) + else: + csvPF.SetRowFilter([], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE]) + csvPF.SetRowDropFilter([], GC.Values[GC.CSV_OUTPUT_ROW_DROP_FILTER_MODE]) csvPF.SetRowLimit(GC.Values[GC.CSV_OUTPUT_ROW_LIMIT]) + elif dataType == GM.REDIRECT_QUEUE_CLEAR_ROW_FILTERS: + clearRowFilters = dataItem else: #GM.REDIRECT_QUEUE_EOF break csvPF.writeCSVfile(list_type) @@ -39927,7 +39936,9 @@ def doCalendarsPrintShowEvents(calIds): if calendarEventEntity['countsOnly'] and calendarEventEntity['eventRowFilter']: csvPF.SetRowFilter([], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE]) csvPF.SetTitles(calendarEventEntity['countsOnlyTitles']) - csvPF.writeCSVfile('Calendar Events') + csvPF.writeCSVfile('Calendar Events', True) + else: + csvPF.writeCSVfile('Calendar Events') # ::== # [description ] [location ] [summary ] [timezone ] @@ -51421,7 +51432,9 @@ def printShowCalendarEvents(users): if calendarEventEntity['countsOnly'] and calendarEventEntity['eventRowFilter']: csvPF.SetRowFilter([], GC.Values[GC.CSV_OUTPUT_ROW_FILTER_MODE]) csvPF.SetTitles(calendarEventEntity['countsOnlyTitles']) - csvPF.writeCSVfile('Calendar Events') + csvPF.writeCSVfile('Calendar Events', True) + else: + csvPF.writeCSVfile('Calendar Events') def getStatusEventDateTime(dateType, dateList): if dateType == 'timerange': diff --git a/src/gam/gamlib/glglobals.py b/src/gam/gamlib/glglobals.py index 51eec1e8..07750dd9 100644 --- a/src/gam/gamlib/glglobals.py +++ b/src/gam/gamlib/glglobals.py @@ -207,6 +207,7 @@ REDIRECT_WRITE_HEADER = 'rdwh' REDIRECT_MULTIPROCESS = 'rdmp' REDIRECT_QUEUE = 'rdq' REDIRECT_QUEUE_NAME = 'name' +REDIRECT_QUEUE_CLEAR_ROW_FILTERS = 'clearRowFilters' REDIRECT_QUEUE_TODRIVE = 'todrive' REDIRECT_QUEUE_CSVPF = 'csvpf' REDIRECT_QUEUE_DATA = 'rows'