コードを開始します。
def add_credentials(request, username, password):
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
return request
def send(options, data, cb):
if type(data).__name__ == "function":
cb = data
data = None
print "YES"
opener = urllib2.build_opener(urllib2.HTTPHandler)
results = {}
url = "http://%s:%s" % (options['host'], str(options['port']))
url += "%s" % options['path']
if data is not None:
request = urllib2.Request(url, data=data)
else:
request = urllib2.Request(url)
request.add_header("Content-Type", "application/json")
if 'username' in options and "password" in options:
add_credentials(request, options['username'], options['password'])
request.get_method = lambda: options['method'].upper()
content = opener.open(request)
for get_json in content:
results.update(json.loads(get_json))
exec "cb(results)"
options = {"host": 'localhost', "port": 5984, "path": '/hello-world/mangos', "method": "GET"}
def cb(p):
print p
send(options, cb, "")
CouchDB クライアントを構築していますが、ファイルを実行すると次のエラーが発生するという問題があります。
SyntaxError: 関数 'send' では修飾されていない exec は許可されていません。自由変数を持つネストされた関数が含まれています
これがどうなるかよくわかりません。Google で検索しましたが、問題を解決できるものはないようです :/ ご回答ありがとうございます D: