Skip to main content

LTWS 协议解析器

Project description

LTWS 解析器

用于解析和验证 LTWS (Little Tree Wallpaper Source) 协议 v3.0 的 Python 库。

特性

  • 🚀 支持解析 .ltws 文件(不压缩的 TAR 格式)
  • 📝 支持解析目录结构的壁纸源
  • ✅ 完整的配置验证
  • 🛠️ 提供打包工具
  • 🔧 变量替换引擎
  • 📊 详细的错误报告

安装

pip install ltws-parser

快速开始

1. 解析壁纸源

python

from ltws import LTWSParser

# 创建解析器
parser = LTWSParser()

# 解析 .ltws 文件
source = parser.parse("my_wallpaper_source.ltws")

# 或解析目录
source = parser.parse("my_wallpaper_source/")

# 使用壁纸源
print(f"名称: {source.name}")
print(f"版本: {source.version}")
print(f"API数量: {len(source.apis)}")

2. 验证壁纸源

python

from ltws import LTWSValidator

# 创建验证器
validator = LTWSValidator()

# 验证壁纸源
is_valid = validator.validate_source(source)

# 获取验证报告
report = validator.get_validation_report()
print(f"验证通过: {report['passed']}")
print(f"错误: {report['errors']}")
print(f"警告: {report['warnings']}")

3. 使用变量引擎

python

from ltws import VariableEngine

# 创建变量引擎
engine = VariableEngine()

# 替换变量
template = "https://api.example.com/wallpapers?date={{date_iso}}&random={{random_string:8}}"
result = engine.replace(template)
print(result)  # https://api.example.com/wallpapers?date=2024-01-15&random=abc123de

4. 打包壁纸源

python

from ltws import LTWSPackager

# 创建打包工具
packager = LTWSPackager()

# 打包目录为 .ltws 文件
packager.pack("my_wallpaper_source/", "output.ltws")

命令行工具

安装后可以使用 ltws 命令行工具:

bash

# 验证壁纸源
ltws validate my_wallpaper_source/

# 打包壁纸源
ltws pack my_wallpaper_source/ output.ltws

# 查看 .ltws 文件信息
ltws inspect output.ltws

# 测试壁纸源
ltws test my_wallpaper_source/

API 参考

LTWSParser

主要解析器类,用于解析壁纸源。

python

parser = LTWSParser(strict=True)
source = parser.parse(path)
errors = parser.get_errors()
warnings = parser.get_warnings()

LTWSValidator

验证器类,用于验证壁纸源配置。

python

validator = LTWSValidator()
is_valid = validator.validate_source(source)
report = validator.get_validation_report()

LTWSPackager

打包工具类,用于创建 .ltws 文件。

python

packager = LTWSPackager(strict=True)
packager.pack(source_dir, output_file, overwrite=False)

VariableEngine

变量替换引擎,支持内置变量和自定义变量。

python

engine = VariableEngine()
result = engine.replace(template, context)

数据模型

库提供完整的数据模型:

  • WallpaperSource: 壁纸源完整对象
  • WallpaperAPI: API 定义
  • Category: 分类定义
  • Parameter: 参数定义
  • RequestConfig: 请求配置
  • FieldMapping: 字段映射

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

ltws_parser-1.4.0.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

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

ltws_parser-1.4.0-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file ltws_parser-1.4.0.tar.gz.

File metadata

  • Download URL: ltws_parser-1.4.0.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.2

File hashes

Hashes for ltws_parser-1.4.0.tar.gz
Algorithm Hash digest
SHA256 af34ab541e81958fea0a88c286e10abe9b213fdb93c289b77a8ca43333764b04
MD5 d1210f9b7fd1e419cfe56bd09dbc2742
BLAKE2b-256 1f4143f2d0be58f9e73a5881de68f1ccf0e488b1e8090aac20bb78790c2396c7

See more details on using hashes here.

File details

Details for the file ltws_parser-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ltws_parser-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e077458dc786a26d6bf9ad6b0a349ac688ff3da31efc37f69a6275ac3b16b08
MD5 02063fe97b5866eff406ebcf1ff22423
BLAKE2b-256 7e261829f2669ec5e2d1c19fd1e1ac9ec7cf9b0fe1d993ee7bdebc86e7f48145

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