diff --git a/lflex_celcat_survival/cmd/fetch_celcat.py b/lflex_celcat_survival/cmd/fetch_celcat.py index 49898ef42501488f3eb489f6d2932862f3ca4007..ea3f8dc4b71e1100262a14cb5615d871ad0e3036 100755 --- a/lflex_celcat_survival/cmd/fetch_celcat.py +++ b/lflex_celcat_survival/cmd/fetch_celcat.py @@ -9,7 +9,8 @@ import lflex_celcat_survival as lcs @click.option('--csv-raw', default=None, help='If set, raw (unfiltered) events are written as CSV to this file.') @click.option('--csv', default=None, help='If set, filteret events are written as CSV to this file.') @click.option('--ics', default=None, help='If set, filtered events are written as ICS to this file.') -def main(course_request_file, json, csv_raw, csv, ics): +@click.option('--csv-no-description', is_flag=True, default=False, help='If set, CSV outputs will not contain the description column.') +def main(course_request_file, json, csv_raw, csv, ics, csv_no_description): logging.basicConfig(level=logging.INFO) req = lcs.course_request.CourseRequest(course_request_file) @@ -24,16 +25,20 @@ def main(course_request_file, json, csv_raw, csv, ics): if all(o is None for o in [csv_raw, csv, ics]): return + csv_columns_to_drop = [] + if csv_no_description: + csv_columns_to_drop = ['description'] + celcat_events = lcs.events.CelcatEvents(celcat_raw_response) if csv_raw is not None: - celcat_events.df.to_csv(csv_raw, index=False) + celcat_events.df.drop(columns=csv_columns_to_drop).to_csv(csv_raw, index=False) if all(o is None for o in [csv, ics]): return filtered_celcat_events = lcs.events.FilteredCelcatEvents(req, celcat_events) filtered_celcat_events.check_expected_nb_timeslots() if csv is not None: - filtered_celcat_events.df.to_csv(csv, index=False) + filtered_celcat_events.df.drop(columns=csv_columns_to_drop).to_csv(csv, index=False) if all(o is None for o in [ics]): return