示例#1
0
文件: apiapp.py 项目: senen2/teach
def AgregaPreguntaA(email, clave, idtexto):
    bd = DB(nombrebd="aprende")
    usuario = login(email, clave, bd)
    resp = {}
    if usuario:
        if duenoPagina(idtexto, bd) == usuario['ID']:
            rows = bd.Ejecuta(
                "select orden from preguntas where idtexto=%s order by orden desc limit 1"
                % idtexto)

            orden = 1
            if rows:
                orden = rows[0]['orden'] + 1

            bd.Ejecuta(
                "insert into preguntas (idtexto, orden) values(%s, %s)" %
                (idtexto, orden))
            idpregunta = bd.UltimoID()
            bd.Ejecuta(
                "insert into posibles (idpregunta, texto) values(%s, 'A')" %
                idpregunta)
            bd.Ejecuta(
                "insert into posibles (idpregunta, texto) values(%s, 'B')" %
                idpregunta)
            bd.Ejecuta(
                "insert into posibles (idpregunta, texto) values(%s, 'C')" %
                idpregunta)

            resp['id'] = idpregunta
            resp['preguntas'] = leePreguntas(idtexto, bd)

    bd.cierra()
    return resp
示例#2
0
def LeeProvPendP(email, clave):
    bd = DB(nombrebd="textos")
    usuario = login(email, clave, bd)
    if usuario:
        usuario["pendientes"] = bd.Ejecuta("""
            select *, telefono, direccion, pedicab.id as ID, 'X' as despachar 
            from pedicab inner join cli on cli.id=pedicab.idcli
            where idprov=%s and pendiente=1
            """ % usuario['id'])
        bd.cierra()
        return usuario
    bd.cierra()
    return None

    # def LeePedidoP(email, clave, idpedido):
    bd = DB(nombrebd="textos")
    usuario = login(email, clave, bd)
    if usuario:
        tabla = "prod%s" % usuario['id']
        rows = bd.Ejecuta("""
            select prod.*, cantidad, pedidet.id as idpedidet 
            from pedidet inner join %s as prod on prod.id=pedidet.idproducto
            where pedidet.idpedicab=%s
            """ % (tabla, idpedido))
        bd.cierra()
        return rows
    bd.cierra()
    return None
示例#3
0
def querys_done():
    bd = DB()
    querysDone = bd.Ejecuta("SELECT idTerm FROM positions GROUP BY idTerm")
    if querysDone:
        for a in querysDone:
            bd.Ejecuta("""update terms set state=%s where id = %s """ %
                       (0, int(a["idTerm"])))
    bd.cierra()
示例#4
0
def querys_done2():
    bd = DB()
    querysDone = bd.Ejecuta("select term from positions group by term")
    if querysDone:
        for a in querysDone:
            bd.Ejecuta(
                """update terms set term="%s", state=%s where term = "%s" """ %
                (a["term"].encode("utf-8"), 0, a["term"].encode("utf-8")))
    bd.cierra()
示例#5
0
def GrabaNodoRuta(email, ip, funcion, pag):
    bd = DB()
    usuario = bd.Ejecuta("select * from usuarios where email=%s" % email)
    if usuario:
        usuario = usuario[0]
    else:
        usuario = dict()
        usuario["ID"] = 0
    bd.Ejecuta(
        "insert into rutas (IDusuario, ip, funcion, pag, fecha) values (%s,'%s','%s','%s',sysdate())"
        % (usuario["ID"], ip, funcion[:255], pag))
    bd.cierra()
示例#6
0
文件: apiapp.py 项目: senen2/teach
def CreaUsuarioA(email, clave, nombre, modo, lang):
    bd = DB(nombrebd="aprende")
    rows = bd.Ejecuta("select * from usuarios where email='%s'" % email)
    resp = "x"
    if not rows:
        bd.Ejecuta(
            "insert into usuarios (nombre, email, clave, modo, lang) values ('%s','%s','%s','%s','%s')"
            % (nombre, email, clave, modo, lang))
        resp = "ok"

    bd.cierra()
    return resp
