コード例 #1
0
ファイル: alertas-q.py プロジェクト: pablodf/diagnose
def main():
    # Leer opciones de Diagnose
    host = try_(pymy.get_host())
    # Conectar con base de datos
    conn, cur = try_(pymy.get_conn_cursor(host))
    # Pedir al usuario el número de alerta
    e = try_(alertas.get_id())
    # Buscar alerta en la base de datos
    er = alertas.get_record(cur, e)
    if er:
        ers = alertas.ALERTA.format(**er)
        print echo(ers)
        raw_input()

        logpath = get_cfg()
        if not logpath:
            logpath = './'
        elif '%DBOX%' in logpath:
            dbox = dropbox.get_dropbox_folder() or './'
            logpath = logpath.replace('%DBOX%', dbox)
        if os.path.isdir(logpath):
            fn = os.path.normpath(os.path.join(logpath, 'alertas.txt'))
            with open(fn, 'w') as f:
                f.write(ers)
                os.startfile(fn)
    else:
        print echo('No se encuentra el número de error'), e
        waitnquit(1)
コード例 #2
0
ファイル: rep-diag-frec.py プロジェクト: pablodf/diagnose
def __main__():
    op = opciones.diagnose_opciones()
    if not op:
        print echo('No se encuentran las opciones de conexión. No se puede conectar a la base de datos de Diagnose.')
        exit(1)

    print echo('Escriba las fechas en formato AAAA/MM/DD para filtrar la búsqueda.\nDeje vacía la pregunta si no desea filtrar por fecha.')
    dt0 = get_dt('Fecha desde')
    dt1 = get_dt('Fecha hasta')

    print 'Conectando a la base de datos...'
    host = pymy.get_host()
    conn, cur = pymy.get_conn_cursor(host)

    print 'Servicios disponibles:'
    data = find_servs(cur)
    serv = get_serv(data)
    servname = serv and [i['detalle'] for i in data if i['id'] == serv][0] or None

    sql = makesearch(dt0, dt1, serv)
    print 'Consultando...'
    cur.execute(sql)
    print 'Recuperando datos...'
    data = cur.fetchall()
    print 'Listo.'

    print2screen(data)
    html = makehtml(op, dt0, dt1, servname)
    print2html(html, data)
コード例 #3
0
ファイル: rep-diag-frec.py プロジェクト: pablodf/diagnose
def __main__():
    op = opciones.diagnose_opciones()
    if not op:
        print echo(
            'No se encuentran las opciones de conexión. No se puede conectar a la base de datos de Diagnose.'
        )
        exit(1)

    print echo(
        'Escriba las fechas en formato AAAA/MM/DD para filtrar la búsqueda.\nDeje vacía la pregunta si no desea filtrar por fecha.'
    )
    dt0 = get_dt('Fecha desde')
    dt1 = get_dt('Fecha hasta')

    print 'Conectando a la base de datos...'
    host = pymy.get_host()
    conn, cur = pymy.get_conn_cursor(host)

    print 'Servicios disponibles:'
    data = find_servs(cur)
    serv = get_serv(data)
    servname = serv and [i['detalle']
                         for i in data if i['id'] == serv][0] or None

    sql = makesearch(dt0, dt1, serv)
    print 'Consultando...'
    cur.execute(sql)
    print 'Recuperando datos...'
    data = cur.fetchall()
    print 'Listo.'

    print2screen(data)
    html = makehtml(op, dt0, dt1, servname)
    print2html(html, data)
コード例 #4
0
ファイル: alertas-q.py プロジェクト: pablodf/diagnose
def main():
    # Leer opciones de Diagnose
    host = try_(pymy.get_host())
    # Conectar con base de datos
    conn, cur = try_(pymy.get_conn_cursor(host))
    # Pedir al usuario el número de alerta
    e = try_(alertas.get_id())
    # Buscar alerta en la base de datos
    er = alertas.get_record(cur, e)
    if er:
        ers = alertas.ALERTA.format(**er)
        print echo(ers)
        raw_input()

        logpath = get_cfg()
        if not logpath:
            logpath = './'
        elif '%DBOX%' in logpath:
            dbox = dropbox.get_dropbox_folder() or './'
            logpath = logpath.replace('%DBOX%', dbox)
        if os.path.isdir(logpath):
            fn = os.path.normpath(os.path.join(logpath, 'alertas.txt'))
            with open(fn, 'w') as f:
                f.write(ers)
                os.startfile(fn)
    else:
        print echo('No se encuentra el número de error'), e
        waitnquit(1)
コード例 #5
0
ファイル: rep-farmacia-os.py プロジェクト: pablodf/diagnose
def __main__():
    op = opciones.diagnose_opciones()
    if not op:
        print echo('No se encuentran las opciones de conexión. No se puede conectar a la base de datos de Diagnose.')
        exit(1)

    print echo('Escriba las fechas en formato AAAA-MM-DD para filtrar la búsqueda.\nDeje vacía la pregunta si no desea filtrar por fecha.')
    dt0 = get_dt('Fecha desde')
    dt1 = get_dt('Fecha hasta')

    print 'Conectando a la base de datos...'
    host = pymy.get_host()
    conn, cur = pymy.get_conn_cursor(host)

    sql = makesearch(dt0, dt1)
    print 'Consultando...'
    cur.execute(sql)
    print 'Recuperando datos...'
    data = cur.fetchall()
    print 'Listo.'

    html = makehtml(op, dt0, dt0)
    print2html(html, data)
