def onGrabarSeleccion(self, button): ''' guarda los enlaces seleccionados de la lista en la base de datos lo normal es hacer uso de esta funcion cuando queramos grabar en la base de datos enlaces resultados de alguna busqueda ''' selection = self.treeview.get_selection() modelo,pathlist = selection.get_selected_rows() iters = [modelo.get_iter(path) for path in pathlist] if self.fromspider: if len(iters)!=0: if (self.preguntarOK("Grabar seleccionados, estas seguro ?",400)): basededatos = TorrentSpiderDB() for myiter in iters: veid = modelo.get_value(myiter,0) vtitulo = modelo.get_value(myiter,1) vcategoria = modelo.get_value(myiter,2) venlace = modelo.get_value(myiter,3) registro = [ veid, vtitulo, vcategoria, venlace] basededatos.insertaRegistro(registro,"db") basededatos.cierraBD() else: if len(iters)!=0: self.preguntarOK("Registros seleccionados ya estan en la BD!",400)
class Torrent2DB(object): def __init__(self): self.basededatos = TorrentSpiderDB() self.registro=[] def process_item(self, item, spider): self.spider = spider self.registro=[] self.registro.append(item['eid'][0]) self.registro.append(item['titulo'][0]) self.registro.append(item['categoria'][0]) self.registro.append(item['enlace'][0]) print self.spider.destino self.basededatos.insertaRegistro(self.registro,self.spider.destino) return item def close_spider(self, spider): self.basededatos.cierraBD()