示例#7
0
def CambiaCampoP(email, clave, datos):
    # print("llega SubeArchivoP", datos['texto'])
    bd = DB(nombrebd="textos")
    if datos['tabla'] == 'prov':
        usuario = login(email, clave, bd)
        if usuario:
            bd.Ejecuta("update prov set %s='%s' where id=%s" %
                       (datos['nombre'], datos['val'], usuario['id']))
    elif datos['tabla'] == 'cli':
        bd.Ejecuta("update cli set %s='%s' where telefono='%s'" %
                   (datos['nombre'], datos['val'], datos['telefono']))

    bd.cierra()
示例#8
0
文件: apiapp.py 项目: senen2/teach
def ModificaTituloA(email, clave, idtexto, titulo):
    bd = DB(nombrebd="aprende")
    usuario = login(email, clave, bd)
    resp = None
    if usuario:
        if duenoPagina(idtexto, bd) == usuario['ID']:
            bd.Ejecuta("update paginas set titulo='%s' where id=%s" %
                       (titulo, idtexto))
            resp = bd.Ejecuta(
                "select *, id as ID, titulo as nombre from paginas where idusuario=%s"
                % usuario['ID'])
    bd.cierra()
    return resp
示例#9
0
文件: apiapp.py 项目: senen2/teach
def CreaTextoA(email, clave):
    bd = DB(nombrebd="aprende")
    usuario = login(email, clave, bd)
    resp = {}
    if usuario:
        bd.Ejecuta("insert into paginas (idusuario, texto) values (%s, '')" %
                   usuario['ID'])
        resp['id'] = bd.UltimoID()
        resp["textos"] = bd.Ejecuta(
            "select *, id as ID, titulo as nombre from paginas where idusuario=%s"
            % usuario['ID'])

    bd.cierra()
    return resp
示例#10
0
def DespacharP(email, clave, idtextosdo):
    bd = DB(nombrebd="textos")
    usuario = login(email, clave, bd)
    if usuario:
        bd.Ejecuta("update pedicab set pendiente=0 where id=%s" % idpedido)
        usuario["pendientes"] = bd.Ejecuta("""
            select *, telefono, direccion, pedicab.id as ID, 'X' as despachar 
            from pedicab inner join cli on cli.id=pedicab.idcli
            where idprov=%s and pendiente=1
            """ % usuario['id'])
        bd.cierra()
        return usuario
    bd.cierra()
    return None
示例#11
0
def ReadLikesP(idprov, values):
    bd = DB(nombrebd="textos")
    tabla = "prod%s" % idprov
    v = values.strip()
    if v:
        v = v.split()
        s = "like '%" + v[0] + "%'"
        s = s + ''.join([" and nombre like '%" + x + "%'" for x in v[1:]])
        print("select ID, nombrefrom %s where nombre %s limit 8" % (tabla, s))
        response = bd.Ejecuta(
            "select ID, nombre from %s where nombre %s limit 8" % (tabla, s))
    else:
        response = bd.Ejecuta("select ID, nombre from %s where 1=2" % tabla)
    bd.cierra()
    return response
示例#12
0
文件: apiapp.py 项目: senen2/teach
def LeeCuadernosA(email, clave):
    bd = DB(nombrebd="aprende")
    usuario = login(email, clave, bd)
    response = {}
    if usuario:
        response['usuario'] = usuario
        if usuario['modo'] == 'E':
            response["niveles"] = bd.Ejecuta("select *, id as ID from niveles")
            response["materias"] = bd.Ejecuta(
                "select *, id as ID from materias")
            response["cuadernos"] = bd.Ejecuta(
                "select *, id as ID from cuadernos where idmaestro=%s order by nombre"
                % usuario['ID'])
    bd.cierra()
    return response
示例#13
0
def new_querys():
    bd = DB()
    querys = bd.Ejecuta("select term from terms")
    querysDone = bd.Ejecuta(
        "select suggested as term from suggesteds group by suggested")
    for a in querys:
        for b in querysDone:
            if a["term"] == b["term"]:
                querysDone.remove(b)

    if querysDone:
        for a in querysDone:
            bd.Ejecuta("""insert into terms (term, state) values("%s",%s)""" %
                       (a["term"].encode("utf-8"), 1))
    bd.cierra()
示例#14
0
def save_tags(tags):
    bd = DB()
    for a in tags:
        bd.Ejecuta(
            """insert into pagescrawl (idPositions, position, type, text) values(%s,%s,"%s","%s")"""
            % (a[0], a[1], a[2].encode("utf-8"), a[3].encode("utf-8")))
    bd.cierra()
