From acc8b5bbc78adce72fca9e4f9bf2681d0be2863c Mon Sep 17 00:00:00 2001 From: Yinzuo Jiang Date: Mon, 2 Sep 2024 10:26:58 +0800 Subject: [PATCH] feat(wsl)!: remove sr (fsrs) --- root/scripts/forget | 28 +++++----------- root/scripts/wsl/sr | 80 --------------------------------------------- 2 files changed, 8 insertions(+), 100 deletions(-) delete mode 100755 root/scripts/wsl/sr diff --git a/root/scripts/forget b/root/scripts/forget index 8a1584b..126aa71 100755 --- a/root/scripts/forget +++ b/root/scripts/forget @@ -8,23 +8,11 @@ echo_blue() { echo -e "\033[34m$1\033[0m" } -forget_daily() { - echo_green '$ forget' - echo - echo_green '$ sr' - $VIMRC_ROOT/scripts/wsl/sr -} - -if [ $# -eq 0 ]; then - echo_blue "forget alias? run:" - echo "alias" - echo_blue "forget functions? run:" - # do not output function start with "_" - echo "declare -F | grep -oP '(?<=declare -f )[a-zA-Z]+\w+'" - echo_blue "other commands:" - # output all functions in this file begin with "forget_" - declare -F | grep -oP '(?<=declare -f )forget_\w+' | sed 's/forget_/forget /' - exit 0 -else - forget_$1 -fi +echo_blue "forget alias? run:" +echo "alias" +echo_blue "forget functions? run:" +# do not output function start with "_" +echo "declare -F | grep -oP '(?<=declare -f )[a-zA-Z]+\w+'" +# echo_blue "other commands:" +# output all functions in this file begin with "forget_" +# declare -F | grep -oP '(?<=declare -f )forget_\w+' | sed 's/forget_/forget /' diff --git a/root/scripts/wsl/sr b/root/scripts/wsl/sr deleted file mode 100755 index eda7b92..0000000 --- a/root/scripts/wsl/sr +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/python3 -from fsrs import Card, FSRS, Rating -import datetime -import argparse -import pickle -import os - -DB_NAME = f'{os.getenv("DOC2")}/fsrs.db' - - -def _load_db(): - if not os.path.exists(DB_NAME): - return {} - with open(DB_NAME, 'rb') as f: - try: - db = pickle.load(f) - except EOFError: - return {} - return db - - -def list_cards(): - db = _load_db() - for (file, card) in db.items(): - if card.due.date() - datetime.timedelta(days=6) <= datetime.datetime.now().date(): - print(file, f'\033[36m{card.due.date()}\033[0m') - - -def delete_card(file): - db = _load_db() - - with open(DB_NAME, 'wb+') as f: - file = os.path.abspath(file) - try: - del db[file] - except KeyError: - print(f'No such file in database: {file}') - else: - pickle.dump(db, f) - print(f'Deleted {file} from database.') - - -def _update_card(card: Card) -> Card: - f = FSRS() - scheduled_cards = f.repeat(card, datetime.datetime.now()) - return scheduled_cards[Rating.Easy].card - - -def update_card(file): - if not os.path.exists(file): - print(f'No such file: {file}') - return - - file = os.path.abspath(file) - db = _load_db() - with open(DB_NAME, 'wb+') as f: - try: - c = db[file] - except KeyError: - c = Card() - c = _update_card(c) - db[file] = c - pickle.dump(db, f) - - -if __name__ == '__main__': - arg_parser = argparse.ArgumentParser() - arg_parser.description = 'DB path: $DOC2/fsrs.db' - arg_parser.add_argument('-d', '--delete', action='store_true', - help='Delete the card from the database') - arg_parser.add_argument('file', type=str, metavar='FILE', - nargs='?', help='The file to be schedule') - args = arg_parser.parse_args() - if args.file: - if args.delete: - delete_card(args.file) - else: - update_card(args.file) - else: - list_cards()