mirror of
https://github.com/iluvcapra/ptulsconv.git
synced 2025-12-31 08:50:48 +00:00
Reorganized trst sources
This commit is contained in:
@@ -126,7 +126,7 @@ def create_adr_reports(lines: List[ADRLine], tc_display_format: TimecodeFormat,
|
|||||||
# return parsed
|
# return parsed
|
||||||
|
|
||||||
|
|
||||||
def convert(input_file, major_mode='fmpxml', output=sys.stdout, warnings=True):
|
def convert(input_file, major_mode, output=sys.stdout, warnings=True):
|
||||||
|
|
||||||
session = parse_document(input_file)
|
session = parse_document(input_file)
|
||||||
session_tc_format = session.header.timecode_format
|
session_tc_format = session.header.timecode_format
|
||||||
|
|||||||
20
ptulsconv/footage.py
Normal file
20
ptulsconv/footage.py
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
from fractions import Fraction
|
||||||
|
import re
|
||||||
|
import math
|
||||||
|
from collections import namedtuple
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
def footage_to_seconds(footage: str) -> Optional[Fraction]:
|
||||||
|
m = re.match(r'(\d+)\+(\d+)(\.\d+)?')
|
||||||
|
if m is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
feet, frames = m.groups()
|
||||||
|
feet, frames = int(feet), int(frames)
|
||||||
|
|
||||||
|
fps = 24
|
||||||
|
frames_per_foot = 16
|
||||||
|
|
||||||
|
total_frames = feet * 16 + frames
|
||||||
|
|
||||||
|
return Fraction(total_frames, fps)
|
||||||
4
test-coverage.sh
Executable file
4
test-coverage.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
coverage run -m pytest . ; coverage-lcov
|
||||||
|
|
||||||
32
tests/functional/test_pdf_export.py
Normal file
32
tests/functional/test_pdf_export.py
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
import unittest
|
||||||
|
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
import os.path
|
||||||
|
import os
|
||||||
|
import glob
|
||||||
|
|
||||||
|
from ptulsconv import commands
|
||||||
|
|
||||||
|
# class TestBroadcastTimecode(unittest.TestCase):
|
||||||
|
# def test_report_generation(self):
|
||||||
|
# """
|
||||||
|
# Setp through every text file in export_cases and make sure it can
|
||||||
|
# be converted into PDF docs without throwing an error
|
||||||
|
# """
|
||||||
|
# for path in glob.glob(os.path.dirname(__file__) + "/../export_cases/*.txt"):
|
||||||
|
# tempdir = tempfile.TemporaryDirectory()
|
||||||
|
# os.chdir(tempdir.name)
|
||||||
|
# try:
|
||||||
|
# commands.convert(path, major_mode='doc')
|
||||||
|
# except:
|
||||||
|
# assert False, "Error processing file %s" % path
|
||||||
|
# finally:
|
||||||
|
# tempdir.cleanup()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
||||||
@@ -4,7 +4,7 @@ import os.path
|
|||||||
|
|
||||||
|
|
||||||
class TaggingIntegratedTests(unittest.TestCase):
|
class TaggingIntegratedTests(unittest.TestCase):
|
||||||
path = os.path.dirname(__file__) + '/export_cases/Tag Tests/Tag Tests.txt'
|
path = os.path.dirname(__file__) + '/../export_cases/Tag Tests/Tag Tests.txt'
|
||||||
|
|
||||||
def test_event_list(self):
|
def test_event_list(self):
|
||||||
with open(self.path, 'r') as f:
|
with open(self.path, 'r') as f:
|
||||||
Reference in New Issue
Block a user