forked from BrettMayson/Lir
/
package_manager.py
executable file
·66 lines (59 loc) · 2.46 KB
/
package_manager.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env python3.4
import fs,os
import settings
import tarfile
import lang
def add_dictionary(path,name):
path = fs.expand_path(path)
mode = path.split("/")[-1].split(".")[0]
fs.create("~/.lir/actions/"+mode+".dic")
with open(fs.expand_path("~/.lir/actions/"+mode+".dic"),'a') as f:
f.write("\n####\n# "+name+"\n####\n")
with open(path) as src:
f.write(src.read())
def installCompressed(path):
#resolve path and open tar
path = fs.expand_path(path)
tar = tarfile.open(path,'r:gz')
fs.create_directory("/tmp/lir")
#extract into /tmp
print(lang.get("install","extract"),path,"/tmp/lir")
tar.extractall("/tmp/lir/")
#load info
info = settings.ini("/tmp/lir/info.ini")
print(lang.get("install","start"),info.get("info","name"))
#move files to "install" plugin
fs.copy("/tmp/lir/info.ini","~/.lir/plugins/"+info.get("info","name").replace(" ","_").lower()+".ini")
for s in ["tts","sst","services","bin"]:
if info.has_section(s):
if not fs.copy("/tmp/lir/"+s,"~/.lir/"+s):
print(lang.get("error","transfer"),fs.expand_path("/tmp/lir/"+s),fs.expand_path("~/.lir/"+s))
return False
for dic in os.listdir("/tmp/lir/actions"):
if os.path.isfile("/tmp/lir/actions/"+dic):
add_dictionary("/tmp/lir/actions/"+dic,info.get("info","name"))
fs.delete("/tmp/lir")
print(lang.get("install","done"),info.get("info","name"))
return True
def installFolder(path):
path = fs.expand_path(path)
info = settings.ini(path+"/info.ini")
print(lang.get("install","start"),info.get("info","name"))
#move files to "install" plugin
fs.copy(path+"/info.ini","~/.lir/plugins/"+info.get("info","name").replace(" ","_").lower()+".ini")
for s in ["tts","sst","services","bin"]:
#if info.has_section(s):
if os.path.exists(path+"/"+s):
if not fs.copy(path+"/"+s,"~/.lir/"+s):
print(lang.get("error","transfer"),fs.expand_path(path+"/"+s),fs.expand_path("~/.lir/"+s))
return False
if os.path.isdir(path+"/actions"):
for dic in os.listdir(path+"/actions"):
if os.path.isfile(path+"/actions/"+dic) and not dic.endswith("~"):
add_dictionary(path+"/actions/"+dic,info.get("info","name"))
print(lang.get("install","done"),info.get("info","name"))
return True
def main():
pass
if __name__ == "__main__":
main()