From f5180334f884daf044eee8910dba0ded2a2e2b21 Mon Sep 17 00:00:00 2001 From: Tobias Schmidl Date: Tue, 27 Apr 2021 13:49:08 +0200 Subject: [PATCH] added initial --- .gitignore | 1 + .gitlab-ci.yml | 22 ++++++++++++++++ .gitmodules | 3 +++ .pscaffold | 1 + .style.yapf | 1 + pylama.ini | 1 + requirements.txt | 11 ++++++++ todo.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 108 insertions(+) create mode 120000 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .gitmodules create mode 160000 .pscaffold create mode 120000 .style.yapf create mode 120000 pylama.ini create mode 100644 requirements.txt create mode 100755 todo.py diff --git a/.gitignore b/.gitignore new file mode 120000 index 0000000..c803af3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.pscaffold/.gitignore \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..0f33f75 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,22 @@ +image: python + +test:pylama: + stage: test + only: + - master + - develop + before_script: + - if test -r requirements.txt; then pip install -r requirements.txt; fi + script: + if test -x "$(which pylama)"; then pylama *.py; fi + +test:pytest: + stage: test + only: + - master + - develop + before_script: + - if test -r requirements.txt; then pip install -r requirements.txt; fi + script: + if test -x "$(which pytest)"; then pytest .; fi + diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..09f64d6 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule ".pscaffold"] + path = .pscaffold + url = git@gitlab.com:schtobia/pscaffold.git diff --git a/.pscaffold b/.pscaffold new file mode 160000 index 0000000..524a5a1 --- /dev/null +++ b/.pscaffold @@ -0,0 +1 @@ +Subproject commit 524a5a12433b02c6961b1ae73807cf8eb0e6958b diff --git a/.style.yapf b/.style.yapf new file mode 120000 index 0000000..e4269e9 --- /dev/null +++ b/.style.yapf @@ -0,0 +1 @@ +.pscaffold/.style.yapf \ No newline at end of file diff --git a/pylama.ini b/pylama.ini new file mode 120000 index 0000000..9ad5e0b --- /dev/null +++ b/pylama.ini @@ -0,0 +1 @@ +.pscaffold/pylama.ini \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2894f61 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,11 @@ +eradicate>=2.0.0 +isort>=5.5.0 +mccabe>=0.6.0 +mypy>=0.812 +pycodestyle>=2.6.0 +pydocstyle>=5.1.0 +pyflakes>=2.2.0 +pylama>=7.7.0 +pylint>=2.6.0 +todotxtio>=0.2.3 +yapf>=0.27.0 diff --git a/todo.py b/todo.py new file mode 100755 index 0000000..63ac06c --- /dev/null +++ b/todo.py @@ -0,0 +1,68 @@ +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- + +"""Retrieves covid19 numbers from RKI for `argos `.""" + +# httping +# v1.0 +# Tobias Schmidl +# schtobia +# Short description of what your plugin does. +# +# python,requests +# https://gitlab.com/schtobia/argos-corona/blob/master/corona.py + +from __future__ import annotations + +from pathlib import Path + +import todotxtio # type: ignore + +__author__ = "Tobias Schmidl" +__copyright__ = "Copyright 2021, Tobias Schmidl" +__license__ = "MIT" +__version__ = "1.0" +__maintainer__ = "Tobias Schmidl" + +TODO_TXT_PATH = Path.home() / '.todo-txt' / 'todo.txt' +COLOR_LIST = { + 1: ['#fc8d59'], + 2: ['#fc8d59', '#91cf60'], + 3: ['#fc8d59', '#ffffbf', '#91cf60'], + 4: ['#d7191c', '#fdae61', '#a6d96a', '#1a9641'], + 5: ['#d7191c', '#fdae61', '#ffffbf', '#a6d96a', '#1a9641'], + 6: ['#d73027', '#fc8d59', '#fee08b', '#d9ef8b', '#91cf60', '#1a9850'], + 7: ['#d73027', '#fc8d59', '#fee08b', '#ffffbf', '#d9ef8b', '#91cf60', '#1a9850'], + 8: ['#d73027', '#f46d43', '#fdae61', '#fee08b', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850'], + 9: ['#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850'], + 10: ['#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', '#006837'], + 11: [ + '#a50026', '#d73027', '#f46d43', '#fdae61', '#fee08b', '#ffffbf', '#d9ef8b', '#a6d96a', '#66bd63', '#1a9850', + '#006837' + ] +} + +if __name__ == "__main__": + list_of_tasks = todotxtio.from_file(TODO_TXT_PATH) + list_of_priorities = [int(x.priority, base=16) for x in list_of_tasks] + max_prio = max(list_of_priorities) + min_prio = min(list_of_priorities) + print("Tasks:", len(list_of_tasks)) + print("---") + for task in list_of_tasks: + priority = int(task.priority, base=16) + old_range = max_prio - min_prio + 1 + new_range = len(set(list_of_priorities)) + priority = int(((priority - min_prio) * new_range) / old_range) + if "due" not in task.tags: + print("" + task.priority + + ": " + task.text + + "") + else: + print("" + task.priority + + ": " + task.tags["due"] + + " " + task.text + + "") + print("--", " ".join(["@" + x for x in task.contexts])) + print("--", " ".join(["+" + x for x in task.projects])) + print("--", " ".join([key + ": " + value for key, value in task.tags.items() if key != "due"]))