Filter:   InfoImg
download collector.py
Language: Python
LOC: 18
Project Info
QOS
Server: SourceForge
Type: cvs
[Show Code]
[Show Code]
...ge\q\qos\qos\qos\qosserver\
   auth_handler.py
   BaseObject.py
   collector.py
   ConfData.db.orig
   config_server.py
   counter.py
   DataLogFile.py
   default_handler.py
   downtimer.py
   englishUnits.py
   entityHeaders.py
   entityProps.py
   event_loop.py
   http_date.py
   http_server.py
   log.py
   logger.py
   m_syslog.py
   medusa_gif.py
   monitor.py
   normalDate.py
   pop.py
   Process.py
   producers.py
   qos.db.seed
   qos_server.py
   qosreport.py
   qosserver.init
   rangefind.py
   report_server.py
   reportData.py
   reportDowntime.py
   reportMultiDowntime.py
   reportMultiplot.py
   rpc_server.py
   sendmail.py
   StateDb.py
   status_handler.py

#
# collector.py
#

import string

# this collector class is needed to suck in POST requests.
# Stolen from more recent version of medusa, from the xmlrpc
# handler. Thank you Sam!

class collector:

    def __init__ (self, handler, request):
        
        self.handler = handler
        self.request = request
        self.data = ''
        
        # make sure there's a content-length header
        cl = request.get_header ('content-length')
        
        if not cl:
            request.error (411)
        else:
            cl = string.atoi (cl)
            # using a 'numeric' terminator
            self.request.channel.set_terminator (cl)
            
    def collect_incoming_data (self, data):
        self.data = self.data + data
                
    def found_terminator (self):
        # set the terminator back to the default
        print "Found terminator"
        self.request.channel.set_terminator ('\r\n\r\n')
        self.handler.continue_request (self.data, self.request)