コード例 #6
0
def __main__():
    op = opciones.diagnose_opciones()
    if not op:
        print echo('No se encuentran las opciones de conexión. No se puede conectar a la base de datos de Diagnose.')
        exit(1)

    # Búsqueda por fecha
    print echo('Escriba las fechas en formato AAAA-MM-DD para filtrar la búsqueda.\nDeje vacía la pregunta si no desea filtrar por fecha.')
    dt0 = get_dt('Fecha desde')
    dt1 = get_dt('Fecha hasta')

    print 'Conectando a la base de datos...'
    host = pymy.get_host()
    conn, cur = pymy.get_conn_cursor(host)

    sql = makesearch(dt0, dt1)
    print 'Consultando...'
    cur.execute(sql)
    print 'Recuperando datos...'
    data = cur.fetchall()
    print 'Listo.'

    html = makehtml(op, dt0, dt1)
    print2html(html, data)
コード例 #7
0
ファイル: rep-odonto-prof.py プロジェクト: pablodf/diagnose
sql = """SELECT c.codigo, dt_fecha, COUNT(*) AS q
FROM atencion a
JOIN turnos t ON t.idturno = a.idturno
JOIN ci10 c ON a.code = c.ID
WHERE t.baja = '0'
AND t.IdPerson = {person}
AND t.tipo_Estudio = {odonto}
AND a.baja = 0
AND desc_red = 'odontologia'
AND YEAR(dt_fecha) = {y} AND MONTH(dt_fecha) = {m}
GROUP BY c.codigo, dt_fecha;"""

params = get_ym()
print 'Conectando a la base de datos...'
host = pymy.get_host()
conn, cur = pymy.get_conn_cursor(host)
print 'Indique profesional:'
prof = get_prof(cur)
params.update(prof)
sql = sql.format(**params)
print 'Consultando...'
cur.execute(sql)
print 'Recuperando datos...'
data = list(cur.fetchall())
print 'Listo.'

codigos = sorted(list(dict([(rec[u'codigo'], 1) for rec in data])))
q = dict()
for c in codigos:
    q[c] = Counter()
コード例 #8
0
#!/usr/bin/env python

from pydiag import pymy

host = pymy.get_host()
if host:
    conn, cur = pymy.get_conn_cursor(host)
    cur.execute("SELECT Codigo, Detalle, Sector FROM common "
                "WHERE Tipo IN ('servicios_p', 'servicios_n') "
                "AND Subsector = '5'")
    servs = dict()
    for rec in cur.fetchall():
        servs[rec['Codigo']] = rec['Sector']

    sql = "UPDATE servicios SET codigo = CONCAT(codigo, '.{}.5')) WHERE codigo = '{}';"
    for codigo, sector in servs.items():
        cur.execute(sql.format(sector, codigo))
コード例 #9
0
ファイル: efector-q.py プロジェクト: pablodf/diagnose
# -*- coding: latin-1 -*-
from pydiag import pymy
from spiutils.utils import echo

conn, cur = pymy.get_conn_cursor(server=pymy.get_host(), db="hmi2")

while 1:
    s = raw_input("Buscar por nombre (N) o localidad (L)? ").strip().upper()
    if s == "N":
        question = "Nombre del efector"
        search = "SELECT * FROM hmi2.efectores WHERE nom_efector LIKE '%{0}%' OR nom_red_efector LIKE '%{0}%'"
    elif s == "L":
        question = "Localidad"
        search = (
            "SELECT hmi2.efectores.* FROM hmi2.efectores "
            "JOIN hmi2.localidades ON hmi2.efectores.id_localidad = hmi2.localidades.id_localidad "
            "WHERE hmi2.localidades.nom_loc LIKE '%{0}%'"
        )
    else:
        break
    while 1:
        r = raw_input(question + ": ").strip().upper()
        if r:
            cur.execute(search.format(r))
            i = 0
            for find in cur.fetchall():
                print "{id_efector:3} {nom_efector} ({nom_red_efector})".format(**find).decode("latin-1")
                i += 1
            print "-" * 16
            print i, "efector(es)"
            print "-" * 16
コード例 #10
0
def connect():
    print 'Conectando a la base de datos...'
    host = pymy.get_host()
    conn, cur = pymy.get_conn_cursor(host)
    return conn, cur
コード例 #11
0
# -*- coding: latin-1 -*-
from pydiag import pymy
from spiutils.utils import echo

conn, cur = pymy.get_conn_cursor(server=pymy.get_host(), db='hmi2')

while 1:
    s = raw_input('Buscar por nombre (N) o localidad (L)? ').strip().upper()
    if s == 'N':
        question = 'Nombre del efector'
        search = "SELECT * FROM hmi2.efectores WHERE nom_efector LIKE '%{0}%' OR nom_red_efector LIKE '%{0}%'"
    elif s == 'L':
        question = 'Localidad'
        search = "SELECT hmi2.efectores.* FROM hmi2.efectores " \
                 "JOIN hmi2.localidades ON hmi2.efectores.id_localidad = hmi2.localidades.id_localidad " \
                 "WHERE hmi2.localidades.nom_loc LIKE '%{0}%'"
    else:
        break
    while 1:
        r = raw_input(question + ': ').strip().upper()
        if r:
            cur.execute(search.format(r))
            i = 0
            for find in cur.fetchall():
                print '{id_efector:3} {nom_efector} ({nom_red_efector})'.format(
                    **find).decode('latin-1')
                i += 1
            print '-' * 16
            print i, 'efector(es)'
            print '-' * 16
        else: