Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
Marshaller Class Reference

Public Member Functions

def __init__
 
def dumps
 
def dump_int
 
def dump_long
 
def dump_double
 
def dump_string
 
def dump_unicode
 
def opencontainer
 
def closecontainer
 
def dump_array
 
def dump_struct
 
def dump_instance
 

Data Fields

 memo
 
 data
 
 encoding
 
 write
 

Static Public Attributes

dictionary dispatch = {}
 

Detailed Description

Generate an XML-RPC params chunk from a Python data structure.

Create a Marshaller instance for each set of parameters, and use
the "dumps" method to convert your data (represented as a tuple)
to an XML-RPC params chunk.  To write a fault response, pass a
Fault instance instead.  You may prefer to use the "dumps" module
function for this purpose.

Definition at line 416 of file xmlrpclib.py.

Constructor & Destructor Documentation

def __init__ (   self,
  encoding = None 
)

Definition at line 429 of file xmlrpclib.py.

430  def __init__(self, encoding=None):
431  self.memo = {}
432  self.data = None
433  self.encoding = encoding

Member Function Documentation

def closecontainer (   self,
  value 
)

Definition at line 504 of file xmlrpclib.py.

References Pickler.memo, Marshaller.memo, and Unpickler.memo.

505  def closecontainer(self, value):
506  if value:
507  del self.memo[id(value)]
def dump_array (   self,
  value 
)

Definition at line 508 of file xmlrpclib.py.

References Marshaller.__dump(), Marshaller.closecontainer(), pickle.dump(), Marshaller.opencontainer(), Pickler.write, Marshaller.write, and file_wrapper.write.

509  def dump_array(self, value):
510  self.opencontainer(value)
511  write = self.write
512  dump = self.__dump
513  write("<value><array><data>\n")
514  for v in value:
515  dump(v)
516  write("</data></array></value>\n")
self.closecontainer(value)
def dump_double (   self,
  value 
)

Definition at line 483 of file xmlrpclib.py.

References Pickler.write, Marshaller.write, and file_wrapper.write.

484  def dump_double(self, value):
self.write("<value><double>%s</double></value>\n" % repr(value))
def dump_instance (   self,
  value 
)

Definition at line 536 of file xmlrpclib.py.

References Marshaller.dump_struct().

537  def dump_instance(self, value):
538  # check for special wrappers
539  if value.__class__ in WRAPPERS:
540  value.encode(self)
541  else:
542  # store instance attributes as a struct (really?)
self.dump_struct(value.__dict__)
def dump_int (   self,
  value 
)

Definition at line 469 of file xmlrpclib.py.

References Pickler.write, Marshaller.write, and file_wrapper.write.

470  def dump_int(self, value):
471  # in case ints are > 32 bits
472  if value > MAXINT or value < MININT:
473  raise OverflowError, "int exceeds XML-RPC limits"
self.write("<value><int>%s</int></value>\n" % value)
def dump_long (   self,
  value 
)

Definition at line 476 of file xmlrpclib.py.

References Pickler.write, Marshaller.write, and file_wrapper.write.

477  def dump_long(self, value):
478  # in case ints are > 32 bits
479  if value > MAXINT or value < MININT:
480  raise OverflowError, "long int exceeds XML-RPC limits"
self.write("<value><int>%s</int></value>\n" % int(value))
def dump_string (   self,
  value,
  escape = escape 
)

Definition at line 487 of file xmlrpclib.py.

References xmlrpclib.escape(), Pickler.write, Marshaller.write, and file_wrapper.write.

488  def dump_string(self, value, escape=escape):
self.write("<value><string>%s</string></value>\n" % escape(value))
def dump_struct (   self,
  value,
  escape = escape 
)

Definition at line 520 of file xmlrpclib.py.

References Marshaller.__dump(), Marshaller.closecontainer(), pickle.dump(), xmlrpclib.escape(), Marshaller.opencontainer(), Pickler.write, Marshaller.write, and file_wrapper.write.

521  def dump_struct(self, value, escape=escape):
522  self.opencontainer(value)
523  write = self.write
524  dump = self.__dump
525  write("<value><struct>\n")
526  for k, v in value.items():
527  write("<member>\n")
528  if type(k) is not StringType:
529  raise TypeError, "dictionary key must be string"
530  write("<name>%s</name>\n" % escape(k))
531  dump(v)
532  write("</member>\n")
533  write("</struct></value>\n")
self.closecontainer(value)
def dump_unicode (   self,
  value,
  escape = escape 
)

Definition at line 492 of file xmlrpclib.py.

References StreamReaderWriter.encoding, Marshaller.encoding, xmlrpclib.escape(), Pickler.write, Marshaller.write, and file_wrapper.write.

493  def dump_unicode(self, value, escape=escape):
494  value = value.encode(self.encoding)
self.write("<value><string>%s</string></value>\n" % escape(value))
def dumps (   self,
  values 
)

Definition at line 436 of file xmlrpclib.py.

References Marshaller.__out.

437  def dumps(self, values):
438  self.__out = []
439  self.write = write = self.__out.append
440  if isinstance(values, Fault):
441  # fault instance
442  write("<fault>\n")
443  self.__dump(vars(values))
444  write("</fault>\n")
445  else:
446  # parameter block
447  # FIXME: the xml-rpc specification allows us to leave out
448  # the entire <params> block if there are no parameters.
449  # however, changing this may break older code (including
450  # old versions of xmlrpclib.py), so this is better left as
451  # is for now. See @XMLRPC3 for more information. /F
452  write("<params>\n")
453  for v in values:
454  write("<param>\n")
455  self.__dump(v)
456  write("</param>\n")
457  write("</params>\n")
458  result = string.join(self.__out, "")
459  del self.__out, self.write # don't need this any more
460  return result
def opencontainer (   self,
  value 
)

Definition at line 497 of file xmlrpclib.py.

References Pickler.memo, Marshaller.memo, and Unpickler.memo.

498  def opencontainer(self, value):
499  if value:
500  i = id(value)
501  if self.memo.has_key(i):
502  raise TypeError, "cannot marshal recursive data structures"
503  self.memo[i] = None

Field Documentation

data

Definition at line 431 of file xmlrpclib.py.

dictionary dispatch = {}
static

Definition at line 434 of file xmlrpclib.py.

encoding

Definition at line 432 of file xmlrpclib.py.

memo

Definition at line 430 of file xmlrpclib.py.

write

Definition at line 438 of file xmlrpclib.py.


The documentation for this class was generated from the following file: