diff options
| -rwxr-xr-x | genmon-remind.sh | 6 | ||||
| -rwxr-xr-x | rem2ics | 2 | ||||
| -rwxr-xr-x | slugify | 67 |
3 files changed, 71 insertions, 4 deletions
diff --git a/genmon-remind.sh b/genmon-remind.sh index fd726dd..f606309 100755 --- a/genmon-remind.sh +++ b/genmon-remind.sh @@ -2,17 +2,17 @@ set -e -TODAY_REMINDERS=$(rem -r -k'echo 1' | wc -l) +TODAY_REMINDERS=$(rem -r -f -q | grep -v '^>' | wc -l) CAL_IMG="/usr/share/icons/Adwaita/scalable/mimetypes/x-office-calendar-symbolic.svg" if [ -f "$CAL_IMG" ] ; then echo "<img>$CAL_IMG</img>" fi -[ $TODAY_REMINDERS -gt 0 ] && echo "<txt> $TODAY_REMINDERS</txt>" +[ $TODAY_REMINDERS -gt 1 ] && echo "<txt> $TODAY_REMINDERS</txt>" echo "<click>tkremind -m -b1 </click>" echo "<tool>" echo "<span font_family='monospace' size='small'>" -rem +rem -r -f -q echo task rc.color=off genmon echo "</span>" @@ -21,7 +21,7 @@ class Event: e = self.event_json summary = e.get('body', '').replace(r'%"', '') if 'time' in e: - summary = summary[6:] + summary = summary.split(' ', 1)[1] if 'passthru' in e and 'COLOR' in e['passthru']: summary = ' '.join(summary.split(' ')[3:]) return summary @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +import argparse +import re +import sys + +# https://en.wikipedia.org/wiki/Romanization_of_Russian +# System: Passport (2013), ICAO +TRANSLIT_RU_EN = str.maketrans({ + 'а': 'a', + 'б': 'b', + 'в': 'v', + 'г': 'g', + 'д': 'd', + 'е': 'e', + 'ё': 'e', + 'ж': 'zh', + 'з': 'z', + 'и': 'i', + 'й': 'i', + 'к': 'k', + 'л': 'l', + 'м': 'm', + 'н': 'n', + 'о': 'o', + 'п': 'p', + 'р': 'r', + 'с': 's', + 'т': 't', + 'у': 'u', + 'ф': 'f', + 'х': 'kh', + 'ц': 'ts', + 'ч': 'ch', + 'ш': 'sh', + 'щ': 'shch', + 'ъ': 'ie', + 'ы': 'y', + 'ь': None, + 'ю': 'iu', + 'я': 'ua', +}) + + +def get_names(args): + if args.words: + return args.words + return [line.rstrip() for line in sys.stdin] + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument("-t", "--translit", action='store_true', help="Transliterate Russian") + parser.add_argument("words", nargs="*", help="Words to slugify") + args = parser.parse_args() + pattern = r"[^\w\d]+" + for name in get_names(args): + slug = re.sub(pattern, "-", name) + slug = re.sub(pattern + "$", "", slug) + slug = re.sub("^" + pattern, "", slug) + slug = slug.lower() + if args.translit: + slug = slug.translate(TRANSLIT_RU_EN) + print(slug) + + +if __name__ == "__main__": + main() |
