Rename to slixmpp
[slixmpp.git] / slixmpp / plugins / xep_0096 / stanza.py
blobd3781c8d4c9dc06ba5bfac36c1a94589db85336e
1 """
2 Slixmpp: The Slick XMPP Library
3 Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout
4 This file is part of Slixmpp.
6 See the file LICENSE for copying permission.
7 """
9 import datetime as dt
11 from slixmpp.xmlstream import ElementBase, register_stanza_plugin
12 from slixmpp.plugins import xep_0082
15 class File(ElementBase):
16 name = 'file'
17 namespace = 'http://jabber.org/protocol/si/profile/file-transfer'
18 plugin_attrib = 'file'
19 interfaces = set(['name', 'size', 'date', 'hash', 'desc'])
20 sub_interfaces = set(['desc'])
22 def set_size(self, value):
23 self._set_attr('size', str(value))
25 def get_date(self):
26 timestamp = self._get_attr('date')
27 return xep_0082.parse(timestamp)
29 def set_date(self, value):
30 if isinstance(value, dt.datetime):
31 value = xep_0082.format_datetime(value)
32 self._set_attr('date', value)
35 class Range(ElementBase):
36 name = 'range'
37 namespace = 'http://jabber.org/protocol/si/profile/file-transfer'
38 plugin_attrib = 'range'
39 interfaces = set(['length', 'offset'])
41 def set_length(self, value):
42 self._set_attr('length', str(value))
44 def set_offset(self, value):
45 self._set_attr('offset', str(value))
48 register_stanza_plugin(File, Range)