Python-SmartisanNotes
Python API Wrapper for http://note.t.tt Service.
利用 Requests嚣艇、requests_toolbelt 等庫模擬瀏覽器操作皆撩,實(shí)現(xiàn)錘子便簽網(wǎng)頁版的基本功能鸿摇。
GitHub 地址:https://github.com/caspartse/Python-SmartisanNotes
功能介紹
基本功能
- 獲取便簽列表
- 新建便簽
- 修改便簽
- 刪除便簽
- 生成錘子便簽分享圖片
- 生成錘子便簽分享網(wǎng)頁 (目前官方暫停支持此功能)
實(shí)驗(yàn)性功能
- 便簽備份(導(dǎo)出至 JSON 文件)
- 便簽恢復(fù)(從 JSON 文件導(dǎo)入)
代碼說明
Python 版本
支持 Python 2.6 以上版本剩岳。
第三方庫支持
演示環(huán)境
CrunchBang Linux waldorf (Debian GNU/Linux 7.9)
應(yīng)用示例
1. 初始化及登錄
from SmartisanNotes import *
username = 'Your Username'
password = 'Your Password'
# 創(chuàng)建新實(shí)例,同時(shí)完成登錄
s = SmartisanNotes(username, password)
print s.uid
# 查看賬戶信息
profile = s.accountProfile()
print profile
2. 獲取便簽列表
noteList = s.noteGetList()
print noteList
3. 新建便簽
1) 新建文本便簽(支持部分 Markdown 語法)
# noteCreate(detail, [mkd='0', fav='0', note2Img='0'])
# mkd='1' 開啟 Markdown 功能仇矾;fav='1' 添加為收藏;
text = 'Hello, World!\nHello Kitty'
note = s.noteCreate(detail=text, fav='1')
print note
返回值:
{'note': {'markdown': 0, 'uid': 2387566, 'title': 'Hello, World!', 'favorite': 1, \
'sync_id': '007w69yzo', 'pos': 125, 'detail': 'Hello, World!\nHello Kitty', \
'modify_time': 1459745454411L, 'call_timestamp': 0, 'folderId': 0}}
# note2Img='1' 生成分享圖片(返回圖片信息)解总,同時(shí)保存至本地
text = '>Hello, World!\nHello Kitty'
note, image = s.noteCreate(detail=text, mkd='1', note2Img='1')
print note, image
2)新建圖文便簽
# imageUpload(imageFile, [describe='', text='', mkd='0', fav='0', note2Img='0'])
# 支持上傳本地圖片及在線圖片贮匕,支持 jpeg、png 格式花枫,文件大小不超過 5 MB
# describe 為圖片描述刻盐,純 ASCII 字符限 30 字掏膏,純 UTF-8 字符限 15 字,超出將被忽略
note = s.imageUpload('Octocat.jpg')
imageFile = 'http://image.wufazhuce.com/Fh7OzcpPtSnfC4s60p07sEdvjIzg'
describe = '基因樂趣&人畺 作品'
text = '沒人可以永遠(yuǎn)的活在青春里敦锌,但還好馒疹,如若有心,我們能見證一代又一代的年輕乙墙。\
這種見證颖变,也便成了一種參與。 by 自由極光\n\n[「ONE · 一個(gè)」 VOL.1161]'
s.imageUpload(imageFile, describe=describe, text=text, mkd='1', note2Img='1')
4. 修改便簽
# noteUpdate(syncId, detail, [mkd='0', fav='0', note2Img='0'])
# syncId 為同步 ID听想,也是便簽唯一的標(biāo)識
text = 'Hello Kitty\nHello Hello Hello Kitty'
s.noteUpdate('007w69yzo', detail=text)
# noteUpdateMarkdown(syncId, [mkd='1', note2Img='0'])
# 僅修改 Markdown 屬性
s.noteUpdateMarkdown('007w69yzo', mkd='1')
# noteUpdateFav(syncId, [fav='1', note2Img='0'])
# 僅修改 favorite 屬性
s.noteUpdateFav('007w69yzo', fav='0')
5. 刪除便簽
# noteDelete(*syncIds)
# 錘子便簽網(wǎng)頁版暫無回收站功能腥刹,請謹(jǐn)慎操作
s.noteDelete('007w69yzo', '007w68yv7', '007w69p7m')
6. 便簽備份(導(dǎo)出至 JSON 文件)
# noteBackup(fileName='')
# 導(dǎo)出所有便簽數(shù)據(jù),生成 JSON 文件汉买。注:并未下載圖片衔峰、音頻等資源
s.noteBackup(fileName='Notes.json')
7. 便簽恢復(fù)(從 JSON 文件導(dǎo)入)
# noteRestore(fileName)
# 從本地 JSON 文件導(dǎo)入便簽數(shù)據(jù),便簽同步 ID 如果已存在蛙粘,則更新便簽信息垫卤;如果不存在,則新建便簽出牧。
# 注:尚未知曉已刪除便簽包含的圖片葫男、音頻資源在服務(wù)器的留存時(shí)間,故部分恢復(fù)的便簽信息可能不完整崔列。
s.noteRestore('Notes.json)
待完善功能
- 便簽備份及恢復(fù)梢褐,加入圖片、音頻等資源支持
- 優(yōu)化圖片裁剪功能的操作邏輯
License
MIT License.