示例#15
0
def get_page_optz():
    bd = DB()
    toDo = bd.Ejecuta(
        """SELECT positions.id AS idPositions, positions.term, positions.url 
                        FROM positions
                            JOIN pagescrawltext ON positions.id = pagescrawltext.idPositions
                            LEFT JOIN consolidatedpagescrawl ON consolidatedpagescrawl.idPositions=pagescrawltext.idPositions
                            LEFT JOIN badurl ON positions.id = badurl.idPositions 
                        WHERE badurl.id IS NULL 
                            AND pagescrawltext.idPositions IS NOT NULL
                            AND consolidatedpagescrawl.id IS NULL""")
    #     done = bd.Ejecuta("SELECT idPositions FROM consolidatedPagescrawl GROUP BY idPositions")
    #     badUrl = bd.Ejecuta("SELECT idPositions FROM badurl WHERE fix = 0 GROUP BY idPositions")
    #     for a in done:
    #         for b in toDo:
    #             if a["idPositions"] == b["idPositions"]:
    #                 toDo.remove(b)
    #                 break
    #     for a in badUrl:
    #         for b in toDo:
    #             if a["idPositions"] == b["idPositions"]:
    #                 toDo.remove(b)
    #                 break
    bd.cierra()
    if toDo:
        return toDo
    else:
        return []
示例#16
0
def get_count_domain():
    bd = DB()
    data = bd.Ejecuta(
        "SELECT idDomain,COUNT(idDomain) AS c FROM consolidatedpagescrawl GROUP BY idDomain"
    )
    bd.cierra()
    return data
示例#17
0
def save_page_optz(idPositions, urlDomain, optzUrl, optzTitle, optzH1, PA):
    bd = DB()
    bd.Ejecuta(
        """insert into consolidatedpagescrawl (idPositions, isHomePage, urlOptz, titleTagOptz, h1Optz, pageAuthority) 
                    values(%s,%s,%s,%s,%s,%s)""" %
        (idPositions, urlDomain, optzUrl, optzTitle, optzH1, PA))
    bd.cierra()
示例#18
0
def get_terms_for_vol():
    bd = DB()
    querys = bd.Ejecuta(
        "SELECT id, term,googleState FROM terms WHERE googleState = 1 LIMIT 0, 900"
    )
    bd.cierra()
    return querys
示例#19
0
def EnviarPedP(datos):
    bd = DB(nombrebd="textos")
    tabla = "prod%s" % datos['idprov']
    bd.Ejecuta(
        "insert into juricab (idprov, idcli, fecha) values(%s, %s, now())" %
        (datos['idprov'], datos['idcli']))
    idped = bd.UltimoID()
    s = 0
    for row in datos['ped']:
        bd.Ejecuta(
            "insert into pedidet (idpedicab, idproducto, cantidad, precio) values(%s, %s, %s, %s)"
            % (idped, row['id'], row['cantidad'], row['precio']))
        s += float(row['cantidad']) * float(row['precio'])
    bd.Ejecuta("update pedicab set valor=%s where id=%s" % (s, idped))

    bd.cierra()
示例#20
0
文件: apiapp.py 项目: senen2/teach
def LeeHorarioA(email, clave, idusuario):
    bd = DB(nombrebd="aprende")
    usuario = login(email, clave, bd)
    resp = {}
    if usuario:
        resp['horario'] = bd.Ejecuta(
            "select *, cast(horat as char) as horac from horarios where idusuario=%s and activo=1 order by dia, horat"
            % usuario['ID'])
        resp['horas'] = bd.Ejecuta(
            "select cast(horat as char) as horac from horarios where idusuario=%s and activo=1 group by horat"
            % usuario['ID'])
        resp['dias'] = bd.Ejecuta(
            "select distinct dia from horarios where idusuario=%s and activo=1 order by dia"
            % usuario['ID'])
    bd.cierra()
    return resp
示例#21
0
def get_page_data(idPositions):
    bd = DB()
    data = bd.Ejecuta(
        "select position, type, text from pagescrawl where idPositions=" +
        str(idPositions))
    bd.cierra()
    return data
