/[cvs]/nfo/projects/netfraggle/bin/fraggleEngine.py
ViewVC logotype

Diff of /nfo/projects/netfraggle/bin/fraggleEngine.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by joko, Mon Aug 30 13:03:13 2004 UTC revision 1.6 by joko, Tue Aug 31 02:23:07 2004 UTC
# Line 12  Line 12 
12    
13  #-----------------------------------------------------------------------------  #-----------------------------------------------------------------------------
14  # $Log$  # $Log$
15    # Revision 1.6  2004/08/31 02:23:07  joko
16    # U changes to (dummy) topics metadata (FraggleXml)
17    # + def query_remote: wrapper for making remote xmlrpc call
18    #
19  # Revision 1.5  2004/08/30 13:03:13  joko  # Revision 1.5  2004/08/30 13:03:13  joko
20  # - def getDefaultDir now in fraggleCtlPreferences  # - def getDefaultDir now in fraggleCtlPreferences
21  # + def getTopicById  # + def getTopicById
# Line 58  class FraggleEngine: Line 62  class FraggleEngine:
62          # v1 - demo          # v1 - demo
63          self.topics = [          self.topics = [
64              {              {
65                  'name': 'iNFO-Test-ViaXMLRPC',                  'name': 'iNFO-Page:Test-ViaXMLRPC',
66                  'mode': 'pull',                  'mode': 'pull',
67                    'result': 'item',
68                  'target': {                  'target': {
69                      'url': 'http://netfrag.org/nfo/netfraggle.php',                      'url': 'http://netfrag.org/nfo/netfraggle.php',
70                      'method': 'nfo.getContent',                      'method': 'nfo.getContent',
71                      'arguments': ['Test'],                      'arguments': 'Test',
72                      'type': 'XMLRPC',                      'type': 'XMLRPC',
73                  }                  }
74              },              },
75              {              {
76                  'name': 'iNFO-Home-ViaXMLRPC',                  'name': 'iNFO-Page:Home-ViaXMLRPC',
77                  'mode': 'pull',                  'mode': 'pull',
78                    'result': 'item',
79                  'target': {                  'target': {
80                      'url': 'http://netfrag.org/nfo/netfraggle.php',                      'url': 'http://netfrag.org/nfo/netfraggle.php',
81                      'method': 'nfo.getContent',                      'method': 'nfo.getContent',
82                      'arguments': ['Home'],                      'arguments': 'Home',
83                        'type': 'XMLRPC',
84                    }
85                },
86                {
87                    'name': 'iNFO-PageIndex',
88                    'mode': 'pull',
89                    'result': 'list',
90                    'target': {
91                        'url': 'http://netfrag.org/nfo/netfraggle.php',
92                        'method': 'nfo.listTopics',
93                        'arguments': ['xmlpage'],
94                      'type': 'XMLRPC',                      'type': 'XMLRPC',
95                  }                  }
96              },              },
# Line 111  class FraggleEngine: Line 128  class FraggleEngine:
128      def getTopicById(self, id):      def getTopicById(self, id):
129          return self.topics[id]          return self.topics[id]
130    
131        def query_remote(self, topicid):
132            topicmeta = self.getTopicById(topicid)
133    
134            if topicmeta['target']['type'] == 'XMLRPC':
135                # TODO: make FraggleXMLRPC do all stuff
136                # (call methods dynamically)
137                from xmlrpclib import Server, Error
138                rpc = Server(topicmeta['target']['url'])
139                #try:
140                if topicmeta['result'] == 'item':
141                    topicdata = {}
142                    try:
143                        #topicdata = rpc.getContent('Home')
144                        #topicdata = rpc.getContent(tuple(topicmeta['target']['arguments']))
145                        topicdata = rpc.getContent(topicmeta['target']['arguments'])
146                        #print topicdata
147                    except Error, v:
148                        print "ERROR", v
149                elif topicmeta['result'] == 'list':
150                    topicdata = []
151                    try:
152                        arg = {'type': 'xmlpage'}
153                        topicdata = rpc.listTopics(arg)
154                        #print topicdata
155                        #self.styledTextContent.SetText(repr(topicdata))
156                    except Error, v:
157                        print "ERROR", v
158            return topicdata
159                        
160  class urlOpener(object):  class urlOpener(object):
161      """Opens urls."""      """Opens urls."""
162      def __init__(self):      def __init__(self):

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed