All pastes #793872 Raw Edit

Unnamed

public python v1 · immutable
·published 2007-11-22 18:26 UTC
rendered paste body
from mako.template import TemplateTPL_DIR = "/home/sabayonlinux/public_html/packages.sabayonlinux.org/templates/"from sys import pathpath.append(TPL_DIR+'/../database/entropy')from databaseTools import openGenericDatabasefrom mako.lookup import TemplateLookupmylookup = TemplateLookup(directories=[TPL_DIR])def index():    mytemplate = Template(filename = TPL_DIR+'/index.html', lookup = mylookup)    return mytemplate.render()def search(searchtype, searchstring, arch, product):    data = {}    atoms = set()    if searchstring and len(searchstring) > 1:        dbconn = openGenericDatabase(TPL_DIR+"/../database/"+product+"/"+arch+"/packages.db", xcache = True)        idpackages = set()        if searchtype == "0":            results = dbconn.searchPackages(searchstring)            for result in results:                idpackages.add(result[1])        elif searchtype == "1":            results = dbconn.searchPackagesByDescription(searchstring)            for result in results:                idpackages.add(result[1])        elif searchtype == "2":            results = dbconn.searchBelongs("%"+searchstring+"%", like = True)            idpackages.update(results)        else:            results = dbconn.searchNeeded(searchstring)            idpackages.update(results)            # now format idpackage        for idpackage in idpackages:            myatom = dbconn.retrieveAtom(idpackage)            atoms.add(myatom)            data[myatom] = {}            data[myatom]['description'] = dbconn.retrieveDescription(idpackage)            data[myatom]['branch'] = dbconn.retrieveBranch(idpackage)            data[myatom]['download'] = dbconn.retrieveDownloadURL(idpackage)            data[myatom]['digest'] = dbconn.retrieveDigest(idpackage)        atoms = list(atoms)        atoms.sort()            dbconn.closeDB()    mytemplate = Template(filename = TPL_DIR+'/searchresults.html', lookup = mylookup)    return mytemplate.render(atomsinfo = data, atoms = atoms)