Nástroje používateľa

Nástoje správy stránok


nkd:lst-finder:start

Toto je staršia verzia dokumentu!


LST vyhľadávač

LST vyhľadávač slúži na prezeranie a ukladanie objektov z .lst súborov. Objekty, ktoré sú v ňom zapísané, si ukladá spolu s cestou k nim, do text.txt. Ten je v adresári, v ktorom sa nachádza samotný program. Druhá funkcia programu je hladať objekty z textového súboru a pokiaľ ich nájde, zapíše ich do „C:/temp/LST.txt“ spolu s cestou, kde sa danné objekty nachádzajú.

Interface

Interface sa skladá z dvoch časti:

  • Prvá časť je nazvaná „Automaticke hladanie z XSL“ slúži na načítavanie .txt súborov a vyhľadáva ich v svojej textovej databáze. Výstupom je textový súbor v C:/temp/LST.txt v ktorom je uložený názov objektu a cesta na disku k nemu.
  • Druhá časť s názvom „Automaticke hladanie LST a vytvaranie databazy“ si nčítava objekty z .lst súborov a porovnáva ich so svojími objektami v text.txt, ak taký objekt nenájde, zapíše si ho aj s cestou k nemu. Výstupom je teda text.txt, ktorý je uložený v zložke, v ktorej sa nachádza samotný program.

Popis k funkciam

Funkcie pre XSL

startXSL()

def startXSL(cesta):
    f = open(cesta, 'r')
    for line in f:
        searchInDatabase(line)

vyberSuborTXT()

def vyberSuborTXT():
    vstupXSL.delete(0, END)
    nazov=tkFileDialog.askopenfilename()
    vstupXSL.insert(0, nazov)
    return nazov

spustXSL()

def spustXSL():
    cesta = vstupXSL.get()
    startXSL(cesta)

searchInDatabase()

def searchInDatabase(name):
    database = open("text.txt", 'r')
    for lineData in database:
        parts = lineData.split("\t")
        if(parts[0] == name):
            WriteToFile("C:/temp/LST.txt", parts[0], parts[1])
    database.close()

Funkcie pre LST

WriteToFile()

def WriteToFile(where, name, path):
    if (open(where,'a')):
        f = open(where,'a')
        f.write(name + "\t" + path + "\n")
        f.close()
    else:
        f = open(where,'w')
        f.write(name + "\t" + path + "\n")
        f.close()

Upper()

def Upper(name):
    return name.upper()
def search(name):
    database = open("text.txt", 'r')
    for lineData in database:
        parts = lineData.split("\t")
        if(parts[0] == name):
            database.close()
            return True
    database.close()
    return False

start()

def start(fileName):
    path = fileName.split("/")
    part = path[len(path)-1].split(".")
    partNazov = part[0].split("\\")
    print partNazov[len(partNazov) -1]
    partNazov = partNazov[len(partNazov)-1]
    f = open(fileName, 'r')
    for line in f:
        parts = line.split("\t")
        partsName = Upper(parts[0])
        if(partsName.endswith('.JPG')and partsName.startswith("SNP")):
            partss = partsName.split("_")
            if(os.path.isfile("text.txt")):
                if(search(partss[0]) is False):
                    print partss[0] + " - pripisany do DBS"
                    WriteToFile("text.txt", partss[0], partNazov)
            else:
                WriteToFile("text.txt", partss[0], partNazov)
    f.close()

step()

def step(ext, dirname, names):
    ext = ext.lower()
    for name in names:
        if name.lower().endswith(ext):
            print "--> " + (os.path.join(dirname, name))
            start(os.path.join(dirname, name))

vyberSuborDIR()

def vyberSuborDIR():
    vstupLST.delete(0, END)
    nazov=tkFileDialog.askdirectory()
    vstupLST.insert(0, nazov)
    return nazov

spustLST()

def spustLST():
    cesta = vstupLST.get()
    #start(cesta)
    exten = '.lst'
    print os.path.walk(cesta, step, exten)
nkd/lst-finder/start.1416582073.txt.gz · Posledná úprava: 2014/11/21 16:01 od Michal Štens