[Moin-devel] CVS: MoinMoin wikirpc.py,1.3,1.4

J?rgen Hermann jhermann at users.sourceforge.net
Wed May 8 20:48:09 EDT 2002


Update of /cvsroot/moin/MoinMoin
In directory usw-pr-cvs1:/tmp/cvs-serv26919/MoinMoin

Modified Files:
	wikirpc.py 
Log Message:
getPage(); _debug


Index: wikirpc.py
===================================================================
RCS file: /cvsroot/moin/MoinMoin/wikirpc.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** wikirpc.py	9 May 2002 03:05:08 -0000	1.3
--- wikirpc.py	9 May 2002 03:47:51 -0000	1.4
***************
*** 20,23 ****
--- 20,24 ----
  from MoinMoin.support import xmlrpclib
  
+ _debug = 1
  
  #############################################################################
***************
*** 28,39 ****
      """ Convert inbound string from urlencoded UTF-8.
      """
  
  def _outstr(text):
      """ Convert outbound string to urlencoded UTF-8.
      """
!     return urllib.quote(unicode(text, config.charset).encode('UTF-8'))
  
  def _dump_exc():
!     """ Convert an exception to a string
      """
      import traceback
--- 29,54 ----
      """ Convert inbound string from urlencoded UTF-8.
      """
+     text = urllib.unquote(text)
+     if config.charset == 'UTF-8':
+         return text
+     else:
+         return unicode(text, 'UTF-8').encode(config.charset)
  
  def _outstr(text):
      """ Convert outbound string to urlencoded UTF-8.
      """
!     if config.charset != 'UTF-8':
!         text = unicode(text, config.charset).encode('UTF-8')
!     return urllib.quote(text)
! 
! def _outlob(text):
!     """ Convert outbound Large OBject to base64-encoded UTF-8.
!     """
!     if config.charset != 'UTF-8':
!         text = unicode(text, config.charset).encode('UTF-8')
!     return xmlrpclib.Binary(text)
  
  def _dump_exc():
!     """ Convert an exception to a string.
      """
      import traceback
***************
*** 65,83 ****
  
  
  def xmlrpc(request):
      # read request
      data = sys.stdin.read()
  
-     if 0:
-         webapi.http_headers(request, [
-             "Content-Type: text/plain",
-             "Content-Length: %d" % len(data),
-         ])
-         sys.stdout.write(data)
-         return
- 
      params, method = xmlrpclib.loads(data)
  
!     if 1:
          sys.stderr.write('- XMLRPC ' + '-' * 70 + '\n')
          sys.stderr.write('%s(%s)\n\n' % (method, repr(params)))
--- 80,105 ----
  
  
+ def xmlrpc_getPage(pagename):
+     """ Get the raw Wiki text of page, latest version. Page name must be
+         UTF-8, with URL encoding. Returned value is a binary object,
+         with UTF-8 encoded page data.
+     """    
+     from MoinMoin.Page import Page
+ 
+     page = Page(_instr(pagename))
+     return _outlob(page.get_raw_body())
+ 
+ 
+ #############################################################################
+ ### Dispatcher
+ #############################################################################
+ 
  def xmlrpc(request):
      # read request
      data = sys.stdin.read()
  
      params, method = xmlrpclib.loads(data)
  
!     if _debug:
          sys.stderr.write('- XMLRPC ' + '-' * 70 + '\n')
          sys.stderr.write('%s(%s)\n\n' % (method, repr(params)))
***************
*** 90,94 ****
          response = xmlrpclib.dumps(xmlrpclib.Fault(1, _dump_exc()))
      else:
!         if 0:
              sys.stderr.write('- XMLRPC ' + '-' * 70 + '\n')
              sys.stderr.write(repr(response) + '\n\n')
--- 112,116 ----
          response = xmlrpclib.dumps(xmlrpclib.Fault(1, _dump_exc()))
      else:
!         if 0 and _debug:
              sys.stderr.write('- XMLRPC ' + '-' * 70 + '\n')
              sys.stderr.write(repr(response) + '\n\n')
***************
*** 106,110 ****
      sys.stdout.write(response)
  
!     if 1:
          sys.stderr.write('- XMLRPC ' + '-' * 70 + '\n')
          sys.stderr.write(response + '\n\n')
--- 128,132 ----
      sys.stdout.write(response)
  
!     if _debug:
          sys.stderr.write('- XMLRPC ' + '-' * 70 + '\n')
          sys.stderr.write(response + '\n\n')





More information about the Moin-devel mailing list