pmfp.entrypoint.project.add
¶
ppm project add命令的处理.
Submodules¶
Package Contents¶
Classes¶
组件模板类. |
|
资源包类. |
|
获取本目录下项目的基本信息. |
Functions¶
|
遍历文件夹到底,并按指定的函数来做区分. |
|
由路径字符串获取绝对路径. |
|
获取缓存根目录. |
|
获取配置信息. |
|
将模板转换为文件内容. |
|
检测资源包是否已经有缓存,没有就缓存. |
|
检查组件的模板库是否有缓存,没有的话进行缓存. |
|
构造模板中匹配的kv. |
|
校验组件所在模板库的信息,通过的话返回模板库信息 |
|
校验组件信息,通过的话返回组件信息. |
|
遍历目标文件夹,将`_ref_`和`_fre_`包裹的文件或文件夹名作为模板重命名. |
|
将目标组件模板转换到项目目录. |
|
保存组件信息到项目配置. |
|
|
|
为项目添加组件. |
Attributes¶
-
pmfp.entrypoint.project.add.
iter_dir_to_end
(path: pathlib.Path, match: Callable[[pathlib.Path], bool], *, skip_dir: Optional[Callable[[pathlib.Path], bool]] = None, succ_cb: Optional[Callable[[pathlib.Path], None]] = None, fail_cb: Optional[Callable[[pathlib.Path], None]] = None, skip_dir_handdler: Optional[Callable[[pathlib.Path], None]] = None) → None[源代码]¶ 遍历文件夹到底,并按指定的函数来做区分.
- 参数
path (Path) – 文件夹路径
match (Callable[[Path],bool]) – 筛选条件
succ_cb (Optional[Callable[[Path],None]], optional) – 路径满足筛选条件后执行的回调函数. Defaults to None.
fail_cb (Optional[Callable[[Path],None]], optional) – 路径不满足筛选条件执行的回调函数. Defaults to None.
-
pmfp.entrypoint.project.add.
get_abs_path
(path_str: str, cwd: Optional[pathlib.Path] = None) → pathlib.Path[源代码]¶ 由路径字符串获取绝对路径.
- 参数
path_str (str) – 路径字符创
cwd (Optional[Path]) – 指定执行时的位置
- 返回
路径字符串的绝对路径
- 返回类型
Path
-
class
pmfp.entrypoint.project.add.
ComponentTemplate
(component_path_str: str, source_pack: SourcePack)[源代码]¶ 组件模板类.
-
TENPLATE_URL
= [{host}::]{repo_namespace}::{repo_name}[@{tag}]//{component_path}¶
-
classmethod
from_component_string
(cls, component_string: str) → ComponentTemplate¶ 从组件模板字符串构造组件模板对象.
组件模板字符串的形式为`”[[{host}::]{repo_namespace}::]{repo_name}[@{tag}]//{component_path_str}”`
- 返回
组件模板对象
- 返回类型
-
as_component_string
(self) → str¶ 构造组件模板字符串.
-
-
class
pmfp.entrypoint.project.add.
SourcePack
(repo_name: str, *, repo_namespace: Optional[str] = None, tag: str = 'latest', host: Optional[str] = None)[源代码]¶ 资源包类.
-
TENPLATE_URL
= {host}::{repo_namespace}::{repo_name}@{tag}¶
-
classmethod
from_sourcepack_string
(cls, sourcepack_string: str) → SourcePack¶ 从资源包字符串构造资源包对象.
- 参数
sourcepack_string (str) – 用于描述资源包的字符串,其形式为`”[[{host}::]{repo_namespace}::]{repo_name}[@{tag}]”`
- 返回
资源包对象.
- 返回类型
-
as_sourcepack_string
(self) → str¶ 构造资源包字符串.
-
git_url
(self, schema: str = 'https') → str¶ 构造资源包的git仓库地址url.
- 参数
schema (str, optional) – url协议. Defaults to “https”.
- 返回
git的仓库地址字符串.
- 返回类型
str
-
pull_latest
(self, cache_dir: pathlib.Path, throw: bool = True) → None¶ 拉取最新镜像,并将原来的版本以hash为tag保存
- 参数
temp_dir (Path) – [description]
throw (bool) – 是否抛出异常
-
clone_source_pack
(self, cache_dir: pathlib.Path, throw: bool = False) → None¶ 克隆资源包到本地缓存临时文件夹.
如果资源包的tag不是latest则clone下来后删除.git文件夹,否则保存
- 参数
cache_dir (Path) – 缓存文件夹地址.
throw (bool) – 是否抛出异常
-
source_pack_path
(self, cache_dir: pathlib.Path) → pathlib.Path¶ 构造资源包的本地路径.
- 参数
cache_dir (Path) – 缓存文件夹路径.
- 返回
资源包所在的文件夹路径
- 返回类型
Path
-
cache
(self, cache_dir: pathlib.Path, throw_clone: bool = False, throw_pull: bool = False, not_pull: bool = False) → None¶ 缓存资源包到本地.
- 参数
cache_dir (Path) – 缓存文件夹地址.
throw (bool) – 是否抛出异常
-
-
pmfp.entrypoint.project.add.
template_2_content
(template: str, **kwargs: Any) → str[源代码]¶ 将模板转换为文件内容.
- 参数
template (str) – 模板字符串
kwargs (Dict[str,str]) – 由模板构造内容的关键字
-
class
pmfp.entrypoint.project.add.
InfoBase
(*, description: Optional[str] = None, epilog: Optional[str] = None, usage: Optional[str] = None, name: Optional[str] = None, schema: Optional[schema_entry.entrypoint_base.SchemaType] = None, verify_schema: Optional[bool] = None, default_config_file_paths: Optional[List[str]] = None, config_file_only_get_need: Optional[bool] = None, load_all_config_file: Optional[bool] = None, env_prefix: Optional[str] = None, parse_env: Optional[bool] = None, argparse_check_required: Optional[bool] = None, argparse_noflag: Optional[str] = None, config_file_parser_map: Optional[Dict[str, Callable[[pathlib.Path], Dict[str, Any]]]] = None, main: Optional[Callable[Ellipsis, None]] = None)[源代码]¶ Bases:
pmfp.utils.endpoint.EndPoint
获取本目录下项目的基本信息.
-
verify_schema
= False¶
-
load_all_config_file
= True¶
-
config_file_only_get_need
= False¶
-
do_main
(self) → None¶ 执行入口函数.
-
-
pmfp.entrypoint.project.add.
sourcepack_check_and_cached
(cached_sourcepack: List[str], source_pack: pmfp.utils.remote_cache_utils.SourcePack, cache_dir: pathlib.Path) → pathlib.Path[源代码]¶ 检测资源包是否已经有缓存,没有就缓存.
- 参数
cached_sourcepack (List[str]) – 已经缓存过的资源包列表
source_pack (SourcePack) – 资源包对象
cache_dir (Path) – 缓存根目录
- 引发
AttributeError – 不是目录,请确认情况
- 返回
资源包的本地缓存路径
- 返回类型
Path
-
pmfp.entrypoint.project.add.
check_and_cached
(cached_sourcepack: List[str], component_string: str, cache_dir: pathlib.Path) → Tuple[pmfp.utils.remote_cache_utils.ComponentTemplate, pathlib.Path][源代码]¶ 检查组件的模板库是否有缓存,没有的话进行缓存.
`latest`和`dev`标签的模板库都会进行缓存更新.
- 参数
cached_sourcepack (List[str]) – 已经缓存过的资源包列表
component_string (str) – 组件字符串
cache_dir (Path) – 缓存根目录
- 引发
AttributeError – 组件缓存位置不是目录
e – 其他执行中的异常
- 返回
组件对象
- 返回类型
-
pmfp.entrypoint.project.add.
make_template_kv
(sourcepack_config: Dict[str, Any], projectconfig: Dict[str, Any], kv: Optional[List[str]] = None, oldtemplate_kw: Optional[Dict[str, Any]] = None) → Dict[str, str][源代码]¶ 构造模板中匹配的kv.
- 参数
kv (Optional[List[str]], optional) – 外部输入的kv对. Defaults to None.
- 返回
模板render时的输入
- 返回类型
Dict[str, str]
-
pmfp.entrypoint.project.add.
check_source
(pmfpconf: Dict[str, Any], projectconfig: Dict[str, Any], sourcepackdir: pathlib.Path, component_string: str) → Dict[str, Any][源代码]¶ 校验组件所在模板库的信息,通过的话返回模板库信息
-
pmfp.entrypoint.project.add.
check_component
(sourcepack_config: Dict[str, Any], componentpack: pmfp.utils.remote_cache_utils.ComponentTemplate, component_string: str) → Dict[str, Any][源代码]¶ 校验组件信息,通过的话返回组件信息.
-
pmfp.entrypoint.project.add.
iter_dir_rename
(path: pathlib.Path, **kwargs: Any) → None[源代码]¶ 遍历目标文件夹,将`_ref_`和`_fre_`包裹的文件或文件夹名作为模板重命名.
- 参数
path (Path) – 根目录路径
-
pmfp.entrypoint.project.add.
to_target_source
(projectconfig: Dict[str, Any], target_component_info: Dict[str, Any], cwdp: pathlib.Path, sourcepackdir: pathlib.Path, target_source: str, tempkv: Dict[str, Any], located_path: Optional[str] = None, root_default_path: Optional[str] = None) → str[源代码]¶ 将目标组件模板转换到项目目录.
-
pmfp.entrypoint.project.add.
save_to_components
(cwdp: pathlib.Path, component_string: str, located_path_str: str) → None[源代码]¶ 保存组件信息到项目配置.
-
pmfp.entrypoint.project.add.
_add_component
(cached_sourcepacks: List[str], projectconfig: Dict[str, Any], pmfpconf: Dict[str, Any], cache_dir: pathlib.Path, component_string: str, cwdp: pathlib.Path, *, located_path: Optional[str] = None, save: bool = True, kv: Optional[List[str]] = None, root_default_path: Optional[str] = None, oldtemplate_kw: Optional[Dict[str, Any]] = None) → Tuple[pmfp.utils.remote_cache_utils.ComponentTemplate, Dict[str, Any]][源代码]¶
-
pmfp.entrypoint.project.add.
add_component
(component_string: str, located_path: Optional[str] = None, kv: Optional[List[str]] = None, cwd: str = '.') → None[源代码]¶ 为项目添加组件.
- 参数
component_string (str) – 描述组件资源包的字符串,格式为”[{host}::]{repo_namespace}::{repo_name}[@{tag}]//{component_path}”.
located_path (Optional[str], optional) – 放在本地的位置.