示例#22
0
def LeeUltTextoJ(num):
    bd = DB(nombrebd="textos")
    # rows = bd.Ejecuta("select * from docs where num=%s"%num)
    rows = bd.Ejecuta(
        "select parrafos.* from parrafos inner join docs on docs.id=parrafos.iddoc where num=%s"
        % num)
    bd.cierra()
    return rows
示例#23
0
def SubeArchivo(datos):
    bd = DB(nombrebd="textos")
    texto1 = pdf(datos['filename'])
    capitulo = "capitulo 1"
    texto = texto1.replace("'", "''")
    bd.Ejecuta("insert into docs (titulo, num) values('%s', %s)" %
               (capitulo, datos['num']))
    iddoc = bd.UltimoID()

    text = texto.split('\n')
    # bd.Ejecuta("truncate table parrafos")
    for p in text:
        if p.strip():
            bd.Ejecuta("insert into parrafos (iddoc, texto) values(%s, '%s')" %
                       (iddoc, p))
    bd.cierra()
    return texto
示例#24
0
def LeeProductoP(idprov, idproducto):
    bd = DB(nombrebd="textos")
    tabla = "prod%s" % idprov
    rows = bd.Ejecuta("select * from %s where id='%s'" % (tabla, idproducto))
    if rows:
        return rows[0]

    bd.cierra()
示例#25
0
def check_domain(domain):
    bd = DB()
    data = bd.Ejecuta("SELECT id FROM domains WHERE url='" + domain + "'")
    bd.cierra()
    if data:
        return data[0]
    else:
        return []
示例#26
0
def LeeCliP(telefono):
    bd = DB(nombrebd="textos")

    rows = bd.Ejecuta("select * from cli where telefono='%s'" % telefono)
    if not rows:
        bd.Ejecuta("insert into cli (telefono) values ('%s')" % telefono)
        bd.commit()
        rows = bd.Ejecuta("select * from cli where telefono='%s'" % telefono)

    if rows:
        response = {}
        response['cli'] = rows[0]
        response['prov'] = bd.Ejecuta(
            "select *, id as ID from prov where activo=1 order by nombre")
        return response

    bd.cierra()
示例#27
0
文件: apiapp.py 项目: senen2/teach
def AgregaPosibleA(email, clave, idpregunta):
    bd = DB(nombrebd="aprende")
    resp = None
    usuario = login(email, clave, bd)
    if usuario:
        rows = bd.Ejecuta("select idtexto from preguntas where id=%s" %
                          idpregunta)
        if rows:
            idtexto = rows[0]['idtexto']
            if duenoPregunta(idpregunta, bd) == usuario['ID']:
                bd.Ejecuta(
                    "insert into posibles (idpregunta, texto) values(%s, 'X')"
                    % idpregunta)
                resp = leePreguntas(idtexto, bd)

    bd.cierra()
    return resp
示例#28
0
def get_count_positions():
    bd = DB()
    data = bd.Ejecuta("""SELECT COUNT(positions.id) AS c 
                        FROM positions 
                        JOIN consolidatedpagescrawl ON positions.id = consolidatedpagescrawl.idPositions"""
                      )
    bd.cierra()
    return data[0]["c"]
示例#29
0
def GrabaNodoRuta(email, ip, funcion, pag):
    bd = DB()
    usuario = bd.Ejecuta("select * from usuarios where email=%s" % email)
    if usuario:
        usuario = usuario[0]
    else:
        usuario = dict()
        usuario["ID"] = 0
    funcion = funcion.decode("utf8").encode("utf8")
    # print(funcion)
    bd.Ejecuta(
        "insert into rutas (IDusuario, ip, funcion, pag, fecha) values (%s,'%s','%s','%s',sysdate())"
        % (usuario["ID"], ip, funcion, pag))
    # idusuario = usuario['ID']
    # bd.c.execute("""insert into rutas (IDusuario, ip, funcion, pag, fecha) values (%s,'%s','%s','%s',sysdate())""",
    # 		 (idusuario, ip, funcion, pag))
    bd.cierra()
示例#30
0
def save_suggested(idTerm, query, suggested):
    bd = DB()
    for a in suggested:
        bd.Ejecuta(
            """insert into suggesteds (idTerm,term, position, suggested, date) values(%s,"%s",%s,"%s", UTC_TIMESTAMP())"""
            % (idTerm, query.encode("utf-8"), a["position"],
               a["suggested"].encode("utf-8")))
    bd.cierra()