Python 理解类继承以干涸一些代码
我正在使用Python 理解类继承以干涸一些代码,python,cloudant,Python,Cloudant,我正在使用cloudantpython库连接到我的cloudant帐户 以下是我目前掌握的代码: import cloudant class WorkflowsCloudant(cloudant.Account): def __init__(self): super(WorkflowsCloudant, self).__init__(settings.COUCH_DB_ACCOUNT_NAME,
cloudant
python库连接到我的cloudant帐户
以下是我目前掌握的代码:
import cloudant
class WorkflowsCloudant(cloudant.Account):
def __init__(self):
super(WorkflowsCloudant, self).__init__(settings.COUCH_DB_ACCOUNT_NAME,
auth=(settings.COUCH_PUBLIC_KEY,
settings.COUCH_PRIVATE_KEY))
@blueprint.route('/<workflow_id>')
def get_single_workflow(account_id, workflow_id):
account = WorkflowsCloudant()
db = account.database(settings.COUCH_DB_NAME)
doc = db.document(workflow_id)
resp = doc.get().json()
if resp['account_id'] != account_id:
return error_helpers.forbidden('Invalid Account')
return jsonify(resp)
导入cloudant
类工作流Loudant(cloudant.Account):
定义初始化(自):
超级(工作流程缓存,自我)。\uuuuu初始化\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,
auth=(settings.coach\u公钥,
设置。沙发(私钥)
@blueprint.route(“/”)
def获取单个工作流(帐户id、工作流id):
account=工作流Loudant()
db=帐户.数据库(settings.coach\u db\u NAME)
文档=数据库文档(工作流\u id)
resp=doc.get().json()
如果响应['account_id']!=帐户id:
返回错误\u helpers。禁止('无效帐户')
返回jsonify(resp)
此
Flask
控制器内部将包含CRUD
操作,但在当前实现中,我必须在对要查看/操作的文档执行操作之前,在每个方法中设置帐户
和db
变量。我如何清理(或干燥)我的代码,以便只需调用我的主工作流Loudant
类?我不知道cloudant
,因此我可能完全偏离了基准,但我相信这回答了您的问题:
从get\u single\u工作流
中删除account
、db
和doc
行
将以下行添加到\uuuuu init\uuuu
:
db = account.database(settings.COUCH_DB_NAME)
self.doc = db.document(workflow_id)
将get_single_工作流
中的resp
行更改为:
resp = WorkflowsCloudant().doc.get().json()
你能把这当作一个问题说出来吗?@jrennie我已经把它清理干净了。你能在
WorkflowScoldant.中创建帐户
、db
和doc
,并将doc
作为一个公共字段吗?@jrennie你能举个例子吗?