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
pip install pypicgo
配置文件位于/$HOME/.PyPicGo/config.yml目录下,采用YAML的方式进行配置。必须配置上传器uploader,插件plugins的数量可选
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```
<p>更多的配置说明参考文档</p>
<p class="maodian"><a name="_lab2_0_2"></a></p><h3>3、使用</h3>
<p><strong>帮助信息</strong></p>
```python  
pypicgo -h上传文件
pypicgo -f picture1 picture2 ...指定上传图床
pypicgo -n github -f picture1 picture2 ...如果系统找不到pypicgo,请检查python的Scripts文件夹是否被加入Path环境变量
| 图床名 | 模块地址 | 
|---|---|
| gitee | pypicgo.uploaders.gitee.uploader.GiteeUploader | 
| 七牛云 | pypicgo.uploaders.github.uploader.QiNiuUploader | 
| github | pypicgo.uploaders.qiniu.uploader.GithubUploader | 
| SM.MS | pypicgo.uploaders.smms.uploader.SmmsUploader | 
| 插件名称 | 用途 | windows | linux | mac | 
|---|---|---|---|---|
| rename | 上传前重命名图片 | 支持 | 支持 | 支持 | 
| notify | 上传成功失败的系统通知 | 支持 | 支持 | 支持 | 
| typora | typora编辑器支持 | 支持 | 支持 | 支持 | 
| compress | 图片上传前压缩 | 支持 | 支持 | 支持 | 
| jsdelivr | github CDN 加速 | 支持 | 支持 | 支持 | 
| clipboard | 上传完成将远程地址复制到剪切板 | 支持 | 支持 | 支持 | 
uploader是具体的上传插件,用户需要继承pypicgo.core.base.uploader.CommonUploader并实现upload方法,然后在配置文件中引用即可.
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中配置即可使用.
到此这篇关于 利用Python实现Picgo图床工具的文章就介绍到这了,更多相关Python实现Picgo图床工具内容请搜索python博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持python博客!
   Powered By python教程网   鲁ICP备18013710号
      python博客 - 小白学python最友好的网站!