使用印象筆記 python sdk 從模板創(chuàng)建每日日記

翻看印象筆記,發(fā)現(xiàn)已經(jīng)堅(jiān)持記了 1000+ 的日記,格式都是流水賬格式。
最近覺得『晨間日記』和『格志日記』的模板方法蠻好的,可以比較容易的引導(dǎo)自己思考和回顧一天,
但是直接使用格志日記 APP 又覺得喪失了自由度,不如在印象筆記里面寫起來隨性好控制。

印象筆記本身有一些模板,但是使用起來并不方便,
每天寫日記還得復(fù)制一遍模板到對(duì)應(yīng)的筆記本。于是想每天自動(dòng)根據(jù)指定的模板生成日記,
并將標(biāo)題置為當(dāng)天的日期。

看了下 IFTTT,發(fā)現(xiàn)里面的印象筆記模塊只能做創(chuàng)建、
更新等簡(jiǎn)單操作,無法滿足上述需求。
于是研究了下印象筆記的 API,可以用 Python SDK 比較方便的寫腳本解決這個(gè)問題(需要有基本的python知識(shí))。
擴(kuò)展開來,也可以參考這個(gè)做一些類似的對(duì)于印象筆記的自動(dòng)化操作。

使用流程

創(chuàng)建筆記模板

在印象筆記里新建一條筆記,作為你自己的日記模板。具體內(nèi)容可以參考晨間日記和格志日記的方法(文末有參考鏈接)。
記住你創(chuàng)建的筆記標(biāo)題,一會(huì)兒腳本里要用到。

晨間日志的奇跡

《晨間日記的奇跡》

格志日記

格志日記界面

格志日記

獲取 developer token

如果你還沒有獲取過 developer token,訪問 https://app.yinxiang.com/api/DeveloperToken.action
生成并記錄你的 Token。

create a developer token
developer token

安裝 evernote sdk,測(cè)試腳本

安裝 evernote sdk

pip install evernote

將下列代碼復(fù)制到 python 文件中,修改對(duì)應(yīng)的配置,并在本地運(yùn)行測(cè)試。

代碼也可參見:https://github.com/huwenchao/mywiki/blob/master/codes/create_evernote_dairy_from_template.py

# -*- coding: utf-8 -*-
"""
搜索并復(fù)制指定的印象筆記模板,到指定的文件夾。
"""
import logging
import datetime
import evernote.edam.userstore.constants as UserStoreConstants
import evernote.edam.type.ttypes as Types
from evernote.api.client import EvernoteClient
from evernote.edam.notestore import NoteStore

logging.basicConfig(level=logging.INFO)

"""
配置區(qū)域,請(qǐng)自行修改
- auth_token: 訪問 https://app.yinxiang.com/api/DeveloperToken.action 生成
- diary_template_name:日記模板名稱,請(qǐng)保證有且僅有一個(gè)標(biāo)題為這個(gè)的筆記
- diary_notebook_name:復(fù)制生成的筆記要放入哪個(gè)筆記本,填寫筆記本名稱
"""
auth_token = "your token here"
diary_template_name = '日記模板'
diary_notebook_name = 'diary'

# 日記標(biāo)題。個(gè)人習(xí)慣用形如 『20170325(周六)』這樣的標(biāo)題,可以根據(jù)自己的需求修改。
weekday_chinese_map = {
    0: '周一',
    1: '周二',
    2: '周三',
    3: '周四',
    4: '周五',
    5: '周六',
    6: '周日',
}
now = datetime.datetime.now()
diary_title = '%s(%s)' % (now.strftime('%Y%m%d'),
                          weekday_chinese_map[now.weekday()])
logging.info('diary_title: %s', diary_title)

client = EvernoteClient(token=auth_token, service_host='app.yinxiang.com')

user_store = client.get_user_store()

note_store = client.get_note_store()

# 定位日記所在筆記本 guid
notebooks = note_store.listNotebooks()
logging.debug('Found %s notebooks', len(notebooks))
for notebook in notebooks:
    logging.debug('guid: [%s], notebook [%s]', notebook.guid, notebook.name)
    if notebook.name == diary_notebook_name:
        logging.info('found diary notebook! guid: [%s], notebook [%s]',
                     notebook.guid, notebook.name)
        diary_notebook_guid = notebook.guid
        break
else:
    logging.critical('diary [%s] not found', diary_notebook_name)
    exit(1)

# 定位日記模板 guid
noteFilter = NoteStore.NoteFilter(words=diary_template_name)
spec = NoteStore.NotesMetadataResultSpec()

nmdList = note_store.findNotesMetadata(noteFilter, 0, 250, spec)
logging.debug('nmdList: %s', nmdList)
for n in nmdList.notes:
    note = note_store.getNote(n.guid, True, True, False, False)
    logging.debug('guid: [%s], title: [%s]', note.guid, note.title)
    if note.title == diary_template_name:
        logging.info('found diary template note! guid: [%s], title: [%s]',
                     note.guid, note.title)
        diary_template_guid = note.guid
        break
else:
    logging.critical('diary_template [%s] not found', diary_template_name)
    exit(1)

# 復(fù)制模板,生成筆記,修改標(biāo)題
res_note = note_store.copyNote(diary_template_guid, diary_notebook_guid)
res_note.title = diary_title
res_note = note_store.updateNote(res_note)
logging.info('create diary for %s done!', now)

部署到服務(wù)器定時(shí)執(zhí)行

本地測(cè)試腳本沒問題的話,可以部署到服務(wù)器上,使用 crontab 每天定時(shí)執(zhí)行。

參考配置(每天 00:01 執(zhí)行,創(chuàng)建日記):

1 0 * * * bash -c 'cd ~/scripts && python create_dairy_from_template.py >> ~/scripts/create_dairy.log 2>&1'

參考鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,885評(píng)論 6 541
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,312評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,993評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,667評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,410評(píng)論 6 411
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,778評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,775評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,955評(píng)論 0 289
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,521評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,266評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,468評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,998評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,696評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,095評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,385評(píng)論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,193評(píng)論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,431評(píng)論 2 378

推薦閱讀更多精彩內(nèi)容

  • 很多人都有過下決心寫日記的經(jīng)歷,但往往堅(jiān)持不下去,原因就在于你沒有找到寫日記的訣竅,日記對(duì)你的生活沒有幫助。我是今...
    小V的學(xué)習(xí)日記閱讀 54,806評(píng)論 52 352
  • 【福利】文末有福利!福利!福利!永錫老師、李參老師的晨間日記系列文章鏈接!多種精美的晨間日記模板、電子書、思維導(dǎo)圖...
    翱翔GTD閱讀 28,969評(píng)論 23 204
  • 今天婷姐回來了。不知道為什么從昨天到今天,一直害怕,或者說壓力大。這種情緒一直維持到晚上婷姐過來,說的一句話而崩潰...
    曾曾的麻麻閱讀 266評(píng)論 0 0
  • 我不知道這漫長拉扯的生活究竟能有多少轉(zhuǎn)機(jī) 最后的八個(gè)月 如果不能 我就要去那里了 一個(gè)完全不同的體系 也許我會(huì)好 ...
    ArborSheh閱讀 209評(píng)論 0 0
  • 看過很多的書,心理的、勵(lì)志的、方法論的等等,但真的遇到困難很低谷很無助的時(shí)候才發(fā)現(xiàn)真正要做到書里所描述的那般堅(jiān)強(qiáng)樂...
    sofia豆子閱讀 506評(píng)論 5 1