trying to wrap xmlrpclib into classes
Steven Noels
stevenn at outerthought.org
Wed Jan 22 07:54:21 EST 2003
Brian Quinlan wrote:
>>'Somehow', I want this Page object to forward the method invocation to
>>my Server object, but I'm stuck on the _how_. Should I let my Server
>>class inherit from the xmlrpclib.Server class? My Page class too?
>
>
> You could make your Server class an xmlrpclib.Server subclass but I
> would just get rid of your Server class since it doesn't really do
> anything.
That's what I did, thanks. What do you mean with 'getting rid of my
Server class...? I definitely need the one in xmlrpclib.py. I'm trying
to wrap things in order to make it feel less XMLRPC'ish:
import xmlrpclib, time, strptime
from UrllibTransport import UrllibTransport
class Page(xmlrpclib.Server):
def __init__(self, name, server_url):
self.name = name
self.server_url = server_url
self.server = xmlrpclib.Server(self.server_url,
transport=UrllibTransport())
def retrievePageInfo(self):
pageInfo = self.server.wiki.getPageInfo(self.name)
self.version = pageInfo['version']
self.author = pageInfo['author']
self.lastModified = UTC2time(pageInfo['lastModified'].value) #
make a (time) tuple out of it
def getName(self):
return self.name
def getVersion(self):
return self.version
def getAuthor(self):
return self.author
def getlastModified(self):
return self.lastModified
def getPageContent(self):
pageContent = self.server.wiki.getPage(self.name)
return pageContent.data
def getPageContentVersion(self, version):
pageContent = self.server.wiki.getPageVersion(self.name, version)
return pageContent.data
class RecentChanges(xmlrpclib.Server):
def __init__(self, server_url):
self.server_url = server_url
self.server = xmlrpclib.Server(self.server_url,
transport=UrllibTransport())
def getRecentChanges(self, time):
rc =
self.server.wiki.getRecentChanges(xmlrpclib.DateTime(time2UTC(time)))
...
Dunnow whether this is good design, so comments are welcome!
</Steven>
--
Steven Noels http://outerthought.org/
Outerthought - Open Source, Java & XML Competence Support Center
Read my weblog at http://blogs.cocoondev.org/stevenn/
stevenn at outerthought.org stevenn at apache.org
More information about the Python-list
mailing list