def registrarUsuario(cod, foto=None, imgs=None, db=db): filas = db("confirmacion").obtenerFilasValores(cod) print filas for elem in db("confirmacion").obtenerFilasId(cod): db("confirmacion").delFila(elem) token = zu.randomString() while token in db.obtenerColumna("valor", "tokens"): token = zu.randomString() if cod == filas[4]: db("usuarios").insertar(filas[0], filas[1], filas[2], filas[3], foto, imgs, token) db("tokens").insertar(filas[2], token, str(zu.DateTime()), str(zu.DateTime(w=4))) i = len(db.obtenerColumna("token", "usuarios")) - 1 db("tokens").relacionar(i, "usuario", tabla="usuarios", campo="correo", id=i) db("usuarios").relacionar(i, "token", tabla="tokens", campo="valor", id=i) db.grabar(root_db) else: print filas, " - ", cod print "el codigo de confirmacion no coincide"
def modificarGaleria(self,indice,nombre,imagenes): import shutil import Image if self.request(): filas=self.obtenerFilas("Galerias")[indice][1][0][1:] self.db("Galerias").modificarCampo(indice,"Nombre", nombre ) imgs=[[{"Galeria":"text","name":"galeria","value":nombre}]] options=self.obtenerFilas("Opciones") for k,elem in enumerate(imagenes): if k>len(filas)-1: current=imagenes[k] shutil.move(os.getcwd()+"/apps/"+settings.app+"/admin/static/archivos/"+current,os.getcwd()+"/apps/"+settings.app+"/admin/static/archivos/Galerias/"+current) im1 = Image.open(os.getcwd()+"/apps/"+settings.app+"/admin/static/archivos/Galerias/"+current) width=500 height=420 img=im1.resize((width, height), Image.NEAREST) img.save(os.getcwd()+"/apps/"+settings.app+"/admin/static/archivos/Galerias/min/"+current) imgs[0].append({"Imagen "+str(k+1):"select","name":"img","value":options[0][1].index(elem),"opcion":0}) self.db("Galerias").modificarCampo(indice,"Contenido", imgs ) self.db("Galerias").modificarCampo(indice,"Fecha", zu.DateTime(), [] ) return self.grabar()
def modificarGaleria(self, indice, nombre, imagenes): import shutil import Image if self.request(): filas = self.obtenerFilas("Galerias")[indice][1][0][1:] self.db("Galerias").modificarCampo(indice, "Nombre", nombre) imgs = [[{ "Galeria": "text", "name": "galeria", "value": nombre }]] for k, elem in enumerate(imagenes): imgs[0].append({ "opciones": "archivos", 'opcion': 0, 'Imagen ' + str(k + 1): 'img-admin', 'name': 'img', 'value': int(elem) }) self.db("Galerias").modificarCampo(indice, "Contenido", imgs) self.db("Galerias").modificarCampo( indice, "Fecha", zu.DateTime(), ) return self.grabar()
def reportarError(self, error): if self.request(): f = open(error[1], "r") msj = """Error: """ + str(error[0]) + """ Archivo: """ + error[1] + """ Linea: """ + str(error[2]) + """ ------------------------- """ + f.readlines()[error[2]] + """ """ f.close() tabla = self.obtenerFilas("Log") token = zu.randomString() anteriores = [] for elem in tabla: anteriores.append(elem[0]) while token in anteriores: token = zu.randomString() self.db("Log").insertar(str(token), [str(error[0]), error[1], error[2], msj], {"Error": len(tabla)}, zu.DateTime(), False) return [self.grabar(), token]
def crearPlantilla(self, nombre, campos): if self.request(): tabla = "Plantillas" i = len(self.obtenerFilas(tabla)) self.db(tabla).insertar(nombre, campos, {"Plantilla": i}, zu.DateTime(), ["Publicada"]) return self.grabar()
def subirArchivo(self,data): if self.request(): tabla="Opciones" existe=True import os opciones=self.obtenerFilas(tabla) archivo=data["archivo"] opcion=opciones[5][1].index(data["opcion"].value) tipo=opciones[3][1].index(data["tipo"].value) if archivo.filename!="": renombre=data["renombre"].value+archivo.filename[archivo.filename.find("."):] if "renombre" in data and data["renombre"].value!="" else archivo.filename i=len(self.obtenerFilas("Archivos")) if data["opcion"].value not in os.listdir(config.base_root+config.apps_folder+settings.app+"/admin/static/archivos/"): os.mkdir(config.base_root+config.apps_folder+settings.app+"/admin/static/archivos/"+data["opcion"].value) if renombre not in os.listdir(config.base_root+config.apps_folder+settings.app+"/admin/static/archivos/"+data["opcion"].value): #self.db(tabla).modificarCampo(opcion,"Valores",l+[renombre+"."+archivo.filename.split(".")[1]]) f=open(config.base_root+config.apps_folder+settings.app+"/admin/static/archivos/"+data["opcion"].value+"/"+renombre,"w") f.write(archivo.file.read()) f.close() else: existe=False if existe==True: l=self.obtenerFilas("Opciones")[0][1] l=l+[renombre] print len(l) self.db("Opciones").modificarCampo(0,"Valores",l) self.db("Archivos").insertar(renombre, [ [ {"Imagen":"img","name":"archivo","value":len(l)-1,"opcion":0}, {"Título":"text","name":"renombe","value":renombre}, {"Enlace":"text","name":"enlace","value":config.base_url+config.apps_folder+settings.app+"/admin/static/archivos/"+data["opcion"].value+"/"+archivo.filename}, {"Típo":"text","name":"tipo","value":data["tipo"].value}, ] ], {"Archivo":i}, zu.DateTime(), [] ) self.grabar() return True else: return False else: return False
def modiciarMenu(self,indice,nombre,home,biografia,descargas,redes,twitter,instagram,facebook,noticias): if self.request(): tabla="Menus" db(tabla).modificarCampo(indice,"Nombre",nombre) db(tabla).modificarCampo(indice,"Contenido",[ {"nombre":"text","name":"prensa","value":nombre}, {"Home":"text","name":"home","value":home}, {"Biografia":"text","name":"biografia","value":biografia}, {"Descargas":"text","name":"descargas","value":descargas}, [ {"Redes sociles":"text","name":"redes","value":redes}, {"Twitter":"text","name":"twitter","value":twitter}, {"Instagram":"text","name":"instagram","value":instagram}, {"Facebook":"text","name":"facebook","value":facebook}, ], {"Prensa":"text","name":"prensa","value":noticias}, ]) db(tabla).modificarCampo(indice,"args",{"Menu":indice}) db(tabla).modificarCampo(indice,"Fecha",zu.DateTime()) self.grabar()
def modificarPlantilla(self,i,nombre,campos): if self.request(): tabla="Plantillas" self.db(tabla).modificarCampo(i,"Nombre",nombre) self.db(tabla).modificarCampo(i,"Contenido",campos) self.db(tabla).modificarCampo(i,"Fecha",zu.DateTime()) return self.grabar()
def closeSession2(self,token): if self.request(): muere=str(zu.DateTime()) x = datetime.datetime.now() valido=None usuarios=self.obtenerFilas("Usuarios") i=0 l=[] l2=[] for k,fila in enumerate(usuarios): for campos in fila[1][0]: keys=campos.keys() if "Token" in keys: if token==campos["value"]: valido=False l.append(fila[1][0]) break i=k if valido==False: break if l!=[]: for elem in l[0]: keys=elem.keys() if "Usuario" in keys: nick=elem["value"] elif "Password" in keys: password=elem["value"] elif "Email" in keys: email=elem["value"] elif "Avatar" in keys: avatar=elem["value"] elif "Token" in keys: token=elem["value"] self.db("Usuarios").modificarCampo(i,"Contenido", [[ {"Usuario":"text","name":"usuario","value":nick}, {"Email":"text","name":"email","value":email}, {"Password":"******","name":"password","value":password}, {"Avatar":"select","name":"avatar","value":avatar,"opcion":1}, {"Token":"hidden","name":"token","value":token}, {"Muere":"hidden","name":"muere","value":muere}, {"Login":"******","name":"login","value":False}, ]] ) return self.grabar() else: return False
def modificarInformacion(self, indice, nombre, contenido): if self.request(): self.db("Informaciones").modificarCampo( indice, "Nombre", nombre) self.db("Informaciones").modificarCampo( indice, "Contenido", [ [{ "Titulo": "text", "name": "titulo", "value": nombre }, { "Contenido": "textarea", "name": "contenido", "value": contenido }], ], ) self.db("Informaciones").modificarCampo( indice, "Fecha", zu.DateTime(), ) return self.grabar()
def subirArchivo(self, archivo, renombre): if self.request(): tabla = "Opciones" existe = True l = self.db(tabla).obtenerFilaValores(0)[1] i = len(self.obtenerFilas("Archivos")) if renombre != "": if renombre not in os.listdir( config.base_root + config.apps_folder + "CBK/admin/static/archivos/"): l.append(renombre) self.db(tabla).modificarCampo(0, "Valores", l) f = open( config.base_root + config.apps_folder + "ATEI/admin/static/archivos/" + renombre, "w") f.write(archivo.file.read()) f.close() imagenes = self.obtenerFilas("Imagenes") self.db("Imagenes").modificarCampo( "Valores", imagenes[0][1].append(renombre)) else: existe = False else: if archivo.filename not in os.listdir( config.base_root + config.apps_folder + "CBK/admin/static/archivos/"): l.append(archivo.filename) self.db(tabla).modificarCampo(0, "Valores", l) f = open( config.base_root + config.apps_folder + "ATEI/admin/static/archivos/" + archivo.filename, "w") f.write(archivo.file.read()) f.close() imagenes = self.obtenerFilas("Imagenes") self.db("Imagenes").modificarCampo( "Valores", imagenes[0][1].append(archivo.filename)) else: existe = False if existe == True: self.db("Archivos").insertar(archivo.filename, [[ { "Imagen": "file", "name": "archivo", "value": archivo.filename }, { "Título": "text", "name": "renombe", "value": renombre }, ]], {"Archivo": i}, zu.DateTime()) self.grabar() return True else: return False
def modificarPagina(self, indice, data): if self.request(): select = True l2 = list(data) l2.sort() l2.remove("action") #Pendiente de que los nombres de los campos no deben repetirse for k, elem in enumerate(self.obtenerFilas("Paginas")): campos = [] plantilla = k c = 0 try: l = [] for box in elem[1]: for campo in box: l.append(campo["name"]) l.sort() for campo in l: if l2[c] != campo: select = False c += 1 if select == True: break except: pass c = 0 boxes = [] for k2, box in enumerate( self.obtenerFilas("Paginas")[indice][1]): for k, campo in enumerate(box): indice2 = l2.index(campo["name"]) if k2 == 0 and k == 0: titulo = data[l2[indice2]].value if "opcion" in campo: box[k]["value"] = int(data[l2[indice2]].value) else: box[k]["value"] = data[l2[indice2]].value c += 1 boxes.append(box) self.db("Paginas").modificarCampo(indice, "Nombre", titulo) self.db("Paginas").modificarCampo(indice, "Contenido", boxes) self.db("Paginas").modificarCampo( indice, "args", {"Pagina": indice}, ) self.db("Paginas").modificarCampo(indice, "Fecha", zu.DateTime()) self.grabar()
def crearEntrada(self,data,metadatos=None): if self.request(): nuevo=self.valorizarEstructura(data,self.obtenerEstructura("Entradas")) nuevo[2]={"Entrada":self.obtenerLongitud("Entradas")} nuevo[3]=zu.DateTime() self.fusionarMetadatos(nuevo[4],metadatos) self.db("Entradas").insertar(nuevo[0],nuevo[1],nuevo[2],nuevo[3],nuevo[4]) self.grabar()
def modificarUsuario2(self,indice,nick,email,password,avatar,hours=4): if self.request(): muere=str(zu.DateTime(H=hours)) x = datetime.datetime.now() valido=None usuarios=self.obtenerFilas("Usuarios") l=[] i=0 for k,fila in enumerate(usuarios): i=k for campos in fila[1][0]: keys=campos.keys() if "Email" in keys: if email==campos["value"]: valido=False l.append(fila[1][0]) break if valido==False: break valido=None token=l[0][4]["value"] self.db("Usuarios").modificarCampo(indice,"Nombre",nick) self.db("Usuarios").modificarCampo(indice,"Contenido", [[ {"Usuario":"text","name":"usuario","value":nick}, {"Email":"text","name":"email","value":email}, {"Password":"******","name":"password","value":password}, {"Avatar":"select","name":"avatar","value":avatar,"opcion":1}, {"Token":"hidden","name":"token","value":token}, {"Muere":"hidden","name":"muere","value":muere}, {"Login":"******","name":"login","value":True}, ]]) self.db("Usuarios").modificarCampo(indice,"args", {"Usuario":indice} ) self.db("Usuarios").modificarCampo(indice,"Fecha", zu.DateTime(), [] ) return self.grabar()
def crearConfiguracionPagina(self,pagina,**kwargs): if self.request(): campos=[] valores=[] for elem in kwargs: campos.append(elem) valores.append(kwargs) self.db("Paginas").insertar(pagina,campos,valores,zu.DateTime()) self.grabar()
def modificarMenu(self, indice, nombre, estructura): if self.request(): tabla = "Menus" self.db(tabla).modificarCampo(indice, "Nombre", nombre) self.db(tabla).modificarCampo(indice, "Contenido", estructura) menus = self.obtenerFilas("Menus") for k, elem in enumerate(menus): if k != indice: for clave in estructura[1]: if estructura[1][clave] != elem[1][1][ clave] and estructura[1][clave] == True: menus[k][1][1][clave] = False self.db(tabla).modificarCampo(k, "Contenido", menus[k][1]) self.db(tabla).modificarCampo(k, "Fecha", zu.DateTime()) self.db(tabla).modificarCampo(indice, "Fecha", zu.DateTime()) return self.grabar()
def crearPagina(self,data): if self.request(): select=True l2=list(data) l2.sort() l2.remove("action") #Pendiente de que los nombres de los campos no deben repetirse for k,elem in enumerate(self.obtenerFilas("Plantillas")): campos=[] plantilla=k c=0 try: l=[] for box in elem[1]: for campo in box: l.append(campo["name"]) l.sort() for campo in l: if l2[c]!=campo: select=False c+=1 if select==True: break except: pass c=0 boxes=[] for k2,box in enumerate(self.obtenerFilas("Plantillas")[plantilla][1]): for k,campo in enumerate(box): indice=l2.index(campo["name"]) if k2==0 and k==0: titulo=data[l2[indice]].value if "opcion" in campo: box[k]["value"]=int(data[l2[indice]].value) else: box[k]["value"]=data[l2[indice]].value c+=1 boxes.append(box) i=len(self.obtenerFilas("Paginas")) self.db("Paginas").insertar(titulo,boxes,{"Pagina":i},zu.DateTime(),[]) self.grabar()
def registrarUsuario2(self,nick,email,password,avatar,hours=4): if self.request(): muere=str(zu.DateTime(H=hours)) x = datetime.datetime.now() valido=None usuarios=self.obtenerFilas("Usuarios") i=len(usuarios) while valido==None: token=zu.randomString() for fila in usuarios: for campos in fila[1][0]: keys=campos.keys() if "Email" in keys: if email==campos["value"]: valido=False elif "Token" in keys: if token==campos["value"]: valido=False if valido==None: valido=True else: valido=None self.db("Usuarios").insertar(nick, [[ {"Usuario":"text","name":"usuario","value":nick}, {"Email":"text","name":"email","value":email}, {"Password":"******","name":"password","value":password}, {"Avatar":"select","name":"avatar","value":avatar,"opcion":1}, {"Token":"hidden","name":"token","value":token}, {"Muere":"hidden","name":"muere","value":muere}, {"Login":"******","name":"login","value":True}, ]], {"Usuario":i}, zu.DateTime(), [] ) self.grabar() return True
def crearMenu(self, nombre, estructura): if self.request(): tabla = "Menus" i = len(self.obtenerFilas(tabla)) self.db(tabla).insertar(nombre, estructura, {"Menu": i}, zu.DateTime(), ["Publicada"]) print "\n=================\n" return self.grabar()
def crearContacto(self,nombre,contenido): if self.request(): self.db("Contactos").insertar(nombre, [[ {"Email":"text","value":nombre,"name":"email"}, {"contenido":"textarea","value":contenido,"name":"contenido"} ]], {"Contacto":len(self.obtenerFilas("Galerias"))-1}, zu.DateTime(), [] ) self.grabar() return True
def modificarPublicacion(self,indice,nombre,imagen,publicacion): if self.request(): tabla="Publicaciones" self.db(tabla).modificarCampo(indice,"Nombre",nombre) self.db(tabla).modificarCampo(indice,"Contenido", [[ {"Titulo":"text","name":"titulo","value":nombre}, {"Imagen":"select","name":"img","value":imagen,"opcion":0}, {"Contenido":"textarea","name":"publish","value":publicacion} ]]) self.db(tabla).modificarCampo(indice,"Fecha",zu.DateTime()) return self.grabar()
def crearGaleria(self,nombre,imagenes): if self.request(): imgs=[{"Galeria":"text","name":"galeria","value":nombre}] for elem in imagenes: imgs.append({"Imagen 10":"select","name":"img","value":elem,"opcion":0}) self.db("Galerias").insertar(nombre, imgs, {"Galeria":len(self.obtenerFilas("Galerias"))-1}, zu.DateTime(), [] ) self.grabar() return True
def crearAnuncio(self,indice,nombre,imagen): if self.request(): tabla="Anuncios" indice=len(self.obtenerFilas(tabla)) db(tabla).insertar(nombre,[ [ {"Titulo":"text","name":"titulo","value":nombre,}, {"Imagen 1":"select","name":"img","value":37,"opcion":imagen}, ] ], {"Anuncio":indice}, zu.DateTime(), [] ) return self.grabar()
def crearPublicacion(self,nombre,imagen,publicacion): if self.request(): tabla="Publicaciones" indice=len(self.obtenerFilas(tabla)) self.db(tabla).insertar( nombre, [[ {"Titulo":"text","name":"titulo","value":nombre}, {"Imagen":"select","name":"img","value":imagen,"opcion":0}, {"Contenido":"textarea","name":"publish","value":publicacion} ]], {"Publicacion":indice}, zu.DateTime(), [] ) return self.grabar()
def crearEntrada(self,wnoticias_img,wnoticias_titulo,wnoticias): if self.request(): tabla="Entradas" indice=len(self.obtenerFilas("Entradas")) self.db(tabla).insertar(wnoticias_titulo,[[{"Imagen":"select","name":"wnoticias_img","value":wnoticias_img,"opcion":0}, {"Título":"text","name":"wnoticias_titulo","value":wnoticias_titulo}, {"Contenido":"textarea","name":"wnoticias","value":wnoticias} ]], {"Entrada":indice}, zu.DateTime() ) self.grabar()
def crearContacto(self,nombre,email,contenido): if self.request(): tabla="Contactos" indice=len(self.obtenerFilas(tabla)) self.db(tabla).insertar( nombre, [[ {"Nombre":"text","name":"nombre","value":nombre}, {"Email":"text","name":"email","value":email}, {"Contenido":"text","name":"contenido","value":contenido} ]], {"Contacto":indice}, zu.DateTime(), [] ) return self.grabar()
def modificarAnuncio(self,indice,nombre,imagen): if self.request(): self.db("Anuncios").modificarCampo(indice,"Nombre", nombre ) self.db("Anuncios").modificarCampo(indice,"Contenido", [ [ {"Titulo":"text","name":"titulo","value":nombre,}, {"Imagen 1":"select","name":"img","value":37,"opcion":imagen}, ], ], ) self.db("Anuncios").modificarCampo(indice,"Fecha", zu.DateTime(), [] ) return self.grabar()
def modificarEntrada(self,indice,wnoticias_img,wnoticias_titulo,wnoticias): if self.request(): tabla="Entradas" self.db(tabla).modificarCampo(indice,"Nombre",wnoticias_titulo) self.db(tabla).modificarCampo(indice,"Contenido",[[{"Imagen":"select","name":"wnoticias_img","value":wnoticias_img,"opcion":0}, {"Título":"text","name":"wnoticias_titulo","value":wnoticias_titulo}, {"Contenido":"textarea","name":"wnoticias","value":wnoticias} ]]) self.db(tabla).modificarCampo(indice,"args", {"Entrada":indice} ) self.db(tabla).modificarCampo(i,"Fecha", zu.DateTime() ) self.grabar()
def crearGaleria(self, nombre, imagenes): if self.request(): imgs = [[{ "Galeria": "text", "name": "galeria", "value": nombre }]] for k, elem in enumerate(imagenes): imgs[0].append({ "Imagen " + str(k + 1): "img-admin", "name": "img", "value": elem, "opcion": 0, "opciones": "archivos" }) self.db("Galerias").insertar( nombre, imgs, {"Galeria": len(self.obtenerFilas("Galerias")) - 1}, zu.DateTime(), []) self.grabar() return True
def crearMenu(self,nombre,home,biografia,descargas,redes,twitter,instagram,facebook,noticias): if self.request(): tabla="Menus" indice=len(self.obtenerFilas("Menus")) db("Menus").insertar(nombre,[ {"nombre":"text","name":"prensa","value":nombre}, {"Home":"text","name":"home","value":home}, {"Biografia":"text","name":"biografia","value":biografia}, {"Descargas":"text","name":"descargas","value":descargas}, [ {"Redes sociles":"text","name":"redes","value":redes}, {"Twitter":"text","name":"twitter","value":twitter}, {"Instagram":"text","name":"instagram","value":instagram}, {"Facebook":"text","name":"facebook","value":facebook}, ], {"Prensa":"text","name":"prensa","value":noticias}, ], {"Menu":indice}, zu.DateTime() ) return self.grabar()