from __future__ import unicode_literals, print_function import sys, os, io, subprocess
FILE=os.path.expanduser("~/weiyun_sync/!sync/logseq-note/pages/生词本.md") output = [] text = sys.argv[1].decode('utf8') if sys.version_info.major == 2else sys.argv[1]
lines = [i.strip() for i in text.splitlines() if i.strip()] iflen(lines) < 2: exit(0)
word = lines[0] if lines[1][0] == '*': output.append('- {}\t{} [[card]]'.format(word, lines[1])) lines = lines[2:] else: output.append('- {}\t [[card]]'.format(word)) lines = lines[1:] output.append('\t- {}'.format(lines[0])) for line in lines[1:]: output.append('\t ' + line)
old_words = set() with io.open(FILE, 'r', encoding='utf8') as fp: for line in fp: parts = line.split() if line.startswith('-') andlen(parts) > 1: old_words.add(parts[1])
if word notin old_words: with io.open(FILE, 'a', encoding='utf8') as fp: fp.write('\n') fp.write('\n'.join(output)) fp.write('\n') subprocess.check_call(['osascript', '-e', u'display notification "添加 {}" with title "生词本"'.format(word)]) else: subprocess.check_call(['osascript', '-e', u'display notification "跳过 {}" with title "生词本"'.format(word)])