我有Python interface to the TVMaze website's API,他们正在实施需要基本HTTP身份验证的新功能。所有现有功能都不需要身份验证,因此我不想更改用户与这些功能的互动方式。
我应该只创建一个存储用户名和api密钥的新对象,并将该对象的方法用于需要身份验证的新功能/功能吗?类似的东西:
class TVMazePremium(object):
def __init__(self, username, api_key):
self.username = username
self.api_key = api_key
def put(url):
r = requests.put(url, auth=(self.username, self.api_key))
def new_premium_function():
self.put('www.foo.bar')
def another_premium_function():
self.put('www.foo.baz')
然后他们可以这样做:
premium = pytvmaze.TVMazePremium(myuser, myapikey)
premium.new_premium_function()
这是一个好方法吗?还有更好的东西吗?