def __init__(self):
     config = local_config.read_local_config([
         os.path.join(PA_ROOT, 'default_config.php'),
         os.path.join(PA_ROOT, 'local_config.php'),
         ])
     self.dsn = config['peepagg_dsn']
     self.db_name = re.search(r".*/(.*?)$", self.dsn).group(1)
     self.f = open("/var/log/mysql/mysql.log")
     self.f.seek(0, 2) # move to end
     self.current = None
     self.current_db = None
     self.db_connect()
    def __init__(self):
        self.config_vars = local_config.read_local_config(os.path.join(HERE, "../../local_config.php"))

        if not self.config_vars.has_key("base_url"):
            raise Exception("""Can't find a line in local_config.php that looks like: $base_url = "http://something";""")
        self.base_url = self.config_vars['base_url']
        self.base_url = self.base_url.replace("%network_name%", "www")
        print "Base URL: %s" % self.base_url

        self.xmlrpc_url = '%s/api/xmlrpc' % self.base_url
        print "XML-RPC URL: %s" % self.xmlrpc_url
        xr = xmlrpclib.Server(self.xmlrpc_url, verbose=1)

        json_url = '%s/api/json' % self.base_url
        xml_url = '%s/api/xml' % self.base_url
        
        self.mc = MultiCaller(xr, json_url, xml_url)
    def main(self):
        print "Profiling new member registrations"
        
        self.config_vars = local_config.read_local_config(os.path.join(HERE, "../../local_config.php"))
        
        self.base_url = self.config_vars['base_url'].replace("%network_name%", "www")
        
        print "Making sure the base URL is valid"
        self.http = httplib2.Http()
        pa_txt_url = self.url("peopleaggregator.txt")
        u = self.get(pa_txt_url)
        if int(u.response['status']) != 200 or u.content.find("PeopleAggregator root directory") == -1:
            print r, c
            raise Exception("Can't access %s" % pa_txt_url)

        reps = 100
        self.quick = 0
        start = time.time()
        for i in range(reps):
            st = time.time()
            self.register()
            print "TIMING: one registration took %.2f" % (time.time() - st)
        duration = time.time() - start
        print "TIMING: %.2f to register user and post content, etc, %d times; %.2f s/repetition" % (duration, reps, duration/reps)
Ejemplo n.º 4
0
# from play import *

# then you can call the API with xr.peopleaggregator.whatever({'foo': 'bar', ...})

import os, os.path, sys, xmlrpclib

HERE = os.path.dirname(os.path.abspath(__file__))
print "here: %s" % HERE

# grab simplejson from webapiwrappergen directory
sys.path.insert(0, os.path.join(HERE, '../webapiwrappergen'))
import simplejson

# grab local_config from api/Python
sys.path.insert(0, os.path.join(HERE, '../../api/Python'))
import local_config

# parse config file and find rpc url
config_vars = local_config.read_local_config(os.path.join(HERE, "../../local_config.php"))

if not config_vars.has_key("base_url"):
    raise Exception("""Can't find a line in local_config.php that looks like: $base_url = "http://something";""")
base_url = config_vars['base_url']
base_url = base_url.replace("%network_name%", "www")
print "Base URL: %s" % base_url

xmlrpc_url = '%s/api/xmlrpc' % base_url

xr = xmlrpclib.Server(xmlrpc_url, verbose=1)