def robotsrulesetOfDomain(self, domain):
		'''检查domain是否在数据库中,
			否 --> (False, None)
			是 --> (True, 数据库中存储的robots.txt内容)
		'''
		exist = False
		cur = self.conn.cursor()
		# 是否存在
		cur.execute("SELECT 1 FROM Domains WHERE domain=?", (domain,))
		if cur.fetchone() :
			exist = True
		# 存在的话,结果是什么
		cur.execute("SELECT rules FROM Domains,Rulesets "
			"WHERE domain=? AND Domains.did=Rulesets.did"
			,(domain,) )
		ruleset = cur.fetchone()
		return (exist, ruleset)
def rpc_bulk(orchestrator, audit_name, rpc_code, *arguments):

    # Get the implementor for the RPC code.
    # Raise NotImplementedError if it's not defined.
    try:
        method, blocking = rpcMap[rpc_code]
    except KeyError:
        raise NotImplementedError("RPC code not implemented: %r" % rpc_code)

    # This can't be done with blocking implementors!
    if blocking:
        raise NotImplementedError(
            "Cannot run blocking RPC calls in bulk. Code: %r" % rpc_code)

    # Prepare a partial function call to the implementor.
    caller = partial(method, orchestrator, audit_name)

    # Use the built-in map() function to issue all the calls.
    # This ensures we support the exact same interface and functionality.
    return map(caller, *arguments)