参考1:http://www.jianshu.com/p/6fb3e2151f90
参考2:http://www.jianshu.com/p/7bd4e6ed99be
需要mac,idea,控制台命令,python,alfred,qiqiu帐号
我的第一篇笔记,记录下上周六做的一个小小实验
在mac下截图后,然后在简书的markdown上面,粘贴,可以直接变成url。
不过因为做笔记的时候,都是用的本地的MacDown工具,或者在线博客csdn的md都不知道这么好的东西。
为了粘贴一个图片,我还试过把图片先粘贴到 码云的wiki?,然后拿到图片url,再拷贝到MacDown,简直麻烦死了。
于是我到网上搜了下,就出现了参考1和参考2,中间也遇到点小问题。
首先呢我用idea来调试python的,不过因为要用qiniu的包,还有appkit的包,
所以要先安装python插件
qiniu的
https://developer.qiniu.com/kodo/sdk/1242/python
安装很简单,下载好了,然后在压缩包下面运行
appkit的
需要配置PyObjC
这里有点小插曲
更新完了以后,因为idea报错,我又下载下面的包 手动安装了一下,可能是没必要的
pyobjc-core
pyobjc-framework-Cocoa
pyobjc-framework-Quartz
NSPasteboard
看到本地有上面这个,就Ok了
上代码,先截个图,然后运行一下,红色下划线无视,实际运行没问题
这个代码我是参考了上面两方进行修改的
`
-- coding: utf-8 --
flake8: noqa
from qiniu import Auth, put_file, etag, urlsafe_base64_encode
from AppKit import NSPasteboard, NSPasteboardTypePNG, NSPasteboardTypeTIFF
import time
import os
import sys
需要填写你的 Access Key 和 Secret Key
access_key = ‘XXX’
secret_key = ‘XXX’
要上传的空间
bucket_name = ‘XXX’
mime_type = “image/jpeg”
params = {‘x:a’: ‘a’}
url = “XXX” ##### 填入你的域名地址
构建鉴权对象
q = Auth(access_key, secret_key)
获得mac剪切板里的截图
def get_paste_img_file():
pb = NSPasteboard.generalPasteboard()
data_type = pb.types()
##### if img file
print(data_type)
now = int(time.time() * 1000) ##### used for filename
if NSPasteboardTypePNG in data_type:
##### png
data = pb.dataForType_(NSPasteboardTypePNG)
filename = ‘%s.png’ % now
filepath = ‘/tmp/%s’ % filename
ret = data.writeToFile_atomically_(filepath, False)
if ret:
return filepath
把本地图片上传到千牛
def upload_qiniu(path):
dirname, filename = os.path.split(path)
key = ‘%s’ % filename
token = q.upload_token(bucket_name, key)
progress_handler = lambda progress, total: progress
ret, info = put_file(token, key, path, params, mime_type, progress_handler=progress_handler)
return ret != None and ret[‘key’] == key
if name == ‘main‘:
path = get_paste_img_file()
ret = upload_qiniu(path)
if ret:
name = os.path.split(path)[1]
markdown_url = “” % (url, name)
print(markdown_url)
os.system(“echo ‘%s’ | pbcopy” % markdown_url)
os.system(‘osascript -e \’tell application “System Events” to keystroke “v” using command down\”)
else: print("upload_failed")
`
上面的代码运行通过了以后,在alfred里面弄一个快捷键脚本来运行
我的qiniu空间
最后我发现 chrome貌似有些插件,不过用自己的空间应该安心一点吧