Example #1
0
 def procesar(self):
     if self.oferta['idoferta'].get()==None : self.oferta['idoferta'].set(0)
     for key in self.widgofer:  # se pasan los campos escribibles
         if self.widgofer[key][3]!=None :
             self.oferta[key].set(self.widgofer[key][3].get())
     dictsit.makeoferta(dictsit.elem_sitio(self.sitio),self.oferta,'w') # escribir los campos en la web
     dictsit.makeoferta(dictsit.elem_sitio(self.sitio),self.oferta,"R") # leer los campos asociados a la escitura
     if messagebox.askquestion(' Adverterncia', 'Esta seguro de enviar la oferta'):
         dictsit.makeoferta(dictsit.elem_sitio(self.sitio),self.oferta,'P') # escribir los campos en la web     
Example #2
0
 def filtrarXlista(self):
     idiosel=self.lbidio.curselection()
     habsel=self.lbtema.curselection()
     #print('idio ',idiosel)
     #print('hab ',habsel)
     xdict=dictsit.elem_sitio(self.sitio)
     url=xdict['url']
     if idiosel!=():
         strini=xdict['filtroidio'][0]
         if xdict['filtroidio'][2]=='ISO': # se usa la ISO 659 para hacer a query de idiomas 
             idiomtrad=[]
             for idio in idiosel: 
                 idiomtrad.append(self.lbidio.get(idio))
             if len(idiomtrad)==1 :
                  idiomtrad.append('') # para tratar las tuplas de 1 element que dan una coma adicional
             idioISO=queryidiomasISO(enumeradores.Idiomas, idiomtrad) #retorna una[(lista de tupla)]      
             for idio in idioISO[0]:
                 strini=strini+idio+xdict['filtroidio'][1]
         else: # no hay que traducri al ISO 639 
            for idio in idiosel:                         
                strini+=self.lbidio.get(idio)+xdict['filtroidio'][1]
         url=url+strini[:-len(xdict['filtroidio'][1])]+xdict['filtrounion'][0]
    
     if habsel!=():
         strini=xdict['filtroskills'][0]
         for skill in habsel:
             strini+=self.lbtema.get(skill)+xdict['filtroskills'][1]
         url=url+strini[:-len(xdict['filtroskills'][1])]+xdict['filtrounion'][0]
     url=url[:-len(xdict['filtrounion'][0])] # se le quita la utima union
     dictsit.gotourl(url)
