From 9850bab0d7493b57679b191a4f75c62ccdedca18 Mon Sep 17 00:00:00 2001 From: Bruno Castro-Karney Date: Mon, 17 Apr 2023 11:38:54 -0700 Subject: [PATCH 1/4] Wrap determine_input_date_order_style in a handler object The handler stores state as it processes and removes the various hints, rather than computing it all in one big function. --- .../postgres/copy_options/date_input_style.py | 688 +++++++++--------- 1 file changed, 357 insertions(+), 331 deletions(-) diff --git a/records_mover/db/postgres/copy_options/date_input_style.py b/records_mover/db/postgres/copy_options/date_input_style.py index 597fc1185..17d8b3a00 100644 --- a/records_mover/db/postgres/copy_options/date_input_style.py +++ b/records_mover/db/postgres/copy_options/date_input_style.py @@ -8,15 +8,6 @@ def determine_input_date_order_style(unhandled_hints: Set[str], hints: ValidatedRecordsHints, fail_if_cant_handle_hint: bool) ->\ Optional[DateOrderStyle]: - date_order_style: Optional[DateOrderStyle] = None - - def upgrade_date_order_style(style: DateOrderStyle, hint_name: str) -> None: - nonlocal date_order_style - if date_order_style not in (None, style): - cant_handle_hint(fail_if_cant_handle_hint, hint_name, hints) - else: - date_order_style = style - quiet_remove(unhandled_hints, hint_name) # https://www.postgresql.org/docs/9.5/datatype-datetime.html#DATATYPE-DATETIME-INPUT @@ -40,342 +31,377 @@ def upgrade_date_order_style(style: DateOrderStyle, hint_name: str) -> None: # # postgres=# - datetimeformattz = hints.datetimeformattz + handler = DateInputStyleHandler( + unhandled_hints, hints, fail_if_cant_handle_hint) - # datetimeformattz: Valid values: "YYYY-MM-DD HH:MI:SSOF", - # "YYYY-MM-DD HH:MI:SS", "YYYY-MM-DD HH24:MI:SSOF", "YYYY-MM-DD - # HH24:MI:SSOF", "MM/DD/YY HH24:MI". See Redshift docs for more - # information (note that HH: is equivalent to HH24: and that if - # you don't provide an offset (OF), times are assumed to be in - # UTC). + return handler.date_order_style - # Default value is "YYYY-MM-DD HH:MI:SSOF". - # - # To get a postgres database to test these cases with: - # - # cd tests/integration - # ./itest shell - # db dockerized-postgres - if datetimeformattz in ['YYYY-MM-DD HH:MI:SSOF', - 'YYYY-MM-DD HH24:MI:SSOF']: - # - # postgres=# select timestamptz '2020-01-01 23:01:01-10'; - # timestamptz - # ------------------------ - # 2020-01-02 09:01:01+00 - # (1 row) - # - # postgres=# +class DateInputStyleHandler(): + def __init__(self, + unhandled_hints: Set[str], + hints: ValidatedRecordsHints, + fail_if_cant_handle_hint: bool): - # Any DateStyle will do as this is unambiguous - quiet_remove(unhandled_hints, 'datetimeformattz') - elif datetimeformattz == 'YYYY-MM-DD HH:MI:SS': - # - # - # postgres=# select timestamptz '2020-01-01 23:01:01'; - # timestamptz - # ------------------------ - # 2020-01-01 23:01:01+00 - # (1 row) - # - # postgres=# + self.unhandled_hints = unhandled_hints + self.hints = hints + self.fail_if_cant_handle_hint = fail_if_cant_handle_hint + self.date_order_style: Optional[DateOrderStyle] = None - # Any DateStyle will do as this is unambiguous - quiet_remove(unhandled_hints, 'datetimeformattz') - elif datetimeformattz == "MM/DD/YY HH24:MI": - # "MM/DD/YY HH24:MI" - # - # postgres=# select timestamptz '01/02/2999 23:01'; - # timestamptz - # ------------------------ - # 2999-01-02 23:01:00+00 - # (1 row) - # - # postgres=# - upgrade_date_order_style('MDY', 'datetimeformattz') - elif datetimeformattz == 'DD-MM-YY HH:MI:SSOF': - # postgres=# select timestamptz '02-01-2999 23:01:01-10'; - # timestamptz - # ------------------------ - # 2999-02-02 09:01:01+00 - # (1 row) - # - upgrade_date_order_style('DMY', 'datetimeformattz') - elif datetimeformattz == 'DD/MM/YY HH:MI:SSOF': - # postgres=# select timestamptz '02/01/99 23:01:01-10'; - # timestamptz - # ------------------------ - # 1999-02-02 09:01:01+00 - # (1 row) - # - upgrade_date_order_style('DMY', 'datetimeformattz') - elif datetimeformattz == 'DD-MM-YYYY HH:MI:SSOF': - # postgres=# select timestamptz '02-01-1999 23:01:01-10'; - # timestamptz - # ------------------------ - # 1999-02-02 09:01:01+00 - # (1 row) - # - upgrade_date_order_style('DMY', 'datetimeformattz') - elif datetimeformattz == 'MM/DD/YY HH:MI:SSOF': - # postgres=# select timestamptz '01/02/99 23:01:01-10'; - # timestamptz - # ------------------------ - # 1999-01-03 09:01:01+00 - # (1 row) - # - upgrade_date_order_style('MDY', 'datetimeformattz') - elif datetimeformattz == 'MM-DD-YYYY HH:MI:SSOF': - # postgres=# select timestamptz '01-02-1999 23:01:01-10'; - # timestamptz - # ------------------------ - # 1999-01-03 09:01:01+00 - # (1 row) - # - upgrade_date_order_style('MDY', 'datetimeformattz') - else: - cant_handle_hint(fail_if_cant_handle_hint, 'datetimeformattz', hints) + self.process_hint_datetimeformattz() + self.process_hint_datetimeformat() + self.process_hint_timeonlyformat() + self.process_hint_dateformat() - # datetimeformat: Valid values: "YYYY-MM-DD HH24:MI:SS", - # "YYYY-MM-DD HH12:MI AM", "MM/DD/YY HH24:MI". See Redshift docs - # for more information. + def upgrade_date_order_style(self, style: DateOrderStyle, hint_name: str) -> None: + if self.date_order_style not in (None, style): + cant_handle_hint(self.fail_if_cant_handle_hint, hint_name, self.hints) + else: + self.date_order_style = style + quiet_remove(self.unhandled_hints, hint_name) - datetimeformat = hints.datetimeformat + def process_hint_datetimeformattz(self): + datetimeformattz = self.hints.datetimeformattz - if datetimeformat in ("YYYY-MM-DD HH24:MI:SS", - "YYYY-MM-DD HH:MI:SS"): - # - # postgres=# select timestamp '2020-01-02 15:13:12'; - # timestamp - # --------------------- - # 2020-01-02 15:13:12 - # (1 row) - # - # postgres=# + # datetimeformattz: Valid values: "YYYY-MM-DD HH:MI:SSOF", + # "YYYY-MM-DD HH:MI:SS", "YYYY-MM-DD HH24:MI:SSOF", "YYYY-MM-DD + # HH24:MI:SSOF", "MM/DD/YY HH24:MI". See Redshift docs for more + # information (note that HH: is equivalent to HH24: and that if + # you don't provide an offset (OF), times are assumed to be in + # UTC). + + # Default value is "YYYY-MM-DD HH:MI:SSOF". - # Any DateStyle will do as this is unambiguous - quiet_remove(unhandled_hints, 'datetimeformat') - elif datetimeformat == "YYYY-MM-DD HH12:MI AM": - # "YYYY-MM-DD HH12:MI AM" - # - # postgres=# select timestamp '2020-01-02 1:13 PM'; - # timestamp - # --------------------- - # 2020-01-02 13:13:00 - # (1 row) - # - # postgres=# - - # Any DateStyle will do as this is unambiguous - quiet_remove(unhandled_hints, 'datetimeformat') - elif datetimeformat == "MM/DD/YY HH24:MI": - # postgres=# select timestamp '01/02/20 15:23'; - # timestamp - # --------------------- - # 2020-01-02 15:23:00 - # (1 row) - # - # postgres=# - - upgrade_date_order_style('MDY', 'datetimeformat') - elif datetimeformat == 'DD-MM-YY HH12:MI AM': - # postgres=# select timestamp '02-01-20 3:23 PM'; - # timestamp - # --------------------- - # 2020-02-01 15:23:00 - # (1 row) - # - # postgres=# - upgrade_date_order_style('DMY', 'datetimeformat') - elif datetimeformat == 'DD/MM/YY HH12:MI AM': - # postgres=# select timestamp '02/01/20 3:23 PM'; - # timestamp - # --------------------- - # 2020-02-01 15:23:00 - # (1 row) - # - # postgres=# - upgrade_date_order_style('DMY', 'datetimeformat') - elif datetimeformat == 'DD-MM-YYYY HH12:MI AM': - # postgres=# select timestamp '02-01-2020 3:23 PM'; - # timestamp - # --------------------- - # 2020-02-01 15:23:00 - # (1 row) - # - # postgres=# - upgrade_date_order_style('DMY', 'datetimeformat') - elif datetimeformat == 'MM-DD-YY HH12:MI AM': - # postgres=# select timestamp '02-01-20 3:23 PM'; - # timestamp - # --------------------- - # 2020-02-01 15:23:00 - # (1 row) - # - # postgres=# - upgrade_date_order_style('MDY', 'datetimeformat') - elif datetimeformat == 'MM/DD/YY HH12:MI AM': - # postgres=# select timestamp '02/01/20 3:23 PM'; - # timestamp - # --------------------- - # 2020-02-01 15:23:00 - # (1 row) - # - # postgres=# - upgrade_date_order_style('MDY', 'datetimeformat') - elif datetimeformat == 'MM-DD-YYYY HH12:MI AM': - # postgres=# select timestamp '01-02-2020 3:23 PM'; - # timestamp - # --------------------- - # 2020-01-02 15:23:00 - # (1 row) - # - # postgres=# - upgrade_date_order_style('MDY', 'datetimeformat') - elif datetimeformat == 'MM-DD-YYYY HH:MI:SS': - # postgres=# select timestamp '01-02-2020 3:23 PM'; - # timestamp - # --------------------- - # 2020-01-02 15:23:00 - # (1 row) # - # postgres=# - upgrade_date_order_style('MDY', 'datetimeformat') - else: - cant_handle_hint(fail_if_cant_handle_hint, 'datetimeformat', hints) + # To get a postgres database to test these cases with: + # + # cd tests/integration + # ./itest shell + # db dockerized-postgres + if datetimeformattz in ['YYYY-MM-DD HH:MI:SSOF', + 'YYYY-MM-DD HH24:MI:SSOF']: + # + # postgres=# select timestamptz '2020-01-01 23:01:01-10'; + # timestamptz + # ------------------------ + # 2020-01-02 09:01:01+00 + # (1 row) + # + # postgres=# - timeonlyformat = hints.timeonlyformat + # Any DateStyle will do as this is unambiguous + quiet_remove(self.unhandled_hints, 'datetimeformattz') + elif datetimeformattz == 'YYYY-MM-DD HH:MI:SS': + # + # + # postgres=# select timestamptz '2020-01-01 23:01:01'; + # timestamptz + # ------------------------ + # 2020-01-01 23:01:01+00 + # (1 row) + # + # postgres=# - # timeonlyformat: Valid values: "HH12:MI AM" (e.g., "1:00 PM"), - # "HH24:MI:SS" (e.g., "13:00:00") + # Any DateStyle will do as this is unambiguous + quiet_remove(self.unhandled_hints, 'datetimeformattz') + elif datetimeformattz == "MM/DD/YY HH24:MI": + # "MM/DD/YY HH24:MI" + # + # postgres=# select timestamptz '01/02/2999 23:01'; + # timestamptz + # ------------------------ + # 2999-01-02 23:01:00+00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('MDY', 'datetimeformattz') + elif datetimeformattz == 'DD-MM-YY HH:MI:SSOF': + # postgres=# select timestamptz '02-01-2999 23:01:01-10'; + # timestamptz + # ------------------------ + # 2999-02-02 09:01:01+00 + # (1 row) + # + self.upgrade_date_order_style('DMY', 'datetimeformattz') + elif datetimeformattz == 'DD/MM/YY HH:MI:SSOF': + # postgres=# select timestamptz '02/01/99 23:01:01-10'; + # timestamptz + # ------------------------ + # 1999-02-02 09:01:01+00 + # (1 row) + # + self.upgrade_date_order_style('DMY', 'datetimeformattz') + elif datetimeformattz == 'DD-MM-YYYY HH:MI:SSOF': + # postgres=# select timestamptz '02-01-1999 23:01:01-10'; + # timestamptz + # ------------------------ + # 1999-02-02 09:01:01+00 + # (1 row) + # + self.upgrade_date_order_style('DMY', 'datetimeformattz') + elif datetimeformattz == 'MM/DD/YY HH:MI:SSOF': + # postgres=# select timestamptz '01/02/99 23:01:01-10'; + # timestamptz + # ------------------------ + # 1999-01-03 09:01:01+00 + # (1 row) + # + self.upgrade_date_order_style('MDY', 'datetimeformattz') + elif datetimeformattz == 'MM-DD-YYYY HH:MI:SSOF': + # postgres=# select timestamptz '01-02-1999 23:01:01-10'; + # timestamptz + # ------------------------ + # 1999-01-03 09:01:01+00 + # (1 row) + # + self.upgrade_date_order_style('MDY', 'datetimeformattz') + else: + cant_handle_hint(self.fail_if_cant_handle_hint, + 'datetimeformattz', self.hints) - if timeonlyformat == "HH12:MI AM": - # "HH12:MI AM" (e.g., "1:00 PM"), - # - # postgres=# select time '1:00 PM'; - # time - # ---------- - # 13:00:00 - # (1 row) - # - # postgres=# + def process_hint_datetimeformat(self): + # datetimeformat: Valid values: "YYYY-MM-DD HH24:MI:SS", + # "YYYY-MM-DD HH12:MI AM", "MM/DD/YY HH24:MI". See Redshift docs + # for more information. + + datetimeformat = self.hints.datetimeformat + + if datetimeformat in ("YYYY-MM-DD HH24:MI:SS", + "YYYY-MM-DD HH:MI:SS"): + # + # postgres=# select timestamp '2020-01-02 15:13:12'; + # timestamp + # --------------------- + # 2020-01-02 15:13:12 + # (1 row) + # + # postgres=# + + # Any DateStyle will do as this is unambiguous + quiet_remove(self.unhandled_hints, 'datetimeformat') + elif datetimeformat == "YYYY-MM-DD HH12:MI AM": + # "YYYY-MM-DD HH12:MI AM" + # + # postgres=# select timestamp '2020-01-02 1:13 PM'; + # timestamp + # --------------------- + # 2020-01-02 13:13:00 + # (1 row) + # + # postgres=# - # Supported! - quiet_remove(unhandled_hints, 'timeonlyformat') - elif timeonlyformat == "HH24:MI:SS": + # Any DateStyle will do as this is unambiguous + quiet_remove(self.unhandled_hints, 'datetimeformat') + elif datetimeformat == "MM/DD/YY HH24:MI": + # postgres=# select timestamp '01/02/20 15:23'; + # timestamp + # --------------------- + # 2020-01-02 15:23:00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('MDY', 'datetimeformat') + elif datetimeformat == 'DD-MM-YY HH12:MI AM': + # postgres=# select timestamp '02-01-20 3:23 PM'; + # timestamp + # --------------------- + # 2020-02-01 15:23:00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('DMY', 'datetimeformat') + elif datetimeformat == 'DD/MM/YY HH12:MI AM': + # postgres=# select timestamp '02/01/20 3:23 PM'; + # timestamp + # --------------------- + # 2020-02-01 15:23:00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('DMY', 'datetimeformat') + elif datetimeformat == 'DD-MM-YYYY HH12:MI AM': + # postgres=# select timestamp '02-01-2020 3:23 PM'; + # timestamp + # --------------------- + # 2020-02-01 15:23:00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('DMY', 'datetimeformat') + elif datetimeformat == 'MM-DD-YY HH12:MI AM': + # postgres=# select timestamp '02-01-20 3:23 PM'; + # timestamp + # --------------------- + # 2020-02-01 15:23:00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('MDY', 'datetimeformat') + elif datetimeformat == 'MM/DD/YY HH12:MI AM': + # postgres=# select timestamp '02/01/20 3:23 PM'; + # timestamp + # --------------------- + # 2020-02-01 15:23:00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('MDY', 'datetimeformat') + elif datetimeformat == 'MM-DD-YYYY HH12:MI AM': + # postgres=# select timestamp '01-02-2020 3:23 PM'; + # timestamp + # --------------------- + # 2020-01-02 15:23:00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('MDY', 'datetimeformat') + elif datetimeformat == 'MM-DD-YYYY HH:MI:SS': + # postgres=# select timestamp '01-02-2020 3:23 PM'; + # timestamp + # --------------------- + # 2020-01-02 15:23:00 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('MDY', 'datetimeformat') + else: + cant_handle_hint(self.fail_if_cant_handle_hint, + 'datetimeformat', self.hints) + + def process_hint_timeonlyformat(self): + timeonlyformat = self.hints.timeonlyformat + + # timeonlyformat: Valid values: "HH12:MI AM" (e.g., "1:00 PM"), # "HH24:MI:SS" (e.g., "13:00:00") - # - # postgres=# select time '13:00:00'; - # time - # ---------- - # 13:00:00 - # (1 row) - # - # postgres=# - - # Supported! - quiet_remove(unhandled_hints, 'timeonlyformat') - elif timeonlyformat == "HH:MI:SS": - # postgres=# select time '13:00:00'; - # time - # ---------- - # 13:00:00 - # (1 row) - # - # postgres=# - quiet_remove(unhandled_hints, 'timeonlyformat') - elif timeonlyformat == "HH24:MI": - # "HH24:MI" (e.g., "13:00") - # - # postgres=# select time '13:00'; - # time - # ---------- - # 13:00:00 - # (1 row) - # - # postgres=# - - # Supported! - quiet_remove(unhandled_hints, 'timeonlyformat') - else: - cant_handle_hint(fail_if_cant_handle_hint, 'timeonlyformat', hints) - - # dateformat: Valid values: null, "YYYY-MM-DD", "MM-DD-YYYY", "DD-MM-YYYY", "MM/DD/YY". - dateformat = hints.dateformat - - if dateformat == "YYYY-MM-DD": - # postgres=# select date '1999-01-02'; - # date - # ------------ - # 1999-01-02 - # (1 row) - # - # postgres=# - # Any DateStyle will do as this is unambiguous - quiet_remove(unhandled_hints, 'dateformat') - elif dateformat == "MM-DD-YYYY": - # "MM-DD-YYYY" - # - # postgres=# select date '01-02-1999'; - # date - # ------------ - # 1999-01-02 - # (1 row) - # - # postgres=# - upgrade_date_order_style('MDY', 'dateformat') - elif dateformat == "DD-MM-YYYY": - # "DD-MM-YYYY" - not supported by default, need to switch to - # DMY: - # - # postgres=# select date '02-01-1999'; - # date - # ------------ - # 1999-02-01 - # (1 row) - # - # postgres=# - upgrade_date_order_style('DMY', 'dateformat') - elif dateformat == "DD-MM-YY": - # postgres=# select date '02-01-99'; - # date - # ------------ - # 1999-02-01 - # (1 row) - # - # postgres=# - upgrade_date_order_style('DMY', 'dateformat') - elif dateformat == "MM/DD/YY": - # "MM/DD/YY". - # - # postgres=# select date '01/02/99'; - # date - # ------------ - # 1999-01-02 - # (1 row) - # - # postgres=# - upgrade_date_order_style('MDY', 'dateformat') - elif dateformat == "DD/MM/YY": - # postgres=# select date '02/01/99'; - # date - # ------------ - # 1999-02-01 - # (1 row) - # - # postgres=# - upgrade_date_order_style('DMY', 'dateformat') - elif dateformat is None: - # null implies that that date format is unknown, and that the - # implementation SHOULD generate using their default value and - # parse permissively. - - # ...which is what Postgres does! - quiet_remove(unhandled_hints, 'dateformat') - else: - cant_handle_hint(fail_if_cant_handle_hint, 'dateformat', hints) - - return date_order_style + if timeonlyformat == "HH12:MI AM": + # "HH12:MI AM" (e.g., "1:00 PM"), + # + # postgres=# select time '1:00 PM'; + # time + # ---------- + # 13:00:00 + # (1 row) + # + # postgres=# + + # Supported! + quiet_remove(self.unhandled_hints, 'timeonlyformat') + elif timeonlyformat == "HH24:MI:SS": + + # "HH24:MI:SS" (e.g., "13:00:00") + # + # postgres=# select time '13:00:00'; + # time + # ---------- + # 13:00:00 + # (1 row) + # + # postgres=# + + # Supported! + quiet_remove(self.unhandled_hints, 'timeonlyformat') + elif timeonlyformat == "HH:MI:SS": + # postgres=# select time '13:00:00'; + # time + # ---------- + # 13:00:00 + # (1 row) + # + # postgres=# + quiet_remove(self.unhandled_hints, 'timeonlyformat') + elif timeonlyformat == "HH24:MI": + + # "HH24:MI" (e.g., "13:00") + # + # postgres=# select time '13:00'; + # time + # ---------- + # 13:00:00 + # (1 row) + # + # postgres=# + + # Supported! + quiet_remove(self.unhandled_hints, 'timeonlyformat') + else: + cant_handle_hint(self.fail_if_cant_handle_hint, 'timeonlyformat', self.hints) + + def process_hint_dateformat(self): + # dateformat: Valid values: + # null, "YYYY-MM-DD", "MM-DD-YYYY", "DD-MM-YYYY", "MM/DD/YY". + dateformat = self.hints.dateformat + + if dateformat == "YYYY-MM-DD": + # postgres=# select date '1999-01-02'; + # date + # ------------ + # 1999-01-02 + # (1 row) + # + # postgres=# + # Any DateStyle will do as this is unambiguous + quiet_remove(self.unhandled_hints, 'dateformat') + elif dateformat == "MM-DD-YYYY": + # "MM-DD-YYYY" + # + # postgres=# select date '01-02-1999'; + # date + # ------------ + # 1999-01-02 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('MDY', 'dateformat') + elif dateformat == "DD-MM-YYYY": + # "DD-MM-YYYY" - not supported by default, need to switch to + # DMY: + # + # postgres=# select date '02-01-1999'; + # date + # ------------ + # 1999-02-01 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('DMY', 'dateformat') + elif dateformat == "DD-MM-YY": + # postgres=# select date '02-01-99'; + # date + # ------------ + # 1999-02-01 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('DMY', 'dateformat') + elif dateformat == "MM/DD/YY": + # "MM/DD/YY". + # + # postgres=# select date '01/02/99'; + # date + # ------------ + # 1999-01-02 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('MDY', 'dateformat') + elif dateformat == "DD/MM/YY": + # postgres=# select date '02/01/99'; + # date + # ------------ + # 1999-02-01 + # (1 row) + # + # postgres=# + self.upgrade_date_order_style('DMY', 'dateformat') + elif dateformat is None: + # null implies that that date format is unknown, and that the + # implementation SHOULD generate using their default value and + # parse permissively. + + # ...which is what Postgres does! + quiet_remove(self.unhandled_hints, 'dateformat') + else: + cant_handle_hint(self.fail_if_cant_handle_hint, + 'dateformat', self.hints) From 5ba18128900ef6c8c180e2ac680fd1d3be290058 Mon Sep 17 00:00:00 2001 From: Bruno Castro-Karney Date: Mon, 17 Apr 2023 11:54:45 -0700 Subject: [PATCH 2/4] ratchet flake8 --- metrics/flake8_high_water_mark | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metrics/flake8_high_water_mark b/metrics/flake8_high_water_mark index 0cfbf0888..d00491fd7 100644 --- a/metrics/flake8_high_water_mark +++ b/metrics/flake8_high_water_mark @@ -1 +1 @@ -2 +1 From 547778f30d7d1205674b3c7e546497b322dd8d28 Mon Sep 17 00:00:00 2001 From: Bruno Castro-Karney Date: Mon, 17 Apr 2023 12:50:00 -0700 Subject: [PATCH 3/4] bump mypy coverage --- metrics/mypy_high_water_mark | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metrics/mypy_high_water_mark b/metrics/mypy_high_water_mark index 1dd6f5f9f..72669a2a4 100644 --- a/metrics/mypy_high_water_mark +++ b/metrics/mypy_high_water_mark @@ -1 +1 @@ -90.6000 +92.2800 From 5403ede9655c96f3dabda550614372a34ca30af9 Mon Sep 17 00:00:00 2001 From: Bruno Castro-Karney Date: Mon, 17 Apr 2023 13:12:32 -0700 Subject: [PATCH 4/4] ratchet down mypy coverage --- metrics/mypy_high_water_mark | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metrics/mypy_high_water_mark b/metrics/mypy_high_water_mark index 72669a2a4..d182afd09 100644 --- a/metrics/mypy_high_water_mark +++ b/metrics/mypy_high_water_mark @@ -1 +1 @@ -92.2800 +89.7400