Parse .ass tags.
Project description
AssTagAnalyzer
Tag analyzer for Advanced SubStation Alpha file. This tool allows to parse .ass tag and manipulate them.
Installation and Update
pip install ass-tag-analyzer
Example
from ass_tag_analyzer import parse_line, ass_item_to_text, Format, AssTagFontName, AssValidTagFontName, AssInvalidTagFontName
# Parse an .ass line
line = parse_line(r"{\an7\pos(158,501)\fnArial\bord0.155884}Example")
print(line)
# Convert line to text
print(ass_item_to_text(line))
# Change how to convert float to string
Format.format_float = lambda number: round(number)
# Reconvert line to text. See how the \bord result is different
print(ass_item_to_text(line))
# Search an tag
for ass_item in line:
if isinstance(ass_item, AssTagFontName):
if isinstance(ass_item, AssValidTagFontName):
print(f'An \\fn tag has been found and the value is "{ass_item.name}"')
elif isinstance(ass_item, AssInvalidTagFontName):
# You need to get the style that is applied on the line.
pass
Result
[
AssTagListOpening(),
AssValidTagAlignment(is_legacy_tag=False, _AssValidTagAlignment__alignment=<Alignment.TOP_LEFT: 7>),
AssValidTagPosition(x=158.0, y=501.0),
AssValidTagFontName(_AssValidTagFontName__name='Arial'),
AssValidTagBorder(_AssValidTagBorder__size=0.155884),
AssTagListEnding(),
AssText(text='Example')
]
{\an7\pos(158,501)\fnArial\bord0.156}Example
{\an7\pos(158,501)\fnArial\bord0}Example
An \fn tag has been found and the value is "Arial"
Dependencies
Acknowledgments
- ass_tag_parser I used his library to create mine. I got a lot of inspiration from his work.
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
ass_tag_analyzer-0.0.4.tar.gz
(18.5 kB
view hashes)
Built Distribution
Close
Hashes for ass_tag_analyzer-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e319feb6ee208e9e59fff450643ecb3bc4775342b122301f4692a97f141d1067 |
|
MD5 | e35a7cbd3bfdbdf1d670da1ca12d6806 |
|
BLAKE2b-256 | 7e78d3b16cb38dccab675cc3c49278cf5995e75d0eddfdd9243d864d537721e3 |