21 Commits

Author SHA1 Message Date
32191791c6 Twiddling with RtD 2025-09-20 23:00:49 -07:00
1ff910e4d2 Doc notes 2025-09-20 22:34:58 -07:00
0e8a77f548 removing flake8 file 2025-09-20 22:26:21 -07:00
Jamie Hardt
7058397f6f Update __init__.py 2025-09-20 22:24:10 -07:00
Jamie Hardt
16d7befd9f Update __init__.py 2025-09-20 22:21:56 -07:00
Jamie Hardt
2a3f4a7c18 Update python-package.yml 2025-09-20 22:19:14 -07:00
d7fff23e5e Tweaking workflow 2025-09-20 22:12:55 -07:00
Jamie Hardt
757c3171e7 Merge branch 'master' into feat-uv 2025-09-20 22:10:15 -07:00
48dd7de07e Changing to ruff linter 2025-09-20 22:07:33 -07:00
Jamie Hardt
dc259d54aa Update README.md 2025-09-20 16:39:06 -07:00
Jamie Hardt
09ed12fc8f Migrating to uv build and manager (#16)
* Migrating to uv build and manager

* Updated Flake8 settings

* Updating github workflow

* Update python-package.yml

* Removed redundant flake8 run

* Version number in banner

---------

Co-authored-by: Jamie Hardt <jamie@squad51.us>
2025-09-20 10:04:15 -07:00
2a69bf47c8 Version number in banner 2025-09-20 10:02:44 -07:00
01d2374a9b Merge branch 'feat-uv' of https://github.com/iluvcapra/ptulsconv into feat-uv 2025-09-20 09:47:07 -07:00
68e7eb89a9 Twiddle 2025-09-20 09:46:46 -07:00
Jamie Hardt
517fe3526a Update python-package.yml
Removed redundant flake8 run
2025-09-20 08:56:34 -07:00
7789c0df4c Updating github workflow 2025-09-19 10:43:20 -07:00
d97dcc3e08 Updated Flake8 settings 2025-09-19 10:41:41 -07:00
615b2b5a2a Migrating to uv build and manager 2025-09-19 10:36:28 -07:00
4cd6ba1772 Updated for latest ptsl-py
Major version change, dependency changes
2025-09-19 09:52:24 -07:00
1942b323b3 Merge branch 'master' of https://github.com/iluvcapra/ptulsconv 2025-09-08 16:27:19 -07:00
7d297a7564 Nudged version 2025-09-08 16:26:40 -07:00
31 changed files with 81 additions and 62 deletions

View File

@@ -1,4 +0,0 @@
[flake8]
per-file-ignores =
ptulsconv/__init__.py: F401
ptulsconv/docparser/__init__.py: F401

View File

@@ -27,15 +27,11 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
pip install -e .
- name: Lint with flake8
pip install .
pip install --group dev .
- name: Lint with ruff
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 ptulsconv tests --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 ptulsconv tests --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
ruff check src
- name: Test with pytest
run: |
pytest
flake8 ptulsconv

View File

@@ -10,10 +10,15 @@ build:
os: ubuntu-20.04
tools:
python: "3.10"
# You can also specify other tool versions:
# nodejs: "16"
# rust: "1.55"
# golang: "1.17"
jobs:
pre_install:
- pip install --upgrade --upgrade-strategy only-if-needed --group doc .
build:
html:
python -m sphinx -T -b html -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html
post_build:
- echo "Command run at 'post_build' step"
- echo `date`
# Build documentation in the docs/ directory with Sphinx
sphinx:
@@ -23,10 +28,13 @@ sphinx:
formats:
- pdf
# FIXME: We should be installing the `doc` dependency group and not the `doc`
# extra.
#Optionally declare the Python requirements required to build your docs
python:
install:
- method: pip
path: .
extra_requirements:
- doc
# python:
# install:
# - method: pip
# path: .
# extra_requirements:
# - doc

View File

@@ -22,7 +22,11 @@ For a quick overview of how to cue ADR with `ptulsconv`, check out the [Quicksta
The easiest way to install on your site is to use `pip`:
% pip3 install ptulsconv
If you are using `uv` you can also do a tool install...
% uv tool install ptulsconv
This will install the necessary libraries on your host and gives you
command-line access to the tool through an entry-point `ptulsconv`. In a
terminal window type `ptulsconv -h` for a list of available options.

View File

@@ -1,6 +1,13 @@
[project]
name = "ptulsconv"
license = { file = "LICENSE" }
version = "4.0.0"
description = "Read Pro Tools Text exports and generate PDF ADR Reports, JSON"
readme = "README.md"
requires-python = ">=3.9"
license-files = ["LICENSE"]
keywords = ["text-processing", "parsers", "film",
"broadcast", "editing", "editorial"]
classifiers = [
'License :: OSI Approved :: MIT License',
'Topic :: Multimedia',
@@ -13,39 +20,41 @@ classifiers = [
"Development Status :: 5 - Production/Stable",
"Topic :: Text Processing :: Filters"
]
requires-python = ">=3.8"
keywords = ["text-processing", "parsers", "film",
"broadcast", "editing", "editorial"]
[tool.poetry]
name = "ptulsconv"
version = "3.0.0"
description = "Read Pro Tools Text exports and generate PDF ADR Reports, JSON"
authors = ["Jamie Hardt <jamiehardt@me.com>"]
license = "MIT"
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.8"
parsimonious = "^0.10.0"
tqdm = "^4.67.1"
reportlab = "^4.4.1"
py-ptsl = "^101.1.0"
sphinx_rtd_theme = {version= '>= 1.1.1', optional=true}
sphinx = {version= '>= 5.3.0', optional=true}
[tool.poetry.extras]
doc = ['sphinx', 'sphinx_rtd_theme']
[tool.poetry.scripts]
ptulsconv = 'ptulsconv.__main__:main'
authors = [{name = "Jamie Hardt", email = "<jamiehardt@me.com>"}]
dependencies = [
"parsimonious>=0.10.0",
"py-ptsl>=600.0.0",
"reportlab>=4.4.4",
"tqdm>=4.67.1",
]
# [tool.uv.build-backend]
# data = { headers = "include/headers", scripts = "bin" }
[project.urls]
Source = 'https://github.com/iluvcapra/ptulsconv'
Issues = 'https://github.com/iluvcapra/ptulsconv/issues'
Documentation = 'https://ptulsconv.readthedocs.io/'
[project.optional-dependencies]
doc = [
"sphinx>=7.4.7",
"sphinx-rtd-theme>=3.0.2",
]
[project.scripts]
ptulsconv = "ptulsconv:__main__.main"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
requires = ["uv_build>=0.8.18,<0.9.0"]
build-backend = "uv_build"
[dependency-groups]
dev = [
"ruff>=0.13.1",
]
doc = [
"sphinx>=7.4.7",
"sphinx-rtd-theme>=3.0.2",
]

View File

@@ -2,6 +2,8 @@ from optparse import OptionParser, OptionGroup
import datetime
import sys
import importlib.metadata
from ptulsconv import __name__
import ptulsconv
from ptulsconv.commands import convert
@@ -82,8 +84,9 @@ def main():
'and exit.')
parser.add_option_group(informational_options)
print_banner_style(ptulsconv.__name__)
version = importlib.metadata.version(ptulsconv.__name__)
print_banner_style(f"{ptulsconv.__name__} - version {version}")
print_banner_style(ptulsconv.__copyright__)
(options, args) = parser.parse_args(sys.argv)

View File

@@ -55,8 +55,8 @@ def output_adr_csv(lines: List[ADRLine], time_format: TimecodeFormat):
directories for each character number and name pair, and within that
directory, creates a CSV file for each reel.
"""
reels = set([ln.reel for ln in lines])
reels: set[str | None] = set([ln.reel for ln in lines])
for n, name in [(n.character_id, n.character_name) for n in lines]:
dir_name = "%s_%s" % (n, name)
os.makedirs(dir_name, exist_ok=True)

View File

@@ -2,4 +2,7 @@
Docparser module
"""
from .pt_doc_parser import parse_document
__all__ = [parse_document]

View File

@@ -79,13 +79,13 @@ def make_doc_template(page_size, filename, document_title,
header_box, page_box = page_box.split_y(0.75 * inch, direction='d')
title_box, report_box = header_box.split_x(3.5 * inch, direction='r')
on_page_lambda = (lambda c, _:
draw_header_footer(c, report_box, title_box,
footer_box, title=title,
supervisor=supervisor,
document_subheader=document_subheader,
client=client,
doc_title=document_header))
def on_page_lambda(c, _):
draw_header_footer(c, report_box, title_box,
footer_box, title=title,
supervisor=supervisor,
document_subheader=document_subheader,
client=client,
doc_title=document_header)
frames = [Frame(page_box.min_x, page_box.min_y,
page_box.width, page_box.height)]