mirror of
https://github.com/iluvcapra/pycmx.git
synced 2025-12-31 00:40:57 +00:00
Flake8 for docs, test, bin
This commit is contained in:
2
.flake8
2
.flake8
@@ -1,5 +1,5 @@
|
||||
[flake8]
|
||||
per-file-ignores =
|
||||
pycmx/__init__.py: F401
|
||||
|
||||
tests/__init__.py: F401
|
||||
|
||||
|
||||
@@ -36,9 +36,9 @@ def output_cmx(outfile, out_list):
|
||||
outfile.write("TITLE: SCENE LIST\r\n")
|
||||
outfile.write("FCM: NON-DROP FRAME\r\n")
|
||||
|
||||
for o in out_list:
|
||||
line = "%03i AX V C 00:00:00:00 00:00:00:00 %s %s\r\n" % (
|
||||
0, o['start'], o['end'])
|
||||
for i, o in enumerate(out_list):
|
||||
line = '%03i AX V C ' % (i)
|
||||
line += '00:00:00:00 00:00:00:00 %s %s\r\n' % (o['start'], o['end'])
|
||||
outfile.write(line)
|
||||
outfile.write("* FROM CLIP NAME: %s\r\n" % (o['scene']))
|
||||
|
||||
@@ -85,15 +85,20 @@ def scene_list(infile, outfile, out_format, pattern):
|
||||
|
||||
def scene_list_cli():
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Read video events from an input CMX EDL and output events merged into scenes.')
|
||||
parser.add_argument('-o', '--outfile', default=sys.stdout, type=argparse.FileType('w'),
|
||||
description='Read video events from an input CMX EDL and output '
|
||||
'events merged into scenes.')
|
||||
parser.add_argument('-o', '--outfile', default=sys.stdout,
|
||||
type=argparse.FileType('w'),
|
||||
help='Output file. Default is stdout.')
|
||||
parser.add_argument('-f', '--format', default='cmx', type=str,
|
||||
help='Output format. Options are cols and cmx, cmx is the default.')
|
||||
help='Output format. Options are cols and cmx, cmx '
|
||||
'is the default.')
|
||||
parser.add_argument('-p', '--pattern', default='V?([A-Z]*[0-9]+)',
|
||||
help='RE pattern for extracting scene name from clip name. The default is "V?([A-Z]*[0-9]+)". ' +
|
||||
help='RE pattern for extracting scene name from clip '
|
||||
'name. The default is "V?([A-Z]*[0-9]+)". ' +
|
||||
'This pattern will be matched case-insensitively.')
|
||||
parser.add_argument('input_edl', default=sys.stdin, type=argparse.FileType('r'), nargs='?',
|
||||
parser.add_argument('input_edl', default=sys.stdin,
|
||||
type=argparse.FileType('r'), nargs='?',
|
||||
help='Input file. Default is stdin.')
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
@@ -12,22 +12,20 @@
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#
|
||||
|
||||
import os
|
||||
import sys
|
||||
sys.path.insert(0, os.path.abspath('../..'))
|
||||
|
||||
import pycmx
|
||||
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = u'pycmx'
|
||||
copyright = u'(c) 2023, Jamie Hardt'
|
||||
copyright = u'(c) 2025, Jamie Hardt'
|
||||
author = u'Jamie Hardt'
|
||||
|
||||
# The short X.Y version
|
||||
version = pycmx.__version__
|
||||
# The full version, including alpha/beta/rc tags
|
||||
release = pycmx.__version__
|
||||
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
|
||||
@@ -2,6 +2,7 @@ from unittest import TestCase
|
||||
|
||||
import pycmx
|
||||
|
||||
|
||||
class TestParse(TestCase):
|
||||
|
||||
files = ["INS4_R1_010417.edl",
|
||||
@@ -22,7 +23,8 @@ class TestParse(TestCase):
|
||||
edl = pycmx.parse_cmx3600(f)
|
||||
actual = len(list(edl.events))
|
||||
self.assertTrue(actual == count,
|
||||
"expected %i in file %s but found %i" % (count, fn, actual))
|
||||
"expected %i in file %s but found %i"
|
||||
% (count, fn, actual))
|
||||
|
||||
def test_list_sanity(self):
|
||||
for fn in type(self).files:
|
||||
@@ -31,7 +33,6 @@ class TestParse(TestCase):
|
||||
self.assertTrue(type(edl.title) is str)
|
||||
self.assertTrue(len(edl.title) > 0)
|
||||
|
||||
|
||||
def test_event_sanity(self):
|
||||
for fn in type(self).files:
|
||||
path = "tests/edls/" + fn
|
||||
@@ -41,8 +42,6 @@ class TestParse(TestCase):
|
||||
self.assertTrue(len(event.edits) > 0)
|
||||
self.assertTrue(event.number == index + 1)
|
||||
|
||||
|
||||
|
||||
def test_events(self):
|
||||
with open("tests/edls/TEST.edl", 'r') as f:
|
||||
edl = pycmx.parse_cmx3600(f)
|
||||
@@ -51,12 +50,14 @@ class TestParse(TestCase):
|
||||
self.assertEqual(events[0].number, 1)
|
||||
self.assertEqual(events[0].edits[0].source, "OY_HEAD_")
|
||||
self.assertEqual(events[0].edits[0].clip_name, "HEAD LEADER MONO")
|
||||
self.assertEqual( events[0].edits[0].source_file , "OY_HEAD_LEADER.MOV")
|
||||
self.assertEqual(
|
||||
events[0].edits[0].source_file, "OY_HEAD_LEADER.MOV")
|
||||
self.assertEqual(events[0].edits[0].source_in, "00:00:00:00")
|
||||
self.assertEqual(events[0].edits[0].source_out, "00:00:00:00")
|
||||
self.assertEqual(events[0].edits[0].record_in, "01:00:00:00")
|
||||
self.assertEqual(events[0].edits[0].record_out, "01:00:08:00")
|
||||
self.assertTrue( events[0].edits[0].transition.kind == pycmx.Transition.Cut)
|
||||
self.assertTrue(
|
||||
events[0].edits[0].transition.kind == pycmx.Transition.Cut)
|
||||
|
||||
def test_channel_map(self):
|
||||
with open("tests/edls/TEST.edl", 'r') as f:
|
||||
@@ -68,7 +69,6 @@ class TestParse(TestCase):
|
||||
self.assertTrue(events[2].edits[0].channels.get_audio_channel(7))
|
||||
self.assertTrue(events[2].edits[0].channels.audio)
|
||||
|
||||
|
||||
def test_multi_edit_events(self):
|
||||
with open("tests/edls/TEST.edl", 'r') as f:
|
||||
edl = pycmx.parse_cmx3600(f)
|
||||
@@ -78,20 +78,25 @@ class TestParse(TestCase):
|
||||
self.assertEqual(len(events[42].edits), 2)
|
||||
|
||||
self.assertEqual(events[42].edits[0].source, "TC_R1_V1")
|
||||
self.assertEqual( events[42].edits[0].clip_name , "TC R1 V1.2 TEMP1 FX ST.WAV")
|
||||
self.assertEqual(events[42].edits[0].clip_name,
|
||||
"TC R1 V1.2 TEMP1 FX ST.WAV")
|
||||
self.assertEqual(events[42].edits[0].source_in, "00:00:00:00")
|
||||
self.assertEqual(events[42].edits[0].source_out, "00:00:00:00")
|
||||
self.assertEqual(events[42].edits[0].record_in, "01:08:56:09")
|
||||
self.assertEqual(events[42].edits[0].record_out, "01:08:56:09")
|
||||
self.assertTrue( events[42].edits[0].transition.kind == pycmx.Transition.Cut)
|
||||
self.assertTrue(
|
||||
events[42].edits[0].transition.kind == pycmx.Transition.Cut)
|
||||
|
||||
self.assertEqual(events[42].edits[1].source, "TC_R1_V6")
|
||||
self.assertEqual( events[42].edits[1].clip_name , "TC R1 V6 TEMP2 ST FX.WAV")
|
||||
self.assertEqual(events[42].edits[1].clip_name,
|
||||
"TC R1 V6 TEMP2 ST FX.WAV")
|
||||
self.assertEqual(events[42].edits[1].source_in, "00:00:00:00")
|
||||
self.assertEqual(events[42].edits[1].source_out, "00:00:00:00")
|
||||
self.assertEqual(events[42].edits[1].record_in, "01:08:56:09")
|
||||
self.assertEqual(events[42].edits[1].record_out, "01:08:56:11")
|
||||
self.assertTrue( events[42].edits[1].transition.kind == pycmx.Transition.Dissolve)
|
||||
self.assertTrue(
|
||||
events[42].edits[1].transition.kind ==
|
||||
pycmx.Transition.Dissolve)
|
||||
|
||||
def test_line_numbers(self):
|
||||
with open("tests/edls/ToD_R4_LOCK3.1_030618_Video.edl") as f:
|
||||
@@ -106,8 +111,5 @@ class TestParse(TestCase):
|
||||
with open("tests/edls/test_25.edl", "r") as f:
|
||||
edl = pycmx.parse_cmx3600(f)
|
||||
events = list(edl.events)
|
||||
self.assertEqual( events[4].edits[1].transition.name , "CROSS DISSOLVE" )
|
||||
|
||||
|
||||
# add test for edit_list.channels
|
||||
|
||||
self.assertEqual(
|
||||
events[4].edits[1].transition.name, "CROSS DISSOLVE")
|
||||
|
||||
Reference in New Issue
Block a user