def show_annotated(request, recurso): estado = "" accion = "" enlace = "" if request.user.is_authenticated(): estado += "Eres " + request.user.username + "." accion += "Logout" enlace += "/admin/logout/" else: estado += "No has hecho login. " accion += "Login" enlace += "/admin/" fila = Pages.objects.filter(name=recurso) salida = "" found = 0 if request.method == "GET": if not fila: salida += "Pagina no encontrada" else: salida += fila[0].page found = 1 elif request.method == "PUT": if request.user.is_authenticated(): if not fila: if recurso == "": fila = Pages(name=recurso, page="Pagina principal") else: fila = Pages(name=recurso, page="Pagina de " + recurso) fila.save() salida += fila.page found = 1 else: salida += "Esta pagina ya esta almacenada" found = 1 else: salida += "Solo usuarios registrados pueden " + \ "cambiar contenido" found = 1 else: salida += "Metodo erroneo" # 1. Indicar plantilla template = get_template("index.html") # 2. Marcar contexto -> contenido: salida c = Context({ 'contenido': salida, 'estado': estado, 'accion': accion, 'enlace': enlace }) # 3. Renderizar rendered = template.render(c) if found: return HttpResponse(rendered) else: return HttpResponseNotFound(rendered)
def uso_put(request, nombre, cuerpo): if request.method == 'GET': page_new = Pages(nombre=nombre, page=cuerpo) page_new.save() elif request.method == 'PUT' or request.method == 'POST': page_new = Pages(nombre=nombre, page=request.body) page_new.save() return HttpResponse('Pagina introducida:')
def paginanueva(request, nombre, pagina): if request.method == "GET": p = Pages(name=nombre, page=pagina) p.save() elif request.method == "PUT": #cuando haga el put con poster acordarme de poner la barra al final que me ha dado ya error 4 veces if request.user.is_authenticated(): info = request.body p = Pages(name=nombre, page=info) p.save() respuesta = 'Todo ha ido bien' else: respuesta = 'El usuario no esta autenticado' return HttpResponse(respuesta)
def acortaurl(request, recurso): cuerpo = request.body if request.method == "GET": if recurso == "": return HttpResponse(formulario() + imprimourls()) else: try: contenido = Pages.objects.get(id=recurso) return HttpResponseRedirect(contenido.pagina) except Pages.DoesNotExist: return HttpResponseNotFound( "<h1>Pagina no encontrada:</h1><p><a href='http://127.0.0.1:8000'>formulario</a></p>" ) if request.method == "POST": resultado = "" cuerpo = request.body.split('=')[1] if cuerpo.find("http%3A%2F%2F") >= 0: cuerpo = cuerpo.split('http%3A%2F%2F')[1] cuerpo = "http://" + cuerpo if cuerpo == "": return HttpResponseNotFound(formulario() + "URL no introducida") try: contenido = Pages.objects.get(pagina=cuerpo) resultado += "URL original: " + cuerpo + " ---->URL ya acortada: " + str( contenido.id) except Pages.DoesNotExist: pagina = Pages(pagina=cuerpo) pagina.save() resultado = "<p> Pagina acortada: " + cuerpo + " </p>" + imprimourls( ) return HttpResponse( resultado + "<p><a href='http://127.0.0.1:8000'>formulario</a></p>")
def cms_users_put(request, recurso): estado = "" if request.user.is_authenticated(): estado += ("</br>Eres " + request.user.username + "<a href='/logout'>Logout</a>") else: estado += ("No estas autenticado. " + "<a href=" + "'http://127.0.0.1:8000/admin/login/'>Haz login</a>") if request.method == 'GET': try: page = Pages.objects.get(name=recurso.split("/", 1)[0]) return HttpResponse(page.page + estado) except Pages.DoesNotExist: return HttpResponseNotFound("Page not found" + estado) elif request.method == 'PUT': if request.user.is_authenticated(): newpage = Pages(name=recurso, page=request.body) newpage.save() return HttpResponse("Pagina guardada: " + request.body) else: return HttpResponse("No se puede añadir pagina " + estado) else: return HttpResponse("No esta disponible el metodo" + request.method) return HttpResponseNotFound(estado)
def mostrar_pagina(request, resource): if request.user.is_authenticated(): login = ("Logged in as " + request.user.username + ". <a href='/logout/'>Logout</a><br/><br/>") else: login = "******" if request.method == "GET": try: page = Pages.objects.get(name=resource) return HttpResponse(page.page) except Pages.DoesNotExist: respuesta = "Page not found, add: " respuesta += '<form action="" method="POST">' respuesta += "Nombre: <input type='text' name='nombre'>" respuesta += "<br>Página: <input type='text' name='page'>" respuesta += "<input type='submit' value='Enviar'></form>" elif request.method == "POST": if request.user.is_authenticated(): nombre = request.POST['nombre'] page = request.POST['page'] pagina = Pages(name=nombre, page=page) pagina.save() respuesta = "Saved page: /" + nombre + " --> " + page else: respuesta = "Necesitas hacer <a href='/login/'>Login</a>" plantilla = get_template("plantilla.html") contexto = Context({'title': login, 'content': respuesta}) return HttpResponse(plantilla.render(contexto))
def save_page(): page = Pages(title=request.form['title'], content=request.form['content']) db.session.add(page) db.session.commit() return redirect('/page/{}'.format(page.id))
def name_to_page(request, recurso): http_Auth = administracion(request) metodo = request.method if metodo == "GET": try: elementos = Pages.objects.get(name=recurso) http_Resp = elementos.page except Pages.DoesNotExist: http_Error = "<h3><font color='red'>Error! No existe dicho recurso " +\ " en el modelo Pages!</font></h3>" elif metodo == "PUT": autentificacion = request.user.is_authenticated() if autentificacion == True: try: elementos = Pages.objects.get(name=recurso) http_Error = "Cuidado! Este recurso ya esta en la base de datos!" except Pages.DoesNotExist: cuerpo = request.body new_page = Pages(name=recurso, page=cuerpo) new_page.save() http_Resp = "<p>Se ha introducido el recurso " + recurso +\ " en la base de datos.</p>" +\ "<p>Accede a la lista de a traves de /pages</p>" else: http_Error = "Error! No puedes cambiar el contenido de la pagina. " + \ "Solo usuarios que esten autentificados" else: http_Error = "<h3><font color='red'>Error! Metodo no valido. Solo " +\ "GET o PUT</font></h3>" try: return HttpResponse(http_Auth + http_Resp) except UnboundLocalError: return HttpResponse(http_Error)
def contentapp(request, resourceName): response = '<h1>Welcome to Contentapp</h1>' if request.method == "GET": try: content = Pages.objects.get(name=resourceName) return HttpResponse(response + content.page) except Pages.DoesNotExist: response += '<body> GET </body>' form = "<form action='' method='POST'>\n" form += "Page: <input type='text' name='name' value=''><br>\n" form += "Content page: <input type='text' name='page'><br>\n" form += "<input type='submit' value='enviar'>\n" form += "</form>\n" response += form return HttpResponse(response) elif request.method == "POST": response += '<body> POST </body>' newPage = Pages(name=request.POST['name'], page=request.POST['page']) newPage.save() response += "--Page: " + request.POST['name'] response += ", Content Page: " + request.POST['page'] return HttpResponse(response) elif request.method == "PUT": response += '<body> PUT </body>' (namePage, Page) = request.body.split(';') newPage = Page(name=namePage, page=Page) newPage.save() response += "--Page: " + request.POST['name'] response += ", Content Page: " + request.POST['page'] return HttpResponse(response) else: response += '<body> F*****g else </body>' return HttpResponse(response)
def mostrartemplate(request, recurso): #SOLO PUEDES HACER POST SI ESTAS AUTENTICADO if request.user.is_authenticated(): salida = "Eres " + request.user.username + " " + "<a href='/logout'>logout</a>. Puedes cambiar la page mediante un PUT<br><br>" if request.method == "PUT": p = Pages(name=recurso, page=request.body) p.save() return HttpResponse("guardada pagina, haz un get para comprobar") else: salida = "No estas logueado <a href='/admin/login/'>Login</a>. No puedes cambiar la page<br><br>" try: fila = Pages.objects.get(name=recurso) salida += request.method + " " + str( fila.id) + " " + fila.name + " " + fila.page #PLANTILLA########### # 1. Indicar la plantilla a utilizar plantilla = get_template('blue.html') # 2. Definir el contexto # MUY IMPORTANTE EN EL INDEX DEBE DE HABER LAS ETIQUETAS {{ title }} y {{ contenido }}, MIRAR EN marioz/index.html c = Context({ 'title': recurso, 'contenido': salida, 'user': request.user.username, }) # 3. Renderizar renderizado = plantilla.render(c) return HttpResponse(renderizado) except Pages.DoesNotExist: salida += "Page not found: " + recurso return HttpResponseNotFound(salida)
def processRequest(request, resource): if request.method == "GET": try: entry = Pages.objects.get(name=resource) return HttpResponse(entry.page) except Pages.DoesNotExist: return HttpResponseNotFound("Not found entry!") elif request.method == "PUT": entryNew = Pages(name=resource, page=request.body) entryNew.save() return HttpResponse("Ok !")
def handler_css(request, recurso): salida = "" if request.method == "PUT": fila = Pages(name=recurso, page=request.body) fila.save() try: fila = Pages.objects.get(name=recurso) salida += fila.page return HttpResponse(salida, content_type="text/css") except Pages.DoesNotExist: return HttpResponseNotFound('Pagina no encontrada: /%s.' % recurso)
def show(request, recurso): estado = "<br>\n<br>\n" if request.user.is_authenticated(): estado += "Eres " + request.user.username + "." estado += "<a href='/admin/logout/'>Logout</a>" else: estado += "No has hecho login. " + "<a href='/admin/'>Login</a>" fila = Pages.objects.filter(name=recurso) salida = "" found = 0 if request.method == "GET": if not fila: salida += "Pagina no encontrada" else: salida += fila[0].page found = 1 elif request.method == "PUT": if request.user.is_authenticated(): if not fila: if recurso == "": fila = Pages(name=recurso, page="Pagina principal") else: fila = Pages(name=recurso, page="Pagina de " + recurso) fila.save() salida += fila.page found = 1 else: salida += "Esta pagina ya esta almacenada" found = 1 else: salida += "Solo usuarios registrados pueden " + \ "cambiar contenido" found = 1 else: salida += "Metodo erroneo" if found: return HttpResponse(salida + estado) else: return HttpResponseNotFound(salida + estado)
def cms(request, recurso): if request.method == "GET": try: clave = Pages.objects.get(name=recurso) return HttpResponse("nombre: " + clave.name + " " + clave.page) except Pages.DoesNotExist: return HttpResponseNotFound("No encontrado recurso: " + recurso) if request.method == "PUT": p = Pages(name=recurso, page=request.body) p.save() return HttpResponse("Pagina guardada: " + request.body)
def handler(request, recurso): if request.method == "GET": try: fila = Pages.objects.get(name=recurso) out = fila.name + ": " + fila.page + "<br><hr>" + barrapunto return HttpResponse(out) except Pages.DoesNotExist: return HttpResponseNotFound("Page not found: " + recurso) if request.method == "PUT": nuevo = Pages(name=recurso, page=request.body) nuevo.save() return HttpResponse("Saved Page, check it with GET") else: return HttpResponseNotFound("Method not found: " + request.method)
def mostrar(request, recurso): if request.method == "GET": #MUESTRO DE LA BD try: fila = Pages.objects.get(name=recurso) return HttpResponse(request.method + " " + str(fila.id) + " " + fila.name + " " + fila.page) except Pages.DoesNotExist: return HttpResponseNotFound("Pagina no encontrada:" + " " + recurso) elif request.method == "PUT": #GUARDO EN LA BD nuevoRecurso = Pages(name=recurso, page=request.body) nuevoRecurso.save() return HttpResponse("Recurso guardado")
def handler(request, recurso): if request.method == "GET": try: fila = Pages.objects.get(name=recurso) return HttpResponse(fila.page) except Pages.DoesNotExist: return HttpResponseNotFound('Pagina no encontrada: /%s.' % recurso) elif request.method == "PUT": new = Pages(name=recurso, page=request.body) new.save() return HttpResponse("Guardado") else: return HttpResponseNotFound("Error en el metodo")
def handler(request, recurso): salida = "" if request.method == "PUT": page = "<html>\n\t<head>\n\t\t<link rel='stylesheet'" page += "media='screen' href='/css/name.css'/>\n\t</head>\n\n\t" page += "<body>\n\t\t" + request.body + "\n\t</body>\n</html>" fila = Pages(name=recurso, page=page) fila.save() try: fila = Pages.objects.get(name=recurso) salida += fila.page return HttpResponse(salida) except Pages.DoesNotExist: return HttpResponseNotFound('Pagina no encontrada: /%s.' % recurso)
def nuevo_recurso(request): if request.method == "GET": template = get_template('formulario.html') Context = ({}) Respuesta = template.render(Context) elif request.method == "POST": #cuando haga el put con poster acordarme de poner la barra al final que me ha dado ya error 4 veces nombre = request.POST['nombre'] try: pagina = request.POST['pagina'] except MultiValueDictKeyError: pagina = False contenido = Pages(name=str(nombre), page=str(pagina)) contenido.save() Respuesta = "Pagina creada correctamente" return HttpResponse(Respuesta)
def css(request, recurso): if request.method == "GET": #MUESTRO DE LA BD try: fila = Pages.objects.get(name=recurso) return HttpResponse(fila.page, content_type="text/css") except Pages.DoesNotExist: return HttpResponseNotFound("CSS not found: " + recurso) elif request.method == "PUT": #GUARDO EN LA BD try: p = Pages.objects.get(name=recurso) p.page = request.body except Pages.DoesNotExist: p = Pages(name=recurso, page=request.body) p.save() return HttpResponse("guardada pagina, haz un get para comprobar")
def save_info_to_database(self, soup, url): if "DOCTYPE html" in soup: print("YES") try: description = soup.find(property="og:description")["content"] title = soup.title.string except Exception: print("Image link") return if "https://" in url: ssl = 1 else: ssl = 0 domain = self.get_page_main_url(url) current_time = datetime.now() hrefs = self.get_page_hrefs(soup) pages_count = len(hrefs) outgoing_hrefs = [ self.parse_url(url, href) for href in hrefs if domain not in self.parse_url(url, href) ] outgoing_hrefs = len(outgoing_hrefs) website = Website(title=title, domain=domain, pages_count=pages_count) self.session.add(website) self.session.commit() site = self.session.query(Website).filter( Website.domain == domain).first() site.pages = [ Pages(date=current_time, url=url, title=title, desc=description, ads=outgoing_hrefs, SSL=ssl) ] self.session.commit()
def mostrar(request, recurso): #SOLO PUEDES HACER POST SI ESTAS AUTENTICADO if request.user.is_authenticated(): salida = "Eres " + request.user.username + " " + "<a href='/logout'>logout</a>. Puedes cambiar la page mediante un PUT<br><br>" if request.method == "PUT": p = Pages(name=recurso, page=request.body) p.save() return HttpResponse("guardada pagina, haz un get para comprobar") else: salida = "No estas logueado <a href='/admin/login/'>Login</a>. No puedes cambiar la page<br><br>" try: fila = Pages.objects.get(name=recurso) salida += request.method + " " + str(fila.id) + " " + fila.name + " " + fila.page return HttpResponse(salida) except Pages.DoesNotExist: salida += "Page not found: " + recurso return HttpResponseNotFound(salida)
def api_create_page(): i = ctx.request.input(alias='', name='', tags='', draft='', content='') alias = assert_not_empty(i.alias, 'alias').lower() if _RE_ALIAS.match(alias) is None: raise APIValueError('alias', 'Invalid alias.') if Pages.select_one('where alias=?', alias): raise APIValueError('alias', 'Alias already exist.') name = assert_not_empty(i.name, 'name') content = assert_not_empty(i.content, 'content') draft = i.draft.lower() == 'true' page_id = db.next_id() page = Pages( \ _id = page_id, \ alias = alias, \ content_id = texts.set(page_id, content), \ draft = draft, \ name = name, \ tags = texts.format_tags(i.tags) \ ).insert() return dict(_id=page._id)
def homePage(request): if request.method == 'GET': if request.user.is_authenticated(): respuesta = 'Hola! ' + request.user.username\ + ' <a href="/logout">Logout</a>'\ + '<br><p>Desea Crear/Editar alguna pagina?</p>'\ + '<form method="GET" action="/mod/">'\ + '<input type="submit" value="Edicion">'\ + '</form>' else: respuesta = 'Hola desconocido, desea hacer \ <a href="/login">Login</a> ?'\ '<br>Solo los usuarios logeados pueden\ editar contenidos<br>' libro = Pages.objects.all() respuesta += '<br>Paginas almacenadas actualmente:<ol>' for pagina in libro: respuesta += '<li><a href="' + pagina.name + '">'\ + pagina.name + '</a>' respuesta += '</ol>' elif request.method == 'PUT': if request.user.is_authenticated(): try: info = request.body pagina = info.split(':')[0] texto = info.split(':')[1] pagina = pagina.replace('+', ' ') texto = texto.replace('+', ' ') p = Pages(name=pagina,\ page=texto) p.save() respuesta = 'Todo Ok!' except: respuesta = 'Nada Ok... El formato debe ser... Título:\ texto. En el cuerpo del PUT' else: respuesta = 'Para crear Páginas debe logearse...' return HttpResponse(respuesta)
def dbMngt(request, resource): if request.user.is_authenticated(): logged = "Logged in as " + request.user.username \ + " <a href='/admin/logout/'>Log out</a>" else: logged = "Not logged in. \ <a href='/admin/login/?next=/admin/'>Log in</a>" if request.method == "GET": try: page = Pages.objects.get(name=resource) return HttpResponse(page.page) except Pages.DoesNotExist: return HttpResponseNotFound(logged + "<br/>" + "Page " + resource + " is not available") elif request.method == "PUT": newPage = Pages(name=resource, page=request.body) newPage.save() return HttpResponse(logged + "<br/>" + "Page " + resource + " successfully saved")
def pagina_nueva(request): logueado = administrador(request) if logueado: if request.method == "GET": # muestro el formulario template = get_template('formulario.html') return HttpResponse(template.render(Context({}))) elif request.method == "POST": nombre = request.POST['nombre'] print "Este es el nombre:" + str(nombre) cont = request.POST['contenido'] print "Este el contenido es: " + str(cont) nueva_pag = Pages(name=str(nombre), page=str(cont)) nueva_pag.save() template = get_template('plantilla.html') texto = "Pagina anadida correctamente" return HttpResponse(template.render(Context({'texto': texto}))) else: template = get_template('plantilla.html') texto = "Tienes que registrarte primero" return HttpResponse(template.render(Context({'texto': texto})))
def mostrar(request, recurso): if request.method == "GET": #MUESTRO DE LA BD try: fila = Pages.objects.get(name=recurso) plantilla = get_template('index.html') c = Context({'title': recurso, 'contenido': fila.page, 'user': request.user.username,}) renderizado = plantilla.render(c) return HttpResponse(renderizado) except Pages.DoesNotExist: return HttpResponseNotFound("Page not found: " + recurso) elif request.method == "PUT": #GUARDO EN LA BD try: p = Pages.objects.get(name=recurso) p.page = request.body except Pages.DoesNotExist: p = Pages(name=recurso, page=request.body) p.save() return HttpResponse("guardada pagina, haz un get para comprobar")
def createPage(request): print(request.method) if request.method == 'POST': print(request.body) body = request.body info = body.split('&') pagina = info[0].split('=')[1] texto = info[1].split('=')[1] pagina = pagina.replace('+', ' ') texto = texto.replace('+', ' ') pageAux = Pages(name=pagina, page=texto) pageAux.save() respuesta = 'Pagina Almecenada adecuadamente, continuemos!'\ + '<meta http-equiv="Refresh" content="2;\ url=http://127.0.0.1:8000/mod/">' else: respuesta = 'Página no permitida, redirigiendo...'\ + '<meta http-equiv="Refresh" content="3;\ url=http://127.0.0.1:8000/">' return HttpResponse(respuesta)
def handler(request, recurso): salida = "" if request.method == "PUT": if request.user.is_authenticated(): fila = Pages(name=recurso, page=request.body) fila.save() else: salida += "No puedes crear una pagina sin estar registrado" return HttpResponse(salida) try: fila = Pages.objects.get(name=recurso) if request.user.is_authenticated(): salida += "Estas registrado. Eres " + request.user.username + "" salida += " <br><a href='logout'>Logout</a><br><br>" else: salida += "No estas registrado -> " salida += "<a href='/admin/login/'>Autenticate</a><br><br>" salida += fila.page return HttpResponse(salida) except Pages.DoesNotExist: return HttpResponseNotFound('Pagina no encontrada: /%s.' % recurso)
def page_searching(request, resource): cont_type = "text/html" if request.method == 'GET': try: #Para asegurar que el navegador aplica la hoja de estilos if resource == 'css/main.css': cont_type = "text/css" pageSearched = Pages.objects.get(name=resource) response = pageSearched.page return HttpResponse(response, content_type=cont_type) except Pages.DoesNotExist: return HttpResponseNotFound('<h1>' + resource + ' not found.</h1>') elif request.method == 'POST': newPage = Pages(name=resource, page=request.body) newPage.save() return HttpResponse('<h1>Page added successfully.</h1>') else: return HttpResponse('<h1>Invalid method.</h1>')