一个实现简易,使用简易的源管理器
Project description
Tennga
一个简单的源管理器
用法:
from tennga import tennga
tennga.init() #在文件夹下初始化源srcf
tennga.listsrc() #打印所有源
tennga.add(url) #添加源
tennga.remove(url或者数字) #移除list出来的源
tennga.update() #更新与使用源 下载所有源文件到srcs下面
tennga.find(文件夹,文件名,uuid) #从srcs的源中查找文件
tennga.install(文件夹,文件名) #从源搜索并下载文件,携带一个aop。自动将文件下载到srcf/内容1中。
tennga.uninstall(文件夹,文件名)
tennga.freeze(文件夹) #freeze会返回已经安装的所有文件信息
tennga.getfile(文件夹,文件名) #获得文件目录
tennga.getfiles(文件夹) #获得虚文件下所有文件目录
源格式 utf-8 json
{
"目录1":[
{"name":"文件1",
"urls":["http://www.baidu.com",
"block://块名1/文件名"
]
"uuid" : "f0645603-2fc6-4007-82e6-b731b8920b5b"
},
],
"目录2":[
],
"blocks":[
{
"name":"块名1",
"url":"http://www.baidu.com/xx.block",
}
]
}
结构
1. 文件存储
源文件存储在: srcf/srcs/全部源文件
文件存储在虚目录下: srcf/目录1/文件1/文件内容.txt
block存储在: srcf/blocks/xx.block
2. 特殊文件
uuid.lock
所有已经安装的文件下面会有
这不仅仅是文件的特殊标记,也存储了所有文件的下载顺序,包括文件顺序,block文件顺序,以及文件综合顺序。这其实是个json。需要文件顺序的,比如小说软件,需要知道多个文件的顺序,则可以读取这个文件。
block文件
以tar归档的文件。不能包含文件夹,是多个文件被裸归档的。
扩展名为:*.block
block链接:block://block名/文件名.扩展名,可以直接访问block中的文件。
其中,程序会先从blocks目录中查找block块,如果没有,会尝试从源中下载对应block。然后再从block中获取文件。通常用于应对过于散碎的批量文件,比如一个源中全是图片,下载很多次不如一次下完。
因为程序会主动检查本地是否存在对应block,所以不会重新下载block。如果压缩错了重新修改上传了,也不会被重新下载。因此建议如果修改,请使用新的block,并修改源中的链接,等待用户自己下次更新源以及更新文件
源制作器
from tennga import srcmake
srcmake.openSourceFile(name)
srcmake.addFile(srcfile, floder, filename)
srcmake.addLink(srcfile, floder, filename, link)
srcmake.addKV(srcfile, floder, filename, key, value)
srcmake.addBlock(srcfile, blockname)
srcmake.addBlockLink(srcfile, blockname, link)
srcmake.save(name,srcfile)
小说源制作方案
可以将对应网站的小说对应页面作为源,下载。
分为:
xx.yaml 中存储xpath,用于分解页面
其他的全是 xx.html,都是小说网站的页面
方案:
小说阅读器通过yaml中xpath解析对应离线的html页面,就成了小说。并且可以离线使用。
预计功能(v2.0.0)
提供一个源管理器和制作器的UI
使用:
python -m tennga
可以导出两个文件:
tennga.html #这是tennga管理器页面,放在static目录下即可
tennga.py #这是flask的蓝图,可以直接注册使用
可以使用iframe导入tennga集成到flask软件中使用。
Project details
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 tennga-1.2.4.tar.gz.
File metadata
- Download URL: tennga-1.2.4.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd14e5e8503e04f94dc0e2674ac3f9e8dd5c356b03f6203d4baa4fccb3702bd7
|
|
| MD5 |
74948b07a78e7e6b59f659b07c89471e
|
|
| BLAKE2b-256 |
1a5ec0fcaefdf83e68d69db1e1a1bea679d648aeb5a2552136d3340a22a3a97e
|
File details
Details for the file tennga-1.2.4-py3-none-any.whl.
File metadata
- Download URL: tennga-1.2.4-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd47cc8e09caa95ba1713f1add72c018a9411909b334504f578628573a73ef1f
|
|
| MD5 |
349b27fe18bbf44d06585042e8737cc5
|
|
| BLAKE2b-256 |
9d6e7de025c58885eab289f96ba55fccab73092f6cf0e56604cfae7512bdb0d7
|