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 main(): print("Package Creator") print("Brett Mayson - 1.0 - Dec 2015") try: path = sys.argv[1] except: path = input("Path to plugin: ") #expand short file paths fs.expand_path(path) print("Path:",path) #get info from ini file if os.path.exists(path+"/info.ini"): l = settings.Settings(path+"/info.ini") print(l.get("info","name")) else: print("No Info.ini") return tar = tarfile.open(l.get("info","name").lower()+".tar.gz","w:gz") os.chdir(path) tar.add("info.ini") #check for tts modules if l.has_section("tts"): tar.add("tts") #check for stt modules if l.has_section("stt"): tar.add("stt") #check for services if l.has_section("services"): tar.add("services") if os.path.exists("bin"): tar.add("bin") if os.path.exists("actions"): tar.add("actions") tar.close()
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 __init__(self,name): # instantiate config self.config = ConfigParser() #file name self.name = name if name.endswith(".ini") else name+".ini" import fs self.name = fs.expand_path(self.name) # parse existing file if os.path.exists(self.name): self.config.read(self.name)
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