Пример #1
0
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())
Пример #2
0
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()
Пример #3
0
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
Пример #4
0
    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)
Пример #5
0
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