#!usr/bin/env python
# -*- coding: utf-8 -*-

import web
import os
import re
from funciones import *
from complemento import *
from datetime import *
from definiciones import *
from web import form

#configuracion
web.config.debug = False

#direcciones utilizadas
urls = (
  '/', 'index',
  '/integrantes/','integrantes',
  '/toppalabras/','toppalabras',
  '/pormensajes/','pormensajes',
  '/censurar/','censurar',
  '/filtrar/','filtrar'
)

#ubicacion del sitio template
render = web.template.render('templates/')
class index:
    def GET(self):
        return str(render.header("index"))+str(render.home(nombre,slogan,web.archnom))+str(render.footer())
    def POST(self):
        web.archnom=str(web.input()["name"])
        encode(web.archnom+".txt",web.archnom+"_OK.txt")
        web.archnom=web.archnom+"_OK"
        return str(render.header("index"))+str(render.home(nombre,slogan,web.archnom))+str(render.footer())

class integrantes:
  def GET(self):
    if web.archnom!="":
      return str(render.header("integrantes"))+str(render.integrantes(listar_integrantes(web.archnom)))+str(render.footer())
    else:
      return str(render.header("index"))+str(render.noingresado())+str(render.footer())

class toppalabras:
  def GET(self):
    if web.archnom!="":
      return str(render.header("toppalabras"))+str(render.toppalabras(topN_palabras(web.archnom,10),10))+str(render.footer())
    else:
      return str(render.header("index"))+str(render.noingresado())+str(render.footer())
  def POST(self):
    x=int(web.input()["nume"])
    return str(render.header("toppalabras"))+str(render.toppalabras(topN_palabras(web.archnom,x),x))+str(render.footer())

class pormensajes:
  def GET(self):
    if web.archnom!="":
      return str(render.header("pormensajes"))+str(render.pormensajes(listar_por_mensajes(web.archnom)))+str(render.footer())
    else:
      return str(render.header("index"))+str(render.noingresado())+str(render.footer())
class censurar:
  def GET(self):
    if web.archnom!="":
      palabra=""
      return str(render.header("censurar"))+str(render.censurar(palabra))+str(render.footer())
    else:
      return str(render.header("index"))+str(render.noingresado())+str(render.footer())
  def POST(self):
    palabra=str(web.input()["pala"])
    chat_censurar(web.archnom,palabra)
    return str(render.header("censurar"))+str(render.censurar(palabra))+str(render.footer())

class filtrar:
  def GET(self):
    if web.archnom!="":
      userr="";archinew="";lista=listar_integrantes(web.archnom)
      return str(render.header("filtrar"))+str(render.filtrar(userr,archinew,lista))+str(render.footer())
    else:
      return str(render.header("index"))+str(render.noingresado())+str(render.footer())
  def POST(self):
    lista=listar_integrantes(web.archnom)
    userr=str(web.input()["usrr"])
    chat_filtrar(web.archnom,userr)
    archinew=web.archnom+"_sin_"+userr+".txt"
    return str(render.header("filtrar"))+str(render.filtrar(userr,archinew,lista))+str(render.footer())

#pagina no encontrada
def notfound():
    return web.notfound(str(render.header("index"))+str(render.notfound())+str(render.footer()))

if __name__ == "__main__":
    app = web.application(urls, globals())
    app.notfound = notfound
    web.archnom=""
    app.run()
    #if web.archnom=="":
    #  return str(render.header("index"))+str(render.noingresado())+str(render.footer())