Parse ASS subtitle format tags markup.
Project description
ass_tag_parser
A Python library for serialization and deserialization of ASS subtitle file format tags markup.
Not to confuse with parsing .ass
files that can be manipulated with
ass_parser
.
Example:
from ass_tag_parser import parse_ass
result = parse_ass(
r"{\an5\pos(175,460)\fnUtopia with Oldstyle figures\fs90\bord0\blur3"
r"\1c&H131313&\t(0,1000,2,\1c&H131340&)\t(1000,2000,\1c&H1015B2&"
r"\blur1.4)}Attack No. 1{NOTE:アタックNo.1}"
)
print(result)
print(result[2].meta)
Result:
[
AssTagListOpening(),
AssTagAlignment(alignment=5, legacy=False),
AssTagPosition(x=175.0, y=460.0),
AssTagFontName(name="Utopia with Oldstyle figures"),
AssTagFontSize(size=90.0),
AssTagBorder(size=0.0),
AssTagBlurEdgesGauss(weight=3.0),
AssTagColor(red=19, green=19, blue=19, target=1, short=False),
AssTagAnimation(
tags=[AssTagColor(red=64, green=19, blue=19, target=1, short=False)],
time1=0.0,
time2=1000.0,
acceleration=2.0,
),
AssTagAnimation(
tags=[
AssTagColor(red=178, green=21, blue=16, target=1, short=False),
AssTagBlurEdgesGauss(weight=1.4),
],
time1=1000.0,
time2=2000.0,
acceleration=None,
),
AssTagListEnding(),
AssText(text="Attack No. 1"),
AssTagListOpening(),
AssTagComment(text="NOTE:アタックNo.1"),
AssTagListEnding(),
]
Meta(start=5, end=18, text="\\pos(175,460)")
Starting from version 2.2, drawing commands are parsed automatically.
Serializing the tree back
ASS tree: compose_ass
. Note that you don't need to supply AssTagListOpening
nor AssTagListEnding
tags in the input item list – this function inserts them
automatically.
Draw commands: compose_draw_commands
.
Contributing
# Clone the repository:
git clone https://github.com/bubblesub/ass_tag_parser.git
cd ass_tag_parser
# Install to a local venv:
poetry install
# Install pre-commit hooks:
poetry run pre-commit install
# Enter the venv:
poetry shell
This project uses poetry for packaging, install instructions at poetry#installation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ass_tag_parser-2.4.1.tar.gz
.
File metadata
- Download URL: ass_tag_parser-2.4.1.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.16.12-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f78b7f6f9f69e769d9fc87a977f0986534b65fa816c41016b80794c785102f7 |
|
MD5 | 2db15866e88d9ae328e7c2e6f8dea524 |
|
BLAKE2b-256 | b75e8c1fd54d09efc82184600ca4167f218c337c23b2ce2ade42420ca002cd42 |
File details
Details for the file ass_tag_parser-2.4.1-py3-none-any.whl
.
File metadata
- Download URL: ass_tag_parser-2.4.1-py3-none-any.whl
- Upload date:
- Size: 25.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.4 Linux/5.16.12-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cc3a5858c31fd781dad6e8d613f3212d8fd9a10d08356ba5797c2b8533ca439 |
|
MD5 | 35308ea47d30f4c9b88990a346b9371b |
|
BLAKE2b-256 | 744233b7852ac6a9ec5fd31f96dd0360c3b23c9e6d34c0d8eb00d32fe319afba |