"vscode:/vscode.git/clone" did not exist on "c1d2061f97ae2facb8edbc188da5b719aaac2f09"
config_reader.py 1.76 KB
Newer Older
kernel.h@qq.com's avatar
kernel.h@qq.com committed
1
2
3
4
"""
根据bucket的名字返回对应的s3 AK, SK,endpoint三元组

"""
许瑞's avatar
许瑞 committed
5

6
7
8
9
10
import json
import os

from loguru import logger

11
12
from magic_pdf.libs.commons import parse_bucket_key

kernel.h@qq.com's avatar
kernel.h@qq.com committed
13

许瑞's avatar
许瑞 committed
14
def read_config():
赵小蒙's avatar
赵小蒙 committed
15
16
17
    home_dir = os.path.expanduser("~")

    config_file = os.path.join(home_dir, "magic-pdf.json")
18
19

    if not os.path.exists(config_file):
kernel.h@qq.com's avatar
update  
kernel.h@qq.com committed
20
        raise Exception(f"{config_file} not found")
21
22
23

    with open(config_file, "r") as f:
        config = json.load(f)
许瑞's avatar
许瑞 committed
24
25
26
27
28
29
30
31
    return config


def get_s3_config(bucket_name: str):
    """
    ~/magic-pdf.json 读出来
    """
    config = read_config()
32

赵小蒙's avatar
赵小蒙 committed
33
34
    bucket_info = config.get("bucket_info")
    if bucket_name not in bucket_info:
35
36
37
        access_key, secret_key, storage_endpoint = bucket_info["[default]"]
    else:
        access_key, secret_key, storage_endpoint = bucket_info[bucket_name]
38

赵小蒙's avatar
赵小蒙 committed
39
    if access_key is None or secret_key is None or storage_endpoint is None:
赵小蒙's avatar
赵小蒙 committed
40
        raise Exception("ak, sk or endpoint not found in magic-pdf.json")
41

赵小蒙's avatar
赵小蒙 committed
42
    # logger.info(f"get_s3_config: ak={access_key}, sk={secret_key}, endpoint={storage_endpoint}")
43

赵小蒙's avatar
赵小蒙 committed
44
    return access_key, secret_key, storage_endpoint
45
46


47
48
49
50
51
52
53
54
55
56
def get_s3_config_dict(path: str):
    access_key, secret_key, storage_endpoint = get_s3_config(get_bucket_name(path))
    return {"ak": access_key, "sk": secret_key, "endpoint": storage_endpoint}


def get_bucket_name(path):
    bucket, key = parse_bucket_key(path)
    return bucket


许瑞's avatar
许瑞 committed
57
58
59
60
61
def get_local_dir():
    config = read_config()
    return config.get("temp-output-dir", "/tmp")


62
63
64
65
66
67
68
69
70
71
def get_local_models_dir():
    config = read_config()
    return config.get("models-dir", "/tmp/models")


def get_device():
    config = read_config()
    return config.get("device-mode", "cpu")


许瑞's avatar
许瑞 committed
72
if __name__ == "__main__":
73
    ak, sk, endpoint = get_s3_config("llm-raw")