利用Python實現(xiàn)Picgo圖床工具
一、PyPicGo
PyPicGo 是一款圖床工具,是PicGo是Python版實現(xiàn),并支持各種插件自定義插件,目前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的數(shù)量可選
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、使用
幫助信息
pypicgo -h
上傳文件
pypicgo -f picture1 picture2 ...
指定上傳圖床
pypicgo -n github -f picture1 picture2 ...
如果系統(tǒng)找不到pypicgo,請檢查python的Scripts文件夾是否被加入Path環(huán)境變量
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 | 上傳成功失敗的系統(tǒng)通知 | 支持 | 支持 | 支持 |
| typora | typora編輯器支持 | 支持 | 支持 | 支持 |
| compress | 圖片上傳前壓縮 | 支持 | 支持 | 支持 |
| jsdelivr | github CDN 加速 | 支持 | 支持 | 支持 |
| clipboard | 上傳完成將遠程地址復制到剪切板 | 支持 | 支持 | 支持 |
6、Uploader上傳器
uploader是具體的上傳插件,用戶需要繼承pypicgo.core.base.uploader.CommonUploader并實現(xiàn)upload方法,然后在配置文件中引用即可.
7、插件系統(tǒng)
PyPicgo支持的插件分為三種before、after和final
| 插件類型 | 運行時間 | 基類類 | 示例插件 | 運行時入?yún)?/th> |
|---|---|---|---|---|
| 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] |
如果想自定義插件只要根據(jù)要求繼承任意一個基類插件,并實現(xiàn)execute方法,并在config.yml中配置即可使用.
8、開發(fā)
git clone git@github.com:AnsGoo/PyPicGo.git cd pypicgo pipenv shell pipenv install python run.py -n 圖床名 -f img1.jpg img2.jpg
到此這篇關于 利用Python實現(xiàn)Picgo圖床工具的文章就介紹到這了,更多相關Python實現(xiàn)Picgo圖床工具內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
關注官方微信