21 lines
647 B
Python
21 lines
647 B
Python
"""Generate unique IDs for videos."""
|
|
|
|
from collections.abc import Hashable
|
|
|
|
|
|
def uid_for_source(video_source):
|
|
"""Get a uid for any source so it can be passed through the publisher-subscriber system."""
|
|
if len(str(video_source)) <= 1000:
|
|
uid = str(video_source)
|
|
elif isinstance(video_source, Hashable):
|
|
try:
|
|
uid = str(hash(video_source))
|
|
except TypeError:
|
|
raise NotImplementedError(
|
|
"Displaying immutables filled with mutables is not allowed yet. "
|
|
"No tuples of arrays."
|
|
)
|
|
else:
|
|
uid = str(hash(str(video_source)))
|
|
return uid
|