Example #3
0
 def ofertar(self):
     #TODO se necesita creAR EL ECANISMO EN BASE DE DATOS DE TIPO DE LOGIN
     dictsit.switchtab(2,self.proyecto['.ofertar'].get())
     if not self.login:
         if dictsit.login(dictsit.elem_sitio(self.sitio),'Google',self.nombusq,self.clavebusq)!=None:
             self.login=True
         else: 
             messagebox.showerror('Error en el logeo', 'No puede ofertar, Favor revisar la llave de la base de datos')
             return
     #dictsit.switchtab(2,self.proyecto['.ofertar'].get())
     if not dictsit.assertoferta(dictsit.elem_sitio(self.sitio)):
                 #TODO esta mal parece qur yirnr que ponerse este o no logeado
                 messagebox.showerror('Error en la web', 'No puede encontrar la web de oferta, Favor revisar la llave del diccionario')
                 return
     errors = dictsit.makeoferta(dictsit.elem_sitio(self.sitio),self.oferta,'r') 
     if errors!=[] : messagebox.showwarning('Advertencia', 'no se puderon encontrar '+','.join(errors))  
     self.froferta.pack(side=LEFT)     
     self.muestra_ofer(dictsit.elem_sitio(self.sitio),True,False,4,16)
     
     """"click
Example #4
0
 def filtrarXlistaRedu(self):   # este es un uso aterno sin que usen los xdict u todo el problema de los filtros y la ISO
     idiosel=self.lbidio.curselection()
     idiomtrad=[]
     for idio in idiosel: 
         idiomtrad.append(self.lbidio.get(idio))
     habsel=self.lbtema.curselection()
     habtrab=[]
     for skill in habsel:
         strskill=self.lbtema.get(skill)
         habtrab.append(strskill)
     edifilter= ' '.join(idiomtrad) +' ' +' '.join(habtrab)
     print('Filtado x Lista ',edifilter)
     listaproyectos=dictsit.findelements(dictsit.elem_sitio(self.sitio),edifilter,'gen')
     self.edit_url.set(dictsit.driver.current_url)
     self.llenagrid(self.colspro,listaproyectos)
Example #5
0
 def verproyecto(self):
     
     self.urllist=dictsit.driver.current_url
     #dictsit.driver.get(self.proyecto['referencia'].get())
     dictsit.switchtab(1,self.proyecto['referencia'].get())
     if dictsit.findextraproy(dictsit.elem_sitio('Workana'),self.proyecto)==False:
         messagebox.showinfo('','No se pudo abrir la web')
     self.edit_url.set(self.proyecto['referencia'].get())
     self.frlist.pack_forget()
     print('propagateprel',self.frgridprel.pack_propagate())
     self.frgridprel.pack_forget()
     print('propagatelistinside', self.frlistinside.pack_propagate())
     self.widgproy['descripcion']=[Text,20,50]
     print('muestraproy')
     #self.butverproyecto.configure(text='Ver Listado')
     #self.butverproyecto.configure(command=self.verlistado)
     self.butsalvar.configure(state='normal')
     self.butofertar.configure(state='normal')
     self.muestra_proy(False,6,16)
Example #6
0
 def menos(self):
     self.click-=1
     listaproyectos=dictsit.findelements(dictsit.elem_sitio(self.sitio),self.click)
     self.edit_url.set(dictsit.driver.current_url)
     self.llenagrid(self.colspro,listaproyectos)
Example #7
0
 def filtrar(self):
     listaproyectos=dictsit.findelements(dictsit.elem_sitio(self.sitio),self.var_filtro.get(),'gen')
     self.edit_url.set(dictsit.driver.current_url)
     self.llenagrid(self.colspro,listaproyectos)
Example #8
0
 def forward(self):
     self.edit_url.set(dictsit.driver.forward)
     listaproyectos=dictsit.findelements(dictsit.elem_sitio(self.sitio))
     #self.butshow=tk.Checkbutton(frameshow,text='Ocultar', variable=self.ocultar,command=self.ocultarlistprel).grid(row=3,column=5)
     self.llenagrid(self.colspro, listaproyectos)
Example #9
0
 def muestraforma(self):        
     self.lbidio = Listbox(self.frlistinside,exportselection=False,selectmode=MULTIPLE,width=8, height=30)
     self.lbidio.pack(side=LEFT,expand=0,fill=Y)
     for idio in self.lenguaje:
         self.lbidio.insert(END,idio) # despues se analiza si se coge de bd
         #self.lbidio.insert(END,Idiomas(i).name[0:3].upper())
     #if self.lenguaje!=None:
         #self.lbidio.selection_set(self.lbidio.get(0,END).index(self.lenguaje))    
     self.var_hab=StringVar()
     self.listahab=enumeradores.verenum(Habilidades)
     print('listahab', self.listahab)
     #self.var_tema.set(listahab)
     self.lbtema = Listbox(self.frlistinside,exportselection=False,selectmode=MULTIPLE,listvariable=self.var_hab,width=8, height=30)
     for item in self.listahab:
          self.lbtema.insert(END,item[1])
     self.lbtema.pack(side=LEFT,expand=0,fill=Y)
     #self.var_tema.set(['salu','pres', 'expe', 'cert', 'refe', 'extras', 'desp','todo'])
     #if self.habi!=None:
         #self.lbtema.selection_set(self.lbtema.get(0,END).index(self.habi))
     self.textlab1=Label(self.frencedit,text='URL Proyecto: ')
     self.textlab1.pack(side=LEFT)
     self.edit_url=StringVar()
     self.text_edit = Entry(self.frencedit,textvariable=self.edit_url,width=60,bg='white',fg='black')
     #self.text_edit.bind('<Alt-KeyPress>',self.copyfromcomposer)
     self.text_edit.pack(side=LEFT)
     if self.urlproy!=None: self.edit_url.set(self.urlproy)
     self.butrefreshurl=Button(self.frencedit, text= 'Refescar',command=self.refresh)
     self.butrefreshurl.pack(side=LEFT, padx=4)
     self.butback= Button(self.frencedit, text= ' < ',command=self.backward)
     self.butback.pack(side=LEFT, padx=10)
     self.butforward= Button(self.frencedit, text= ' > ',command=self.forward)
     self.butforward.pack(side=LEFT, padx=10)
     self.colspro, colsize, colview =dictsit.findkeynamesize(dictsit.elem_sitio(self.sitio))            
     #colspro = ['Titulo','Fecha','Elemento','Fechas','Bids','Clientes','Paises','Rating','Presupuesto','Textos','url','Skills']
     self.listprel =ttk.Treeview(self.frgridprel, columns=self.colspro, displaycolumns=colview,height=12, padding=1, show="headings")
     self.listprel.pack(side=TOP)
     for col in self.colspro:
         self.listprel.column(col,width=colsize[self.colspro.index(col)],anchor=W)
         self.listprel.heading(col, text=col)
     self.lab_filtro =Label(self.frbusqedit,text='Filtrar por:')
     self.lab_filtro.pack(side=LEFT)
     self.var_filtro = StringVar()
     self.var_filtro.set(self.filtro)
     self.edit_filtro = Entry(self.frbusqedit,textvariable=self.var_filtro,width=60,bg='white',fg='black')
     self.edit_filtro.pack(side=LEFT,fill=Y)  
     self.butfiltrar= Button(self.frbusqedit, text= 'Filtrar',command=self.filtrar)
     self.butfiltrar.pack(side=LEFT, padx=5)
     self.butsitio= Button(self.frmenubut, text= 'Sitio',command=self.gositio)
     self.butsitio.pack(side=LEFT, padx=5)
     self.butmenos1= Button(self.frmenubut, text= ' <1 ',command=self.menos)
     self.butmenos1.pack(side=LEFT, padx=5)
     self.butmas1= Button(self.frmenubut, text= ' 1> ',command=self.mas)
     self.butmas1.pack(side=LEFT, padx=5)
     self.butcomponer= Button(self.frmenubut, text= 'Ver Listado',command=self.verlistado)
     self.butcomponer.pack(side=LEFT, padx=5)
     self.butverproyecto= Button(self.frmenubut, text= 'Ver Proyecto',command=self.verproyecto)
     self.butverproyecto.pack(side=LEFT, padx=5)
     self.butmarcarproyecto= Button(self.frmenubut, text= 'Marcar Proyecto',command=self.marcarproyecto)
     self.butmarcarproyecto.pack(side=LEFT, padx=5)
     self.butverproyecto.bind('<<Alt-Control-KeyPress>>', lambda event:self.controlkey(event))
     self.butofertar= Button(self.frmenubut, text= 'Ofertar',command=self.ofertar)
     self.butofertar.pack(side=LEFT, padx=5)        
     self.butsalvar= Button(self.frmenubut, text= 'Salvar',command=self.salvar)
     self.butsalvar.pack(side=LEFT, padx=5)
     self.butcomponer= Button(self.frmenubut, text= 'Cover Letter',command=self.defcover)
     self.butcomponer.pack(side=LEFT, padx=5)
     self.butsalvarofer= Button(self.frmenubut, text= 'Procesar Oferta',command=self.procesar)
     self.butsalvarofer.pack(side=LEFT, padx=5)
     self.butlistfilter= Button(self.frlistbut, text= 'Filtrar x Lista',command=self.filtrarXlistaRedu)
     self.butlistfilter.pack(side=BOTTOM, padx=10)
     listaproyectos=dictsit.findelements(dictsit.elem_sitio(self.sitio))
     #self.butshow=tk.Checkbutton(frameshow,text='Ocultar', variable=self.ocultar,command=self.ocultarlistprel).grid(row=3,column=5)
     self.listprel.bind('<<TreeviewSelect>>', lambda event: self.selectItem(event))
     self.listprel.tag_configure('mark', foreground='red')
     self.llenagrid(self.colspro, listaproyectos)
Example #10
0
 def analizar(self):
     #def __init__(self,sitio,url,dictini,xdictedit,tipstruct,marked=[]): definicion actual de analizar
     ds = Dictofindsel(self.nomsitio, self.sitio['urlproy'].get(),
                       elem_sitio('Workana'),
                       elem_sitio(self.sitio['nomsitio']), self.tipositio)
Example #11
0
                            self.strout[key].set('')
                    else:
                        self.strout[key].set(str(self.dictini[key]))
                self.dictout[key] = li.LabelInput(self.fredit,
                                                  key + '= ' +
                                                  str(self.dictini[key]),
                                                  width=30,
                                                  input_var=self.strout[key])
                for col in range(len(cols)):
                    if cols[col] < heightmax:
                        self.dictout[key].grid(row=cols[col], column=col)
                        self.dictout[key].bind("<Button-1>", self.focus)
                        print('posic wid', key, cols[col], col)
                        cols[col] += 1
                        break
                    else:
                        continue
        self.fredit.bind_all("<Button-1>", self.focus)
        return (cols[col], col)


if __name__ == '__main__':
    import Freelancer20 as frl
    #po=Busqproywin(1,2,'Workana',['English','Español','Português'],['Delphi','C++'],'https://www.workana.com/jobs?ref=home_top_bar','Google','*****@*****.**','Karpov75%','freebd.db')

    ds = dictofindsel('Freelancer', 'https://www.freelancer.com/jobs/1/',
                      di.elem_sitio('Workana'), frl.xdict, tipstruct.dictgen)
    ds.muestra_proy(True, 2, 16)
    #ds.clean()
    #print (elem_sitio('Workana'))