Beispiel #1
0
def load_site_conf(site):
    #pid_file = file("%s.pid" % site, "w+")
    #pid_file.write(os.getpid())
    #pid_file.close()
    Utils.settings = get_project_settings()
    sites_rule = {}
    conf_dict = xmltodict.parse(file(r"%s" % (site)).read())
    sites_rule = conf_dict['SiteRule']['Sites']['Site']
    if not isinstance(sites_rule, list):
        sites_rule = [sites_rule]
    Conf.conf_dict = conf_dict
    Utils.conf_dict = conf_dict
    Conf.sites_rule = sites_rule
    Conf.ua = Conf.conf_dict['SiteRule'].get('UserAgent', '')
    Utils.get_mongodb_client()
    db = Utils.get_db()
    res = list(db.select(Utils.settings['MYSQL_TASKSTATUS_TABLE'], what="id", where="uuid=$uuid", vars={"uuid":conf_dict['SiteRule'].get('Uuid', "")}))
    Conf.uuid = int(conf_dict['SiteRule'].get('Uuid', 0))
    Conf.task_id = int(res[0]['id']) if len(res) else int(conf_dict['SiteRule']['TaskId'])
    Conf.pid = int(conf_dict['SiteRule']['TaskId'])
    Conf.output_files = {
        ConfConstants.Output.XML:Conf.conf_dict['SiteRule']['XMLFileName'],
        ConfConstants.Output.JSON:Conf.conf_dict['SiteRule']['JsonFileName'],
        ConfConstants.Output.MongoDB:Conf.conf_dict['SiteRule']['TableName'],
        ConfConstants.Output.Hadoop:Conf.conf_dict['SiteRule']['Hadoop']
    }
    Utils.daemon = ServiceDaemon()