如何存储我可能想要更改的常量值

时间:2017-08-30 13:19:49

标签: python web

我正在尝试登录在线服务器 此服务器不断更改API版本,我必须将其指定为标头参数之一 目前我将其保存为常量值并在更改时手动更改它,但我认为这不是一种好的方法,所以我试图以编程方式实现它。

这是尝试连接并捕获API版本更改的函数:

API_VERSION = 78   

def connect_to_server(self, session, url, headers, data):
    r = session.post(url, headers=headers, json=data)
    if r.status_code != 200:
        if r.status_code == 449:
            api_num_new = [int(s) for s in r.content.split() if s.isdigit()]
            print "Failed because of api version - Change API_VERSION to: {}".format(api_num_new[0])
            headers.update({"LKQD-Api-Version": api_num_new[0]})
            self.update_api_version(api_num_new[0])
            return self.connect_to_server(session, url, headers, data)

        raise IOError("Connecting failed! Status code: {}. Message: {}").format(str(r.status_code),str(r.content))
    response = r.json()
    if response[API_STATUS_KEY] != API_SUCCESS_VALUE:
        raise IOError(
            "Connecting to the server failed! Error: " + str(response[API_ERROR_KEY]))
    return session

def update_api_version(api_num_new):
    raise Exception("Not implemented")

我的问题是处理这个问题的最佳方法是什么? 我考虑过使用YAML文件,但想知道是否存在更合适的解决方案。

0 个答案:

没有答案