without a --prefix flag, Python will complain about the file path not being absolute.
with such a flag, Python will generate location value with some additional prefix path starting from C:\ or D:\.
Reproduction steps
C:\Users\krim>clams source video:/data/video.mp4
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\krim\anaconda3\Scripts\clams.exe\__main__.py", line 7, in <module>
File "C:\Users\krim\anaconda3\Lib\site-packages\clams\__init__.py", line 45, in cli
source.main(args)
File "C:\Users\krim\anaconda3\Lib\site-packages\clams\mmif_utils\source.py", line 314, in main
mmif = generate_source_mmif_from_file(**vars(args))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\krim\anaconda3\Lib\site-packages\clams\mmif_utils\source.py", line 215, in generate_source_mmif_from_file
pl.add_document(doc)
File "C:\Users\krim\anaconda3\Lib\site-packages\clams\mmif_utils\source.py", line 69, in add_document
document = Document(document)
^^^^^^^^^^^^^^^^^^
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\annotation.py", line 256, in __init__
super().__init__(doc_obj)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\annotation.py", line 60, in __init__
super().__init__(anno_obj)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\model.py", line 108, in __init__
self.deserialize(mmif_obj)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\model.py", line 240, in deserialize
self._deserialize(mmif_json)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\annotation.py", line 68, in _deserialize
super()._deserialize(input_dict)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\model.py", line 257, in _deserialize
self[k] = self._attribute_classes[k](v)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\annotation.py", line 462, in __init__
super().__init__(mmif_obj)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\annotation.py", line 438, in __init__
super().__init__(mmif_obj)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\model.py", line 108, in __init__
self.deserialize(mmif_obj)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\model.py", line 240, in deserialize
self._deserialize(mmif_json)
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\annotation.py", line 466, in _deserialize
self.location = input_dict.pop("location")
^^^^^^^^^^^^^
File "C:\Users\krim\anaconda3\Lib\site-packages\mmif\serialize\annotation.py", line 504, in location
self.location_ = pathlib.Path(location).as_uri()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\krim\anaconda3\Lib\pathlib.py", line 566, in as_uri
raise ValueError("relative path can't be expressed as a file URI")
ValueError: relative path can't be expressed as a file URI
Bug Description
Originally reported by @owencking
When using the command on Windows,
--prefix
flag, Python will complain about the file path not being absolute.location
value with some additional prefix path starting fromC:\
orD:\
.Reproduction steps
Expected behavior
No response
Log output
No response
Screenshots
No response
Additional context
No response