Skip to main content

一个实现简易,使用简易的源管理器

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

tennga-1.2.4.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tennga-1.2.4-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

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

Hashes for tennga-1.2.4.tar.gz
Algorithm Hash digest
SHA256 cd14e5e8503e04f94dc0e2674ac3f9e8dd5c356b03f6203d4baa4fccb3702bd7
MD5 74948b07a78e7e6b59f659b07c89471e
BLAKE2b-256 1a5ec0fcaefdf83e68d69db1e1a1bea679d648aeb5a2552136d3340a22a3a97e

See more details on using hashes here.

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

Hashes for tennga-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 dd47cc8e09caa95ba1713f1add72c018a9411909b334504f578628573a73ef1f
MD5 349b27fe18bbf44d06585042e8737cc5
BLAKE2b-256 9d6e7de025c58885eab289f96ba55fccab73092f6cf0e56604cfae7512bdb0d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page