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.0.0.tar.gz (16.6 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.0.0-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ltws_parser-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b3b4240a161e69e78a2c613c36ae21e7d41293cf68b8f220ff927bc9b8164bed
MD5 7f2dc1b0d71983a8516ec28eca35eb5b
BLAKE2b-256 106517408bb89d34df6bac706591fc97cf0746f6fb8d2e92b9bde25708e07dd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ltws_parser-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 346a94a7881d777f6aac830ec1b7084fdc17df9aad69e1e2da82264ab8a6702b
MD5 8799f7d524a1ce42355951fded93fdb1
BLAKE2b-256 2793399052ea611338f6868816ec63250ff4c047a8dcd2abd66f7f280a7cb338

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