From 7b905911afbe730ec034bb39b3851b623cb2a613 Mon Sep 17 00:00:00 2001 From: Jon Michael Aanes Date: Sun, 2 Jun 2024 23:16:11 +0200 Subject: [PATCH] Ruff format --- personal_data/__main__.py | 6 +++-- personal_data/_version.py | 2 +- personal_data/fetchers/defi_kucoin.py | 3 +-- .../fetchers/defi_partisia_blockchain.py | 10 +------ personal_data/fetchers/fin_depo.py | 8 +++--- personal_data/main.py | 10 +++---- personal_data/notification.py | 26 ++++++------------- setup.py | 3 +++ 8 files changed, 26 insertions(+), 42 deletions(-) diff --git a/personal_data/__main__.py b/personal_data/__main__.py index 62c1d04..94e9899 100644 --- a/personal_data/__main__.py +++ b/personal_data/__main__.py @@ -17,7 +17,9 @@ def parse_arguments(): ) parser.add_argument('--cookiejar', action='store_true') parser.add_argument('--email', action='store_true', dest='send_email_notification') - parser.add_argument('--loud-sound', action='store_true', dest='trigger_loud_and_annoying_sound') + parser.add_argument( + '--loud-sound', action='store_true', dest='trigger_loud_and_annoying_sound', + ) return parser.parse_args() @@ -37,7 +39,7 @@ def main(): personal_data.main.main( scraper_filter, use_cookiejar=args.cookiejar, - notification_types = frozenset(notification_types), + notification_types=frozenset(notification_types), ) diff --git a/personal_data/_version.py b/personal_data/_version.py index 6fd5ff1..ac1125f 100644 --- a/personal_data/_version.py +++ b/personal_data/_version.py @@ -1 +1 @@ -__version__ = '0.1.15' \ No newline at end of file +__version__ = '0.1.15' diff --git a/personal_data/fetchers/defi_kucoin.py b/personal_data/fetchers/defi_kucoin.py index 34d595c..240fa5e 100644 --- a/personal_data/fetchers/defi_kucoin.py +++ b/personal_data/fetchers/defi_kucoin.py @@ -1,10 +1,8 @@ -import abc import dataclasses import datetime import logging from collections.abc import Iterator, Mapping -import fin_depo import kucoin.client from frozendict import frozendict @@ -22,6 +20,7 @@ client = kucoin.client.Client( secrets.KUCOIN_PASS, ) + def addresses_to_data_points(addresses: list[dict[str, str]]) -> frozendict: data_point = {} data_point['account.update_time'] = datetime.datetime.now(tz=datetime.UTC) diff --git a/personal_data/fetchers/defi_partisia_blockchain.py b/personal_data/fetchers/defi_partisia_blockchain.py index 338f5ba..4beb2d9 100644 --- a/personal_data/fetchers/defi_partisia_blockchain.py +++ b/personal_data/fetchers/defi_partisia_blockchain.py @@ -1,18 +1,10 @@ import dataclasses -import datetime -import email.utils -import json import logging from collections.abc import Iterator, Mapping -from decimal import Decimal -import requests -from frozendict import frozendict - -from personal_data.data import DeduplicateMode, Scraper import fin_depo -from .. import secrets +from personal_data.data import DeduplicateMode, Scraper logger = logging.getLogger(__name__) diff --git a/personal_data/fetchers/fin_depo.py b/personal_data/fetchers/fin_depo.py index 9ce1e85..93c9059 100644 --- a/personal_data/fetchers/fin_depo.py +++ b/personal_data/fetchers/fin_depo.py @@ -1,11 +1,9 @@ import abc import dataclasses -import datetime import logging from collections.abc import Iterator, Mapping import fin_depo -import kucoin.client from frozendict import frozendict from personal_data.data import DeduplicateMode, Scraper @@ -60,13 +58,13 @@ class KucoinAccountBalances(FinanceDepoScraper): kucoin_pass=secrets.KUCOIN_PASS, ) + @dataclasses.dataclass(frozen=True) class MpcBalance(FinanceDepoScraper): dataset_name = 'defi_mpc_balance' def get_depo_fetcher(self): return fin_depo.defi_partisia_blockchain.PartisiaBlockchainAccountDepoFetcher( - self.session, - blockchain_address = secrets.PBC_ACCOUNT_ADDRESS + self.session, + blockchain_address=secrets.PBC_ACCOUNT_ADDRESS, ) - diff --git a/personal_data/main.py b/personal_data/main.py index 01fdb6b..078a7e6 100644 --- a/personal_data/main.py +++ b/personal_data/main.py @@ -28,6 +28,7 @@ except ImportError: import personal_data.data import personal_data.fetchers + from . import notification CSV_DIALECT = 'one_true_dialect' @@ -235,7 +236,7 @@ def main( logger.warning('No cookiejar is used') if len(notification_types) == 0: - logger.info('Email not enabled: Notifications will not be sent!') + logger.info('No notifications enabled: Notifications will not be sent!') for scraper_cls in available_scrapers(): session = get_session(cookiejar, with_cfscrape=scraper_cls.requires_cfscrape()) @@ -264,9 +265,8 @@ def main( logger.info('Scraper done: %s', scraper.dataset_name) if status['extended']: - notification.send_notifications(session, - scraper_cls.__name__, - status['dicts'][-1], - notification_types) + notification.send_notifications( + session, scraper_cls.__name__, status['dicts'][-1], notification_types, + ) del scraper, session diff --git a/personal_data/notification.py b/personal_data/notification.py index 54650da..3323f8b 100644 --- a/personal_data/notification.py +++ b/personal_data/notification.py @@ -1,31 +1,19 @@ -import csv -import datetime -import decimal -import inspect -import io +import enum import logging -from collections.abc import Iterable, Mapping, Sequence -from decimal import Decimal import requests -import requests_cache from frozendict import frozendict -import personal_data.data -import personal_data.fetchers - from . import mailgun -import enum - logger = logging.getLogger(__name__) + class NotificationType(enum.Enum): EMAIL = 1 LOUD_SOUND = 2 - def send_email_notification( session: requests.Session, scraper_name: str, @@ -44,9 +32,10 @@ def play_loud_and_annoying_sound( ) -> None: pass + NOTIFICATION_TYPE_TO_NOTIFIER = { - NotificationType.EMAIL: send_email_notification, - NotificationType.LOUD_SOUND: play_loud_and_annoying_sound, + NotificationType.EMAIL: send_email_notification, + NotificationType.LOUD_SOUND: play_loud_and_annoying_sound, } @@ -57,5 +46,6 @@ def send_notifications( notification_types: set[NotificationType], ) -> None: for notification_type in notification_types: - NOTIFICATION_TYPE_TO_NOTIFIER[notification_type](session, scraper_name, latest_dict) - + NOTIFICATION_TYPE_TO_NOTIFIER[notification_type]( + session, scraper_name, latest_dict, + ) diff --git a/setup.py b/setup.py index 4868d7e..298792b 100644 --- a/setup.py +++ b/setup.py @@ -15,6 +15,7 @@ PACKAGE_NAME = 'personal_data' with open('README.md') as f: readme = f.read() + def parse_version_file(text: str) -> str: match = re.match(r'^__version__\s*=\s*(["\'])([\d\.]+)\1$', text) if match is None: @@ -22,9 +23,11 @@ def parse_version_file(text: str) -> str: raise Exception(msg) return match.group(2) + with open(PACKAGE_NAME + '/_version.py') as f: version = parse_version_file(f.read()) + def parse_requirements(text: str) -> list[str]: return text.strip().split('\n')