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.2.0.tar.gz (23.8 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.2.0-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ltws_parser-1.2.0.tar.gz
Algorithm Hash digest
SHA256 2d1593d00b3f849ae3cd781f6a0e0879b00b2e95217c84d2c411ddfc91200a73
MD5 dfaf6229e1b6a1bba625dadc241e99a0
BLAKE2b-256 bae497a7d1b94aa905b321610885d61deaa47faec0961a728e9675ac25f95a36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ltws_parser-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f61024a7d6b01dc47a81a2b42a2da202ed6457cf2712cfd196eebc668866af52
MD5 6c66f412e45ce832ddda8c239f914f97
BLAKE2b-256 6ab876f7936f50379b8603fa590cfe40f4e03a5553a8411f657cd7176566934e

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