#! /usr/bin/python3 import subprocess import sys import os import re from lector_notas import LectorNotasCSV #Get the path to the main dir BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) subprocess.call(["unoconv", "-f", "csv", "-e", "FilterOptions=44,34,76", "-o", "/tmp/listado.csv", "%s"%os.path.join(BASE_DIR, 'Listado.ods')]) ln = LectorNotasCSV('/tmp/listado.csv') with open("/tmp/listado.csv", 'r') as archivo: ll = archivo.readlines() def check_float(s): if re.match('^[0-9]+\.+[0-9]+$', s): return '{0:3.2f}'.format(float(s)) else: return s notas = open(os.path.join(BASE_DIR, 'FormatoNotas/notas.cvs'),'w') ltex = "%% ESTE ES EL ARCHIVO PARA LA TABLA \n" for ind,l in enumerate(ll[:-1]): lsep = l.split(',') if ind > 0: obs = ln.observaciones(ind - 1)[0]
argus.add_argument('-s', '--subject', type=str, help="El asunto del correo a enviar.") args = argus.parse_args() #CONVERTIMOS EL ARCHIVO A CSV subprocess.call(["unoconv", "-f", "csv", "-e", "FilterOptions=44,34,76", "-o", "/tmp/listado.csv", "%s"%"Listado.ods"]) #aca pongo el examen que quiero #es necesario porque de ahi saco los correos validos if args.exanum == None: examen_num = None else: examen_num = args.exanum with open("/tmp/listado.csv", 'r') as archivo: L = LectorNotasCSV(archivo) # DATA IN THIS ORDER NAME, GRADE, EMAIL --- if examen_num is not None: grades = L.notas(examen_num) # IN ORDER TO GET THE PERCENTILES WE NEED TO SORT THE GRADES grades.sort() #La lista de los destinatarios (posiblemente diferente debido a los correos mal #ingreados al sistema) if args.to_all: if args.correos == None: raise ValueError('No hay Correos y --hoysi es True') else: ListaDestinatarios = L.correos_validos(examen_num, campos=args.correos)
import sys import os import re from lector_notas import LectorNotasCSV #Get the path to the main dir BASE_DIR = os.path.dirname( os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) subprocess.call([ "unoconv", "-f", "csv", "-e", "FilterOptions=44,34,76", "-o", "/tmp/listado.csv", "%s" % os.path.join(BASE_DIR, 'Listado.ods') ]) ln = LectorNotasCSV('/tmp/listado.csv') notas_finales_col = ln.nombre_nota_final() Lista = ['NÂș', 'Cuenta', 'Nombre Completo', 'Exa1', 'Exa2', 'Exa3', 'Final'] col_lst = ln.get_col_index(Lista) with open("/tmp/listado.csv", 'r') as archivo: ll = archivo.readlines() def check_float(s): if re.match('^[0-9]+\.+[0-9]+$', s): return '{0:3.2f}'.format(float(s)) else: return s
unoconv_proc = subprocess.Popen([ "unoconv", "-f", "csv", "-e", "FilterOptions=44,34,76", "-o", "/tmp/listado.csv", "%s" % "Listado.ods" ]) unoconv_proc.wait() #aca pongo el examen que quiero #es necesario porque de ahi saco los correos validos if args.exanum == None: examen_num = None else: examen_num = args.exanum with open("/tmp/listado.csv", 'r') as archivo: L = LectorNotasCSV(archivo) # DATA IN THIS ORDER NAME, GRADE, EMAIL --- if examen_num is not None: grades = L.notas(examen_num) # IN ORDER TO GET THE PERCENTILES WE NEED TO SORT THE GRADES grades.sort() #La lista de los destinatarios (posiblemente diferente debido a los correos mal #ingreados al sistema) if args.to_all: if args.correos == None: raise ValueError('No hay Correos y --hoysi es True') else: ListaDestinatarios = L.correos_validos(examen_num, campos=args.correos) else: