in rabbitmq/vidispine_message_processor.py [0:0]
def get_item_metadata(self, item_id) -> (float, str):
duration_seconds=None
version=None
if item_id is not None:
try:
vs_item = VSItem(url=settings.VIDISPINE_URL,
user=settings.VIDISPINE_USER,
passwd=settings.VIDISPINE_PASSWORD)
vs_item.populate(item_id,specificFields=["durationSeconds","__version"])
version = vs_item.get("__version",allowArray=True)
if isinstance(version, list):
logger.warning("{0} has multiple versions: {1}, using the first".format(item_id, version))
version = version[0]
possibly_seconds = vs_item.get("durationSeconds")
if possibly_seconds is not None:
duration_seconds = float(possibly_seconds)
except ValueError:
logger.warning("{0}: duration_seconds value '{1}' could not be converted to float".format(item_id, vs_item.get("durationSeconds")))
except VSException as e:
logger.warning("Could not get extra metadata for {0} from Vidispine: {1}".format(item_id, str(e)))
if duration_seconds is not None:
logger.debug("Got duration as " + str(duration_seconds) + " seconds")
if version is not None:
logger.debug("Got version: " + version)
return duration_seconds, version