markreidvfx / pyavb

Read and write Avid Bin FIles (AVB) files
https://pyavb.readthedocs.io
MIT License
58 stars 4 forks source link

avb2aaf linked media error #4

Open tin2tin opened 4 years ago

tin2tin commented 4 years ago

When trying to convert a avb file using (in Avid) linked media, I get there errors:

C:\Users\user\pyavb\examples>python avb2aaf.py "C:\Users\user\Documents\MC First Avid Projects\tintwotin\Eyeframe\Eyeframe Sequences.avb"
Eyeframe
Traceback (most recent call last):
  File "avb2aaf.py", line 805, in <module>
    avb2aaf_main(sys.argv[1])
  File "avb2aaf.py", line 796, in avb2aaf_main
    avb2aaf(aaf_file, avb_file)
  File "avb2aaf.py", line 787, in avb2aaf
    convert_composition(aaf_file, mob)
  File "avb2aaf.py", line 774, in convert_composition
    convert_slots(f, avb_mob, aaf_mob)
  File "avb2aaf.py", line 700, in convert_slots
    slot.segment = convert_component(aaf_file, track.component)
  File "avb2aaf.py", line 559, in convert_component
    aaf_component = convert_sequence(f, avb_component)
  File "avb2aaf.py", line 326, in convert_sequence
    aaf_sequence.components.append(convert_component(aaf_file, avb_component))
  File "avb2aaf.py", line 556, in convert_component
    aaf_component = convert_source_clip(f, avb_component)
  File "avb2aaf.py", line 306, in convert_source_clip
    slot_id = check_source_clip(f, avb_source_clip)
  File "avb2aaf.py", line 286, in check_source_clip
    mob = convert_composition(f, avb_mob)
  File "avb2aaf.py", line 774, in convert_composition
    convert_slots(f, avb_mob, aaf_mob)
  File "avb2aaf.py", line 700, in convert_slots
    slot.segment = convert_component(aaf_file, track.component)
  File "avb2aaf.py", line 559, in convert_component
    aaf_component = convert_sequence(f, avb_component)
  File "avb2aaf.py", line 326, in convert_sequence
    aaf_sequence.components.append(convert_component(aaf_file, avb_component))
  File "avb2aaf.py", line 556, in convert_component
    aaf_component = convert_source_clip(f, avb_component)
  File "avb2aaf.py", line 306, in convert_source_clip
    slot_id = check_source_clip(f, avb_source_clip)
  File "avb2aaf.py", line 286, in check_source_clip
    mob = convert_composition(f, avb_mob)
  File "avb2aaf.py", line 757, in convert_composition
    aaf_mob.descriptor = convert_descriptor(avb_mob.descriptor, f)
  File "avb2aaf.py", line 231, in convert_descriptor
    descriptor['FileDescriptors'].append(convert_descriptor(item, aaf_file))
  File "avb2aaf.py", line 242, in convert_descriptor
    url = "file:///"+ urllib.pathname2url(path)
AttributeError: module 'urllib' has no attribute 'pathname2url'

Eyeframe_linked.zip

markreidvfx commented 4 years ago

this looks like its failing because urllib changed in python3 which I assume your using

markreidvfx commented 4 years ago

fixed in 48b05a84ff9752703a9218d5ca157ee672b020ab

tin2tin commented 4 years ago

Still getting errors with "Linked" material:

C:\Users\user\pyavb\examples>python avb2aaf.py "C:\Users\user\Documents\MC First Avid Projects\tintwotin\Avid_Linked\Avid_Linked Sequences.avb"
Avid_Linked
Traceback (most recent call last):
  File "avb2aaf.py", line 810, in <module>
    avb2aaf_main(sys.argv[1])
  File "avb2aaf.py", line 801, in avb2aaf_main
    avb2aaf(aaf_file, avb_file)
  File "avb2aaf.py", line 792, in avb2aaf
    convert_composition(aaf_file, mob)
  File "avb2aaf.py", line 779, in convert_composition
    convert_slots(f, avb_mob, aaf_mob)
  File "avb2aaf.py", line 705, in convert_slots
    slot.segment = convert_component(aaf_file, track.component)
  File "avb2aaf.py", line 564, in convert_component
    aaf_component = convert_sequence(f, avb_component)
  File "avb2aaf.py", line 331, in convert_sequence
    aaf_sequence.components.append(convert_component(aaf_file, avb_component))
  File "avb2aaf.py", line 587, in convert_component
    aaf_component = convert_motion_effect(f, avb_component)
  File "avb2aaf.py", line 521, in convert_motion_effect
    for param in avb_effect.param_list:
TypeError: 'NoneType' object is not iterable
markreidvfx commented 2 years ago

sorry for the long delay, did you end up resolving this?