mirror of
https://github.com/GAM-team/GAM.git
synced 2026-07-04 21:01:36 +00:00
Add GAM_CSV_HEADER_DROP_FILTER (#1158)
It may be simpler to list headers you don't want that headers you do want
This commit is contained in:
@@ -130,8 +130,8 @@ def write_csv_file(csvRows, titles, list_type, todrive):
|
|||||||
return False
|
return False
|
||||||
return rowBoolean == filterBoolean
|
return rowBoolean == filterBoolean
|
||||||
|
|
||||||
def headerFilterMatch(title):
|
def headerFilterMatch(filters, title):
|
||||||
for filterStr in GC_Values[GC_CSV_HEADER_FILTER]:
|
for filterStr in filters:
|
||||||
if filterStr.match(title):
|
if filterStr.match(title):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
@@ -151,10 +151,13 @@ def write_csv_file(csvRows, titles, list_type, todrive):
|
|||||||
csvRows = [row for row in csvRows if rowCountFilterMatch(row.get(column, 0), filterVal[1], filterVal[2])]
|
csvRows = [row for row in csvRows if rowCountFilterMatch(row.get(column, 0), filterVal[1], filterVal[2])]
|
||||||
else: #boolean
|
else: #boolean
|
||||||
csvRows = [row for row in csvRows if rowBooleanFilterMatch(row.get(column, False), filterVal[1])]
|
csvRows = [row for row in csvRows if rowBooleanFilterMatch(row.get(column, False), filterVal[1])]
|
||||||
|
if GC_Values[GC_CSV_HEADER_FILTER] or GC_Values[GC_CSV_HEADER_DROP_FILTER]:
|
||||||
|
if GC_Values[GC_CSV_HEADER_DROP_FILTER]:
|
||||||
|
titles = [t for t in titles if not headerFilterMatch(GC_Values[GC_CSV_HEADER_DROP_FILTER], t)]
|
||||||
if GC_Values[GC_CSV_HEADER_FILTER]:
|
if GC_Values[GC_CSV_HEADER_FILTER]:
|
||||||
titles = [t for t in titles if headerFilterMatch(t)]
|
titles = [t for t in titles if headerFilterMatch(GC_Values[GC_CSV_HEADER_FILTER], t)]
|
||||||
if not titles:
|
if not titles:
|
||||||
controlflow.system_error_exit(3, 'No columns selected with GAM_CSV_HEADER_FILTER\n')
|
controlflow.system_error_exit(3, 'No columns selected with GAM_CSV_HEADER_FILTER and GAM_CSV_HEADER_DROP_FILTER\n')
|
||||||
return
|
return
|
||||||
csv.register_dialect('nixstdout', lineterminator='\n')
|
csv.register_dialect('nixstdout', lineterminator='\n')
|
||||||
if todrive:
|
if todrive:
|
||||||
|
|||||||
@@ -431,6 +431,7 @@ def SetGlobalVariables():
|
|||||||
_getOldEnvVar(GC_AUTO_BATCH_MIN, 'GAM_AUTOBATCH')
|
_getOldEnvVar(GC_AUTO_BATCH_MIN, 'GAM_AUTOBATCH')
|
||||||
_getOldEnvVar(GC_BATCH_SIZE, 'GAM_BATCH_SIZE')
|
_getOldEnvVar(GC_BATCH_SIZE, 'GAM_BATCH_SIZE')
|
||||||
_getOldEnvVar(GC_CSV_HEADER_FILTER, 'GAM_CSV_HEADER_FILTER')
|
_getOldEnvVar(GC_CSV_HEADER_FILTER, 'GAM_CSV_HEADER_FILTER')
|
||||||
|
_getOldEnvVar(GC_CSV_HEADER_DROP_FILTER, 'GAM_CSV_HEADER_DROP_FILTER')
|
||||||
_getOldEnvVar(GC_CSV_ROW_FILTER, 'GAM_CSV_ROW_FILTER')
|
_getOldEnvVar(GC_CSV_ROW_FILTER, 'GAM_CSV_ROW_FILTER')
|
||||||
_getOldEnvVar(GC_TLS_MIN_VERSION, 'GAM_TLS_MIN_VERSION')
|
_getOldEnvVar(GC_TLS_MIN_VERSION, 'GAM_TLS_MIN_VERSION')
|
||||||
_getOldEnvVar(GC_TLS_MAX_VERSION, 'GAM_TLS_MAX_VERSION')
|
_getOldEnvVar(GC_TLS_MAX_VERSION, 'GAM_TLS_MAX_VERSION')
|
||||||
|
|||||||
@@ -843,6 +843,8 @@ GC_SHOW_GETTINGS = 'show_gettings'
|
|||||||
GC_SITE_DIR = 'site_dir'
|
GC_SITE_DIR = 'site_dir'
|
||||||
# CSV Columns GAM should show on CSV output
|
# CSV Columns GAM should show on CSV output
|
||||||
GC_CSV_HEADER_FILTER = 'csv_header_filter'
|
GC_CSV_HEADER_FILTER = 'csv_header_filter'
|
||||||
|
# CSV Columns GAM should not show on CSV output
|
||||||
|
GC_CSV_HEADER_DROP_FILTER = 'csv_header_drop_filter'
|
||||||
# CSV Rows GAM should filter
|
# CSV Rows GAM should filter
|
||||||
GC_CSV_ROW_FILTER = 'csv_row_filter'
|
GC_CSV_ROW_FILTER = 'csv_row_filter'
|
||||||
# Minimum TLS Version required for HTTPS connections
|
# Minimum TLS Version required for HTTPS connections
|
||||||
@@ -878,6 +880,7 @@ GC_Defaults = {
|
|||||||
GC_SHOW_GETTINGS: True,
|
GC_SHOW_GETTINGS: True,
|
||||||
GC_SITE_DIR: '',
|
GC_SITE_DIR: '',
|
||||||
GC_CSV_HEADER_FILTER: '',
|
GC_CSV_HEADER_FILTER: '',
|
||||||
|
GC_CSV_HEADER_DROP_FILTER: '',
|
||||||
GC_CSV_ROW_FILTER: '',
|
GC_CSV_ROW_FILTER: '',
|
||||||
GC_TLS_MIN_VERSION: tls_min,
|
GC_TLS_MIN_VERSION: tls_min,
|
||||||
GC_TLS_MAX_VERSION: None,
|
GC_TLS_MAX_VERSION: None,
|
||||||
@@ -925,6 +928,7 @@ GC_VAR_INFO = {
|
|||||||
GC_SHOW_GETTINGS: {GC_VAR_TYPE: GC_TYPE_BOOLEAN},
|
GC_SHOW_GETTINGS: {GC_VAR_TYPE: GC_TYPE_BOOLEAN},
|
||||||
GC_SITE_DIR: {GC_VAR_TYPE: GC_TYPE_DIRECTORY},
|
GC_SITE_DIR: {GC_VAR_TYPE: GC_TYPE_DIRECTORY},
|
||||||
GC_CSV_HEADER_FILTER: {GC_VAR_TYPE: GC_TYPE_HEADERFILTER},
|
GC_CSV_HEADER_FILTER: {GC_VAR_TYPE: GC_TYPE_HEADERFILTER},
|
||||||
|
GC_CSV_HEADER_DROP_FILTER: {GC_VAR_TYPE: GC_TYPE_HEADERFILTER},
|
||||||
GC_CSV_ROW_FILTER: {GC_VAR_TYPE: GC_TYPE_ROWFILTER},
|
GC_CSV_ROW_FILTER: {GC_VAR_TYPE: GC_TYPE_ROWFILTER},
|
||||||
GC_TLS_MIN_VERSION: {GC_VAR_TYPE: GC_TYPE_STRING},
|
GC_TLS_MIN_VERSION: {GC_VAR_TYPE: GC_TYPE_STRING},
|
||||||
GC_TLS_MAX_VERSION: {GC_VAR_TYPE: GC_TYPE_STRING},
|
GC_TLS_MAX_VERSION: {GC_VAR_TYPE: GC_TYPE_STRING},
|
||||||
|
|||||||
Reference in New Issue
Block a user