A tool enables you to upload your img to your Lsky Server
Project description
▄█ ▄████████ ▄█ ▄█▄ ▄██ ▄ ███ █▄ ▄███████▄
███ ███ ███ ███ ▄███▀ ███ ██▄ ███ ███ ███ ███
███ ███ █▀ ███▐██▀ ███▄▄▄███ ███ ███ ███ ███
███ ███ ▄█████▀ ▀▀▀▀▀▀███ ███ ███ ███ ███
███ ▀███████████ ▀▀█████▄ ▄██ ███ ███ ███ ▀█████████▀
███ ███ ███▐██▄ ███ ███ ███ ███ ███
███▌ ▄ ▄█ ███ ███ ▀███▄ ███ ███ ███ ███ ███
█████▄▄██ ▄████████▀ ███ ▀█▀ ▀█████▀ ████████▀ ▄████▀
▀ ▀
LskyUp
介绍
一个使用Python实现命令行上传图片到LskyPro图床,以及命令行查看LskyPro用户储存情况的小工具
目录
背景
最近在自己的服务器上搭建了一个LskyPro图床,想配合Typora+Picgo一起实现博客图片解决方案,但是Picgo现有的插件在我的自建服务上均会报错,所以抽空用Python写了这个命令行程序
原理
使用Python的Click库来创建命令行CLI工具
使用Python的requests库来发送GET和POST请求实现上传和参数的返回
使用Python的os、json库来实现路径的获取、拼接和文件的读取写入
图片压缩的算法参考了这个项目Luban-Py
安装
使用pip包管理工具安装
pip install lskyup
使用
完整命令帮助列表
❯ lskyup --help
Usage: lskyup [OPTIONS] COMMAND [ARGS]...
Options:
-i, --info Show the current token & server information
-v, --version Show the version information
-u, --user Show the User information
--help Show this message and exit.
Commands:
clean Clean Img Cache
config Config your server url and api token
upload Upload the images
lskyup config
配置Server和Token
❯ lskyup config
lskyup Copyright (C) 2023-now Joe Zhu
LICENSE GPL-V3
Please enter your Lsky server's url: https://example.com/api/v1
Please enter your own Lsky token: Bearer x|xxxxxxxxxxxxxxxxxxxxxxxxxxx
配置文件位于用户根目录/lskyup/config.json
获取token
curl -X POST \
-d "email=youremail@example.com&password=yourpassword" \
-H "Accept: application/json" \
https://example.com/api/v1/tokens
返回值是json格式的,token位于data.token,格式是x|xxxxxxxxxxxxxxxxxxxxxx
token在输入之前请自行加上Bearer(注意中间有一个空格)
lskyup --version
输出当前工具版本等信息
▄█ ▄████████ ▄█ ▄█▄ ▄██ ▄ ███ █▄ ▄███████▄
███ ███ ███ ███ ▄███▀ ███ ██▄ ███ ███ ███ ███
███ ███ █▀ ███▐██▀ ███▄▄▄███ ███ ███ ███ ███
███ ███ ▄█████▀ ▀▀▀▀▀▀███ ███ ███ ███ ███
███ ▀███████████ ▀▀█████▄ ▄██ ███ ███ ███ ▀█████████▀
███ ███ ███▐██▄ ███ ███ ███ ███ ███
███▌ ▄ ▄█ ███ ███ ▀███▄ ███ ███ ███ ███ ███
█████▄▄██ ▄████████▀ ███ ▀█▀ ▀█████▀ ████████▀ ▄████▀
▀ ▀
Version 0.1.2 © JoeZhu ALL RIGHTS RESERVED
LICENSE GPL-V3
CONTACT : zhuzhouyue2005@outlook.com
lskyup --info
输出当前的配置信息
❯ lskyup --info
Server: https://example.com/api/v1
Token: Bearer x|xxxxxxxxxxxxxxxxxxxxxxxxxxx
lskyup --user
输出当前配置用户的信息
❯ lskyup --user
USER INFORMATION
User name: Username
E-mail: example@example.com
Website: https://example.com
Image Numbers: 30
Album Numbers: 0
Storage Used/Total: 55122.47 KB/51200000 KB
lskyup upload
lskyup upload --help
upload子命令帮助列表
❯ lskyup upload --help
lskyup Copyright (C) 2023-now Joe Zhu
LICENSE GPL-V3
Usage: lskyup upload [OPTIONS] [IMG]...
Upload the images
Options:
-c, --compress Compress your Images before uploading
--help Show this message and exit.
不压缩上传
lskyup upload /img1 /img2 /img3
不压缩上传图片,返回图片访问url,支持多张图片(路径之间一个空格)
❯ lskyup upload /img1 /img2 /img3
lskyup Copyright (C) 2023-now Joe Zhu
LICENSE GPL-V3
Uploader is Processing:
Upload uncompressed Img
[####################################] 100%
Upload Success:
https://example.com/i/2023/05/01/644fsdf6eb1bf.webp
https://example.com/i/2023/05/01/3f4fb1d6eb10d.jpg
https://example.com/i/2023/05/01/a6f4fb12hb15f.png
压缩后上传
lskyup upload -c /img1 /img2 /img3
压缩后上传图片(增加参数--compress)
返回图片访问url,同样支持多张图片(路径之间一个空格)
压缩后的图像缓存在用户根目录/lskyup/Img_cache中
❯ lskyup upload -c /img1 /img2 /img3
lskyup Copyright (C) 2023-now Joe Zhu
LICENSE GPL-V3
Uploader is Processing:
Upload compressed Img
[####################################] 100%
Upload Success:
https://example.com/i/2023/05/01/644fsdf6eb1bf.webp
https://example.com/i/2023/05/01/3f4fb1d6eb10d.jpg
https://example.com/i/2023/05/01/a6f4fb12hb15f.png
lskyup clean
清理压缩图片缓存(删除用户根目录/lskyup/Img_cache文件夹)
❯ lskyup clean
lskyup Copyright (C) 2023-now Joe Zhu
LICENSE GPL-V3
Clean Img_cache successfully
Change Log
v0.1.4 (2023.5.1 23:01 GMT +8)
- 修复了一些细小的问题
v0.1.3 (2023.5.1 22:33 GMT +8)
- 更新了README.md
- 修复了一些细小的问题
v0.1.2 (2023.5.1 21:38 GMT +8)
- 第一个可以用的版本
LICENSE
GPLv3+ © Zhouyue Zhu
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lskyup-0.1.5.tar.gz.
File metadata
- Download URL: lskyup-0.1.5.tar.gz
- Upload date:
- Size: 20.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd8e101a4f0696a1c57f19def83262a0ab8dce9c2086b33e31040b2630739a80
|
|
| MD5 |
3668a3af8b2dbddd82c6d52f2f6012f4
|
|
| BLAKE2b-256 |
48a70d13017ae59220230a95e0bd8d982f8d9c61527d282e859b8912435529e8
|
File details
Details for the file lskyup-0.1.5-py3-none-any.whl.
File metadata
- Download URL: lskyup-0.1.5-py3-none-any.whl
- Upload date:
- Size: 20.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4858d49840a609528d9177dba0716d7833d7c6472bb7aaeaa66cbb60a9169272
|
|
| MD5 |
242d9cbaef0346570fac0fa9d1dfc4a1
|
|
| BLAKE2b-256 |
e22326765f63885e17be12bee1bed4a619912ee2d97559d383ebb6c02413e8f1
|