一、PyPicGo
PyPicGo 是一款圖床工具,是PicGo是Python版實現,并支持各種插件自定義插件,目前PyPicGo自帶了gitee、github、SM.MS和七牛云圖傳,以及rename、notify和typora等插件,并支持從pypi中下載其他插件和Uploader
源碼地址:
【gitee】https://gitee.com/Ranger313/pypicgo
【github】https://github.com/AnsGoo/PyPicGo
1、安裝
pip install pypicgo
2、配置
配置文件位于/$HOME/.PyPicGo/config.yml
目錄下,采用YAML
的方式進行配置。必須配置上傳器uploader
,插件plugins
的數量可選
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
default: # 默認配置 uploader: gitee # 默認圖床 plugins: # 全局插件 - module: pypicgo.plugins.rename.ReNamePlugin # 圖床插件加載地址 config: format : liunx{ hash }chenghaiwen{date} - {filename} - module: pypicgo.plugins.typora.TyporaPlugin - module: pypicgo.plugins.compress.CompressPlugin - module: pypicgo.plugins.notify.NotifyPlugin uploaders: # 可用圖床 smms: # sm.ms圖床配置 module: pypicgo.uploaders.smms.uploader.SmmsUploader config: secret_token: xxx gitee: # gitee 圖床配置 module: pypicgo.uploaders.gitee.uploader.GiteeUploader config: domain: https: / / gitee.com owner: xxx repo: xxx img_path: xxx access_token: xxx plugins: github: # github圖床配置 module: pypicgo.uploaders.github.uploader.GithubUploader config: domain: https: / / api.github.com owner: xxx repo: xxx img_path: xxx oauth_token: xxx plugins: # github 圖床私有插件 - module: pypicgo.plugins.jsdelivr.JsDelivrPlugin qiniu: #七牛云圖床配置 moduele: pypicgo.uploaders.qiniu.uploader.QiNiuUploader config: domain: http: / / demo.pypicho.com / bucket_name: pypicgo apis: - http: / / up - z1.qiniup.com access_key: xxx secret_key: xxxx |
更多的配置說明參考文檔
3、使用
幫助信息
1
|
pypicgo - h |
上傳文件
1
|
pypicgo - f picture1 picture2 ... |
指定上傳圖床
1
|
pypicgo - n github - f picture1 picture2 ... |
如果系統找不到pypicgo
,請檢查python
的Scripts
文件夾是否被加入Path
環境變量
4、支持的圖床
圖床名 | 模塊地址 |
---|---|
gitee | pypicgo.uploaders.gitee.uploader.GiteeUploader |
七牛云 | pypicgo.uploaders.github.uploader.QiNiuUploader |
github | pypicgo.uploaders.qiniu.uploader.GithubUploader |
SM.MS | pypicgo.uploaders.smms.uploader.SmmsUploader |
5、支持的插件
插件名稱 | 用途 | windows | linux | mac |
---|---|---|---|---|
rename | 上傳前重命名圖片 | 支持 | 支持 | 支持 |
notify | 上傳成功失敗的系統通知 | 支持 | 支持 | 支持 |
typora | typora編輯器支持 | 支持 | 支持 | 支持 |
compress | 圖片上傳前壓縮 | 支持 | 支持 | 支持 |
jsdelivr | github CDN 加速 | 支持 | 支持 | 支持 |
clipboard | 上傳完成將遠程地址復制到剪切板 | 支持 | 支持 | 支持 |
6、Uploader上傳器
uploader
是具體的上傳插件,用戶需要繼承pypicgo.core.base.uploader.CommonUploader
并實現upload
方法,然后在配置文件中引用即可.
7、插件系統
PyPicgo
支持的插件分為三種before
、after
和final
插件類型 | 運行時間 | 基類類 | 示例插件 | 運行時入參 |
---|---|---|---|---|
before | 在圖片上傳前運行 | pypicgo.core.base.plugin.BeforePlugin | rename | File |
after | 在圖片上傳后運行 | pypicgo.core.base.plugin.AfterPlugin | notify | Result |
final | 在所有圖片上傳后運行 | pypicgo.core.base.plugin.FinallyPlugin | typora | List[Result] |
如果想自定義插件只要根據要求繼承任意一個基類插件,并實現execute方法,并在config.yml
中配置即可使用.
8、開發
1
2
3
4
5
6
7
8
9
|
git clone git@github.com:AnsGoo / PyPicGo.git cd pypicgo pipenv shell pipenv install python run.py - n 圖床名 - f img1.jpg img2.jpg |
到此這篇關于 利用Python實現Picgo圖床工具的文章就介紹到這了,更多相關Python實現Picgo圖床工具內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/rangger/p/15559808.html