2 Star 22 Fork 2

swiftycode/clitheme

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
frontend_demo.py 3.42 KB
一键复制 编辑 原始数据 按行查看 历史
#!/usr/bin/python3
# This program is a demo of the clitheme frontend API for applications. Apply a theme definition file in the folder "demo-clithemedef" to see it in action.
# 这个程序展示了clitheme的应用程序frontend API。请应用一个在"demo-clithemedef"文件夹中的任意一个主题定义文件以观察它的效果。
import os
import sys
from src.clitheme import frontend
demo_message="""正在展示{}演示(不会修改系统上的文件):"""
help_usage=\
"""
{0} install-files
{0} install-file [FILE]
{0} --help
{0} --clitheme-output-defs
"""
outputdefs_string=\
"""
com.example example-app found-file
在当前目录找到了{}个文件
com.example example-app installing-file
-> 正在安装 "{}"...
com.example example-app install-success
已成功安装{}个文件
com.example example-app install-success-file
已成功安装"{}"
com.example example-app file-not-found
错误:找不到文件"{}"
com.example example-app format-error
错误:命令语法不正确
com.example example-app directory-empty
错误:当前目录里没有任何文件
com.example example-app helpmessage description-general
文件安装程序样例(不会修改系统中的文件)
com.example example-app helpmessage description-usageprompt
使用方法:
com.example example-app helpmessage unknown-command
错误:未知命令"{}"
"""
frontend.set_domain("com.example")
frontend.set_appname("example-app")
f=frontend.FetchDescriptor()
if len(sys.argv)>1 and sys.argv[1]=="install-files":
if len(sys.argv)!=2:
print(f.retrieve_entry_or_fallback("format-error", "错误:命令语法不正确"))
exit(1)
print(demo_message.format(sys.argv[1]))
dirfiles=os.listdir()
if len(dirfiles)==0:
print(f.retrieve_entry_or_fallback("directory-empty","错误:当前目录里没有任何文件"))
print(f.retrieve_entry_or_fallback("found-file", "在当前目录找到了{}个文件").format(str(len(dirfiles))))
for item in dirfiles:
print(f.retrieve_entry_or_fallback("installing-file", "-> 正在安装 \"{}\"...").format(item))
print(f.retrieve_entry_or_fallback("install-success","已成功安装{}个文件").format(str(len(dirfiles))))
elif len(sys.argv)>1 and sys.argv[1]=="install-file":
if len(sys.argv)!=3:
print(f.retrieve_entry_or_fallback("format-error", "错误:命令语法不正确"))
exit(1)
print(demo_message.format(sys.argv[1]))
item=sys.argv[2].strip()
if os.path.exists(item):
print(f.retrieve_entry_or_fallback("installing-file", "-> 正在安装 \"{}\"...").format(item))
print(f.retrieve_entry_or_fallback("install-success-file","已成功安装\"{}\"").format(item))
else:
print(f.retrieve_entry_or_fallback("file-not-found","错误:找不到文件\"{}\"").format(item))
exit(1)
elif len(sys.argv)>1 and sys.argv[1]=="--clitheme-output-defs":
print(outputdefs_string)
else:
f2=frontend.FetchDescriptor(subsections="helpmessage")
print(f2.retrieve_entry_or_fallback("description-general","文件安装程序样例(不会修改系统中的文件)"))
print(f2.retrieve_entry_or_fallback("description-usageprompt","使用方法:"))
print(help_usage.format(sys.argv[0]))
if len(sys.argv)>1 and sys.argv[1]=="--help":
exit(0)
elif len(sys.argv)>1:
print(f2.retrieve_entry_or_fallback("unknown-command","错误:未知命令\"{}\"").format(sys.argv[1]))
exit(1)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/swiftycode/clitheme.git
git@gitee.com:swiftycode/clitheme.git
swiftycode
clitheme
clitheme
latest-STABLE

搜索帮助