]>
code.delx.au - pymsnt/blob - src/utils.py
1 # Copyright 2004-2005 James Bunton <james@delx.cjb.net>
2 # Licensed for distribution under the GPL version 2, check COPYING for details
7 from twisted
.words
.protocols
.jabber
import intern as jid
9 from tlib
.jabber
.jid
import intern as jid
13 return el
.getAttribute((u
'http://www.w3.org/XML/1998/namespace', u
'lang'))
20 def convertToPNG(imageData
):
21 inbuff
= StringIO
.StringIO(imageData
)
22 outbuff
= StringIO
.StringIO()
23 Image
.open(inbuff
).save(outbuff
, "PNG")
25 imageData
= outbuff
.read()
28 print "WARNING! Only PNG avatars will be understood by this transport. Please install the Python Imaging Library."
30 def convertToPNG(imageData
):
37 "feature-not-implemented" : 501,
40 "internal-server-error" : 500,
41 "item-not-found" : 404,
42 "jid-malformed" : 400,
43 "not-acceptable" : 406,
45 "not-authorized" : 401,
46 "payment-required" : 402,
47 "recipient-unavailable" : 404,
49 "registration-required" : 407,
50 "remote-server-not-found" : 404,
51 "remote-server-timeout" : 504,
52 "resource-constraint" : 500,
53 "service-unavailable" : 503,
54 "subscription-required" : 407,
55 "undefined-condition" : 500,
56 "unexpected-request" : 400
60 def parseText(text
, beExtremelyLenient
=False):
61 t
= TextParser(beExtremelyLenient
)
65 def parseFile(filename
, beExtremelyLenient
=False):
66 t
= TextParser(beExtremelyLenient
)
71 checkTwistedCached
= None
73 """ Returns False if we're using an old version that needs tlib, otherwise returns True """
74 global checkTwistedCached
75 if checkTwistedCached
== None:
76 import twisted
.copyright
77 checkTwistedCached
= (VersionNumber(twisted
.copyright
.version
) >= VersionNumber("2.0.0"))
78 return checkTwistedCached
81 def __init__(self
, vstring
):
90 elif c
.isdigit() and flag
:
91 self
.varray
[index
] *= 10
92 self
.varray
[index
] += int(c
)
96 def __cmp__(self
, other
):
99 if i
== len(other
.varray
):
100 if i
< len(self
.varray
):
104 if i
== len(self
.varray
):
105 if i
< len(other
.varray
):
110 if self
.varray
[i
] > other
.varray
[i
]:
112 elif self
.varray
[i
] < other
.varray
[i
]:
119 from twisted
.xish
.domish
import SuxElementStream
121 from tlib
.domish
import SuxElementStream
123 """ Taken from http://xoomer.virgilio.it/dialtone/rsschannel.py """
125 def __init__(self
, beExtremelyLenient
=False):
127 self
.beExtremelyLenient
= beExtremelyLenient
129 def parseFile(self
, filename
):
130 return self
.parseString(file(filename
).read())
132 def parseString(self
, data
):
133 es
= SuxElementStream()
134 es
.beExtremelyLenient
= self
.beExtremelyLenient
135 es
.DocumentStartEvent
= self
.docStart
136 es
.DocumentEndEvent
= self
.docEnd
137 es
.ElementEvent
= self
.element
141 def docStart(self
, e
):
147 def element(self
, e
):
148 self
.root
.addChild(e
)