PyPicGo
PyPicGo — это инструмент для работы с галереями, который представляет собой реализацию PicGo на Python. Он поддерживает различные плагины и позволяет настраивать их. В настоящее время PyPicGo включает в себя поддержку передачи изображений в Gitee, GitHub, SM.MS и Qiniu Cloud, а также плагины rename, notify и typora. Кроме того, он позволяет загружать другие плагины и загрузчики из PyPI.
Установка
Для установки 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
Дополнительные сведения о конфигурации см. в документации.
Использование
pypicgo -h
pypicgo -f picture1 picture2 ...
pypicgo -n github -f picture1 picture2 ...
Если система не может найти pypicgo, проверьте, добавлен ли каталог python/Scripts в переменную среды Path.
Поддерживаемые галереи
Галерея | Модуль |
---|---|
gitee | pypicgo.uploaders.gitee.uploader.GiteeUploader |
Qiniu | pypicgo.uploaders.qiniu.uploader.QiNiuUploader |
GitHub | pypicgo.uploaders.github.uploader.GithubUploader |
SM.MS | pypicgo.uploaders.smms.uploader.SmmsUploader |
Поддерживаемые плагины
Плагин | Назначение | Windows | Linux | Mac |
---|---|---|---|---|
rename | Переименование изображения перед загрузкой | Да | Да | Да |
notify | Уведомления о успешной или неудачной загрузке | Да | Да | Да |
typora | Поддержка редактора Typora | Да | Да | Да |
compress | Сжатие изображения перед загрузкой | Да | Да | Да |
jsdelivr | Ускорение загрузки через CDN GitHub | Да | Да | Да |
clipboard | Копирование URL-адреса после загрузки в буфер обмена | Да | Да | Да |
watermark | Добавление водяных знаков к изображению | Да | Да | Да |
Загрузчики 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.
Разработка
git clone git@github.com:AnsGoo/PyPicGo.git
cd pypicgo
pipenv shell
pipenv install
python run.py -n 图床名 -f img1.jpg img2.jpg
Сторонние плагины
Плагин | Функция |
---|---|
pypicgo-tinypng-plugin | Использование открытого API tinypng для сжатия изображений |
pypicgo-blind-watermark-plugin | Добавление слепых водяных знаков на изображение |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )