小作品: Python 锤子便签

作者: CasparTse | 来源:发表于2016-04-05 13:05 被阅读978次

    Python-SmartisanNotes

    Python API Wrapper for http://note.t.tt Service.

    利用 Requests、requests_toolbelt 等库模拟浏览器操作,实现锤子便签网页版的基本功能。

    GitHub 地址:https://github.com/caspartse/Python-SmartisanNotes

    功能介绍

    基本功能

    • 获取便签列表
    • 新建便签
    • 修改便签
    • 删除便签
    • 生成锤子便签分享图片
    • 生成锤子便签分享网页 (目前官方暂停支持此功能)

    实验性功能

    • 便签备份(导出至 JSON 文件)
    • 便签恢复(从 JSON 文件导入)

    代码说明

    Python 版本

    支持 Python 2.6 以上版本。

    第三方库支持

    演示环境

    CrunchBang Linux waldorf (Debian GNU/Linux 7.9)

    应用示例

    1. 初始化及登录

    from SmartisanNotes import *
    username = 'Your Username'
    password = 'Your Password'
    # 创建新实例,同时完成登录
    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' 生成分享图片(返回图片信息),同时保存至本地
    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 = '没人可以永远的活在青春里,但还好,如若有心,我们能见证一代又一代的年轻。\
    这种见证,也便成了一种参与。 by 自由极光\n\n[「ONE · 一个」 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,也是便签唯一的标识
    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)
    # 锤子便签网页版暂无回收站功能,请谨慎操作
    s.noteDelete('007w69yzo', '007w68yv7', '007w69p7m')
    

    6. 便签备份(导出至 JSON 文件)

    # noteBackup(fileName='')
    # 导出所有便签数据,生成 JSON 文件。注:并未下载图片、音频等资源
    s.noteBackup(fileName='Notes.json')
    

    7. 便签恢复(从 JSON 文件导入)

    # noteRestore(fileName)
    # 从本地 JSON 文件导入便签数据,便签同步 ID 如果已存在,则更新便签信息;如果不存在,则新建便签。
    # 注:尚未知晓已删除便签包含的图片、音频资源在服务器的留存时间,故部分恢复的便签信息可能不完整。
    s.noteRestore('Notes.json)
    

    待完善功能

    • 便签备份及恢复,加入图片、音频等资源支持
    • 优化图片裁剪功能的操作逻辑

    License

    MIT License.

    相关文章

      网友评论

        本文标题:小作品: Python 锤子便签

        本文链接:https://www.haomeiwen.com/subject/awjyqttx.html