Source code for slixmpp.plugins.xep_0234.stanza

from datetime import datetime

from slixmpp.plugins.xep_0082 import format_datetime, parse
from slixmpp.xmlstream import ElementBase

NS = "urn:xmpp:jingle:apps:file-transfer:5"


[docs] class File(ElementBase): name = "file" namespace = NS plugin_attrib = "file" interfaces = sub_interfaces = {"media-type", "name", "date", "size", "hash", "desc"}
[docs] def set_size(self, size: int): self._set_sub_text("size", str(size))
[docs] def get_size(self): return _int_or_none(self._get_sub_text("size"))
[docs] def get_date(self): try: return parse(self._get_sub_text("date")) except ValueError: return
[docs] def set_date(self, stamp: datetime): try: self._set_sub_text("date", format_datetime(stamp)) except ValueError: pass
def _int_or_none(v): try: return int(v) except ValueError: return None