]>
jfr.im git - irc/rizon/acid.git/blob - pyva/src/main/python/internets/api/idlerpg.py
2 from StringIO
import StringIO
3 from xml
. dom
. minidom
import Element
, parse
4 from feed
import XmlFeed
, HtmlFeed
7 class IrpgPlayer ( object ):
8 def __init__ ( self
, name
):
9 url
= 'http://idlerpg.rizon.net/xml.php?'
10 url
+= urllib
. urlencode ( {'player': name}
)
12 # we do our own url -> XML document translation here
13 # because we need to replace bad irc control characters with something we cn actually handle
15 # we'll do replacements and print out the right values later, when we fix bare @ handling (UModule): .replace(chr(2), '@b').replace(chr(3), '@c').replace(chr(15), '@o').replace(chr(31), '@u')
16 feed_data
= feed
. html (). replace ( chr ( 2 ), '' ). replace ( chr ( 3 ), '' ). replace ( chr ( 15 ), '' ). replace ( chr ( 31 ), '' )
17 element
= parse ( StringIO ( feed_data
))
19 xml
= XmlFeed ( element
)
20 xml
= xml
. elements ( '/player' )[ 0 ]
21 self
. name
= xml
. text ( 'username' )
22 self
. is_admin
= xml
. bool ( 'isadmin' )
23 self
. level
= xml
. int ( 'level' )
24 self
. classe
= xml
. text ( 'class' )
25 self
. ttl
= xml
. int ( 'ttl' )
26 self
. idled_for
= xml
. int ( 'totalidled' )
27 self
. is_online
= xml
. bool ( 'online' )
28 alignment
= xml
. text ( 'alignment' )
30 self
. alignment
= 'Good'
31 elif alignment
== 'e' :
32 self
. alignment
= 'Evil'
34 self
. alignment
= 'Neutral'