This commit is contained in:
2024-07-07 01:16:18 +08:00
commit 49901e616f
60 changed files with 8147 additions and 0 deletions

110
main.py Normal file
View File

@@ -0,0 +1,110 @@
import configparser
import sys,os
import fun
version = "1.5.0"
config = configparser.ConfigParser()
if not os.path.exists(os.path.expanduser('~') + '/.ashrc'):
with open(os.path.expanduser('~') + '/.ashrc', 'w') as f:
pass
config.read(os.path.expanduser('~') + '/.ashrc')
if not config.has_option('ash', 'ash_theme'):
# 添加新的节section
config.add_section('ash')
config.set('ash', 'ash_theme', 'default')
with open(os.path.expanduser('~') + '/.ashrc', 'w') as f:
config.write(f)
if not config.has_option('ash', 'plugin'):
config.set('ash', 'plugin', '')
with open(os.path.expanduser('~') + '/.ashrc', 'w') as f:
config.write(f)
def hhelp():
print(f"""
AutozShell v{version}
ash
-v version
""")
if __name__ == '__main__':
if len(sys.argv) > 1:
if sys.argv[1] == '-h':
hhelp()
elif sys.argv[1] == '-v':
print(f"AutozShell v{version}")
elif sys.argv[1] == 'theme':
# if len(sys.argv) > 2:
# 判断theme目录里有没有这个主题文件
# print(os.listdir("./theme/" + sys.argv[2]))
if sys.argv[2] in os.listdir("./theme"):
print(f"Set theme to {sys.argv[2]}")
os.system("python3 ./theme/" + sys.argv[2] + "/theme.py")
config.set('ash', 'ash_theme', sys.argv[2])
with open(os.path.expanduser('~') + '/.ashrc', 'w') as f:
config.write(f)
elif sys.argv[1] == 'plugin':
if len(sys.argv) > 2:
# 判断plugin目录里有没有这个插件文件
if sys.argv[2] in os.listdir("./plugin"):
print(f"Set plugin to {sys.argv[2]}")
if config.get('ash', 'plugin') == '':
config.set('ash', 'plugin', sys.argv[2])
else:
config.set('ash', 'plugin', config['ash']['plugin'] + "," + sys.argv[2])
with open(os.path.expanduser('~') + '/.ashrc', 'w') as f:
config.write(f)
print("插件已添加请重新启动ash以生效")
if sys.argv[2] == 'list':
print(f"Plugin list: {config['ash']['plugin']}")
# 取消插件
elif sys.argv[1] == 'unplugin':
if len(sys.argv) > 2:
# 判断plugin目录里有没有这个插件文件
if sys.argv[2] in os.listdir("./plugin"):
print(f"Unset plugin to {sys.argv[2]}")
pluginlist = config['ash']['plugin'].split(',')
pluginlist.remove(sys.argv[2])
config.set('ash', 'plugin', ','.join(pluginlist))
with open(os.path.expanduser('~') + '/.ashrc', 'w') as f:
config.write(f)
print("插件已取消请重新启动ash以生效")
elif not sys.argv[1] in fun.fun_list:
# 判断是不是sh文件
if sys.argv[1].endswith('.sh'):
os.system(f"bash {sys.argv[1]}")
else:
print(f"Command not found: {sys.argv[1]}")
else:
print(f"""AutozShell {version}
Help:ash -h""")
import chatmode