mirror of
https://github.com/modelscope/modelscope.git
synced 2025-12-25 20:49:37 +01:00
46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
# Copyright (c) Alibaba, Inc. and its affiliates.
|
|
|
|
import inspect
|
|
import os
|
|
from pathlib import Path
|
|
|
|
|
|
# TODO: remove this api, unify to flattened args
|
|
def func_receive_dict_inputs(func):
|
|
"""to decide if a func could recieve dict inputs or not
|
|
|
|
Args:
|
|
func (class): the target function to be inspected
|
|
|
|
Returns:
|
|
bool: if func only has one arg ``input`` or ``inputs``, return True, else return False
|
|
"""
|
|
full_args_spec = inspect.getfullargspec(func)
|
|
varargs = full_args_spec.varargs
|
|
varkw = full_args_spec.varkw
|
|
if not (varargs is None and varkw is None):
|
|
return False
|
|
|
|
args = [] if not full_args_spec.args else full_args_spec.args
|
|
args.pop(0) if (args and args[0] in ['self', 'cls']) else args
|
|
|
|
if len(args) == 1 and args[0] in ['input', 'inputs']:
|
|
return True
|
|
|
|
return False
|
|
|
|
|
|
def get_default_cache_dir():
|
|
"""
|
|
default base dir: '~/.cache/modelscope'
|
|
"""
|
|
default_cache_dir = Path.home().joinpath('.cache', 'modelscope')
|
|
return default_cache_dir
|
|
|
|
|
|
def read_file(path):
|
|
|
|
with open(path, 'r') as f:
|
|
text = f.read()
|
|
return text
|