From 062ec813a0f8139ddc55d283790c23ca63620a47 Mon Sep 17 00:00:00 2001 From: ssivadas Date: Tue, 12 Oct 2021 04:18:26 +0530 Subject: [PATCH 1/5] add(order): parse args --- timezone_converter/main.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/timezone_converter/main.py b/timezone_converter/main.py index 8e7100a..82746d2 100644 --- a/timezone_converter/main.py +++ b/timezone_converter/main.py @@ -80,6 +80,12 @@ def build_parser() -> argparse.ArgumentParser: metavar='WORD', help='fuzzy search for a timezone', ) + parser.add_argument( + '-o', + '--order', + action='store_true', + help='show timezones in order of difference' + ) return parser @@ -97,6 +103,7 @@ def main() -> int: args.timezone, args.zone, args.hour, + args.order, ).print_table() else: parser.print_help() From 5464cdf9a6dff646429f1092e343f6be949a0744 Mon Sep 17 00:00:00 2001 From: ssivadas Date: Tue, 12 Oct 2021 04:19:19 +0530 Subject: [PATCH 2/5] add(sort feature): zone display --- timezone_converter/comparison_view.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/timezone_converter/comparison_view.py b/timezone_converter/comparison_view.py index d077265..f1e6fd0 100644 --- a/timezone_converter/comparison_view.py +++ b/timezone_converter/comparison_view.py @@ -17,6 +17,7 @@ def __init__( timezones: List[str], zone: bool, hour: Union[int, None], + order: bool, ) -> None: self.zone = zone self.hour = hour @@ -37,6 +38,13 @@ def __init__( ) self.midnights.append(foreign_midnight) + if order: + self._sort_timezone_display() + + def _sort_timezone_display(self): + local_offset = int(self.midnights[0].strftime("%z")) + self.midnights.sort(key=lambda zone: abs(local_offset - int(zone.strftime("%z")))) + def _get_timezone_name(self, timezone: str) -> str: timezone_name = self.timezone_translations.get(timezone.lower()) if timezone_name is None: From f98536ed95125728918f9b43339e66304e84316a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 22:52:19 +0000 Subject: [PATCH 3/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- timezone_converter/comparison_view.py | 6 ++++-- timezone_converter/main.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/timezone_converter/comparison_view.py b/timezone_converter/comparison_view.py index f1e6fd0..2fe9bfb 100644 --- a/timezone_converter/comparison_view.py +++ b/timezone_converter/comparison_view.py @@ -42,8 +42,10 @@ def __init__( self._sort_timezone_display() def _sort_timezone_display(self): - local_offset = int(self.midnights[0].strftime("%z")) - self.midnights.sort(key=lambda zone: abs(local_offset - int(zone.strftime("%z")))) + local_offset = int(self.midnights[0].strftime('%z')) + self.midnights.sort( + key=lambda zone: abs(local_offset - int(zone.strftime('%z'))) + ) def _get_timezone_name(self, timezone: str) -> str: timezone_name = self.timezone_translations.get(timezone.lower()) diff --git a/timezone_converter/main.py b/timezone_converter/main.py index 82746d2..08243a7 100644 --- a/timezone_converter/main.py +++ b/timezone_converter/main.py @@ -84,7 +84,7 @@ def build_parser() -> argparse.ArgumentParser: '-o', '--order', action='store_true', - help='show timezones in order of difference' + help='show timezones in order of difference', ) return parser From b78fe3aca01b11a468f194ad783213bd03602a3d Mon Sep 17 00:00:00 2001 From: ssivadas Date: Tue, 12 Oct 2021 04:24:41 +0530 Subject: [PATCH 4/5] return type annotation - sorting func --- timezone_converter/comparison_view.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/timezone_converter/comparison_view.py b/timezone_converter/comparison_view.py index f1e6fd0..60ae9d2 100644 --- a/timezone_converter/comparison_view.py +++ b/timezone_converter/comparison_view.py @@ -41,7 +41,7 @@ def __init__( if order: self._sort_timezone_display() - def _sort_timezone_display(self): + def _sort_timezone_display(self) -> None: local_offset = int(self.midnights[0].strftime("%z")) self.midnights.sort(key=lambda zone: abs(local_offset - int(zone.strftime("%z")))) From 52973942cdc7afb0ed4df065f591ccd7bd568aa6 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 11 Oct 2021 23:00:40 +0000 Subject: [PATCH 5/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- timezone_converter/comparison_view.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/timezone_converter/comparison_view.py b/timezone_converter/comparison_view.py index 58da764..2273880 100644 --- a/timezone_converter/comparison_view.py +++ b/timezone_converter/comparison_view.py @@ -44,7 +44,7 @@ def __init__( def _sort_timezone_display(self) -> None: local_offset = int(self.midnights[0].strftime('%z')) self.midnights.sort( - key=lambda zone: abs(local_offset - int(zone.strftime('%z'))) + key=lambda zone: abs(local_offset - int(zone.strftime('%z'))), ) def _get_timezone_name(self, timezone: str) -> str: