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.1.2.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.1.2-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ltws_parser-1.1.2.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.1.2.tar.gz
Algorithm Hash digest
SHA256 2ec2c17f7ac540b6e740746a568154a2138f44aef75056d3828d8c5eb39dbaaa
MD5 f8160f1abb71db35b0c8f258e98f0a9a
BLAKE2b-256 f76247ea59db013a8d19245eb172fab7119a18b31d9953166743ce2c319a2440

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ltws_parser-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a8a7b279fa33ca713cd6300a0d4c0b9d8641bbaec07ecc2926fe79764bc5cf44
MD5 bf6692f5ea16b9b884c601786d7d8c7b
BLAKE2b-256 ce694adf409c9f4f644d3397091222a7d9d2fc99d8c059b418be73e7f7deb000

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