mirror of
https://github.com/langbot-app/LangBot.git
synced 2025-11-25 03:15:06 +08:00
* style: remove necessary imports * style: fix F841 * style: fix F401 * style: fix F811 * style: fix E402 * style: fix E721 * style: fix E722 * style: fix E722 * style: fix F541 * style: ruff format * style: all passed * style: add ruff in deps * style: more ignores in ruff.toml * style: add pre-commit
90 lines
2.6 KiB
Python
90 lines
2.6 KiB
Python
# 实例 识别码 控制
|
|
|
|
import os
|
|
import uuid
|
|
import json
|
|
import time
|
|
|
|
|
|
identifier = {
|
|
'host_id': '',
|
|
'instance_id': '',
|
|
'host_create_ts': 0,
|
|
'instance_create_ts': 0,
|
|
}
|
|
|
|
HOST_ID_FILE = os.path.expanduser('~/.langbot/host_id.json')
|
|
INSTANCE_ID_FILE = 'data/labels/instance_id.json'
|
|
|
|
|
|
def init():
|
|
global identifier
|
|
|
|
if not os.path.exists(os.path.expanduser('~/.langbot')):
|
|
os.mkdir(os.path.expanduser('~/.langbot'))
|
|
|
|
if not os.path.exists(HOST_ID_FILE):
|
|
new_host_id = 'host_' + str(uuid.uuid4())
|
|
new_host_create_ts = int(time.time())
|
|
|
|
with open(HOST_ID_FILE, 'w') as f:
|
|
json.dump({'host_id': new_host_id, 'host_create_ts': new_host_create_ts}, f)
|
|
|
|
identifier['host_id'] = new_host_id
|
|
identifier['host_create_ts'] = new_host_create_ts
|
|
else:
|
|
loaded_host_id = ''
|
|
loaded_host_create_ts = 0
|
|
|
|
with open(HOST_ID_FILE, 'r') as f:
|
|
file_content = json.load(f)
|
|
loaded_host_id = file_content['host_id']
|
|
loaded_host_create_ts = file_content['host_create_ts']
|
|
|
|
identifier['host_id'] = loaded_host_id
|
|
identifier['host_create_ts'] = loaded_host_create_ts
|
|
|
|
# 检查实例 id
|
|
if os.path.exists(INSTANCE_ID_FILE):
|
|
instance_id = {}
|
|
with open(INSTANCE_ID_FILE, 'r') as f:
|
|
instance_id = json.load(f)
|
|
|
|
if (
|
|
instance_id['host_id'] != identifier['host_id']
|
|
): # 如果实例 id 不是当前主机的,删除
|
|
os.remove(INSTANCE_ID_FILE)
|
|
|
|
if not os.path.exists(INSTANCE_ID_FILE):
|
|
new_instance_id = 'instance_' + str(uuid.uuid4())
|
|
new_instance_create_ts = int(time.time())
|
|
|
|
with open(INSTANCE_ID_FILE, 'w') as f:
|
|
json.dump(
|
|
{
|
|
'host_id': identifier['host_id'],
|
|
'instance_id': new_instance_id,
|
|
'instance_create_ts': new_instance_create_ts,
|
|
},
|
|
f,
|
|
)
|
|
|
|
identifier['instance_id'] = new_instance_id
|
|
identifier['instance_create_ts'] = new_instance_create_ts
|
|
else:
|
|
loaded_instance_id = ''
|
|
loaded_instance_create_ts = 0
|
|
|
|
with open(INSTANCE_ID_FILE, 'r') as f:
|
|
file_content = json.load(f)
|
|
loaded_instance_id = file_content['instance_id']
|
|
loaded_instance_create_ts = file_content['instance_create_ts']
|
|
|
|
identifier['instance_id'] = loaded_instance_id
|
|
identifier['instance_create_ts'] = loaded_instance_create_ts
|
|
|
|
|
|
def print_out():
|
|
global identifier
|
|
print(identifier)
|