Referencias para desarrollo¶
Esta sección contiene documentación autogenerada a partir del código fuente.
Modelos¶
-
class
elecciones.models.
AgrupacionCircuito
(id, circuito, agrupacion)¶ - Parámetros
id (AutoField) – Id
circuito (ForeignKey to
Circuito
) – Circuitoagrupacion (ForeignKey to
AgrupacionCircuitos
) – Agrupacion
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
AgrupacionCircuitos
(*args, **kwargs)¶ Representa un conjunto de circuitos que se computarán juntos a los efectos de una proyección.
- Parámetros
id (AutoField) – Id
nombre (CharField) – Nombre
proyeccion (ForeignKey to
TecnicaProyeccion
) – Proyeccionminimo_mesas (PositiveIntegerField) – Minimo mesas
circuitos (ManyToManyField) – Circuitos
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
Carga
(*args, **kwargs)¶ Es el contenedor de la carga de datos de un fiscal Define todos los datos comunes (fecha, fiscal, mesa, categoría) de una carga, y contiene un conjunto de objetos
VotoMesaReportado
para las opciones válidas en la mesa-categoría.- Parámetros
id (AutoField) – Id
created (AutoCreatedField) – Creado
modified (AutoLastModifiedField) – Modificado
invalidada (BooleanField) – Invalidada
tipo (CharField) – Tipo
origen (CharField) – Origen
mesa_categoria (ForeignKey to
MesaCategoria
) – Mesa categoriafiscal (ForeignKey to
Fiscal
) – Fiscalfirma (CharField) – Firma
tomada_por_consolidador (DateTimeField) – Tomada por consolidador
procesada (BooleanField) – Procesada
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
actualizar_firma
(forzar=False)¶ A partir del conjunto de reportes de la carga se genera una firma como un string
<id_opcion_A>-<votos_opcion_A>|<id_opcion_B>-<votos_opcion_B>…
Si esta firma iguala o coincide con la de otras cargas se marca consolidada.
-
listado_de_opciones
()¶ Devuelve una lista de los ids de las opciones de esta carga.
-
opcion_votos
()¶ Devuelve una lista de los votos para cada opción.
-
save
(*args, **kwargs)¶ si el fiscal es troll, la carga nace invalidada y ya procesada
-
class
elecciones.models.
CargaOficialControl
(*args, **kwargs)¶ Este modelo se agrega para guardar la fecha y hora del último registro de carga parcial oficial obtenido desde la planilla de cálculo de gdocs
- Parámetros
id (AutoField) – Id
fecha_ultimo_registro (DateTimeField) – Fecha ultimo registro
categoria (ForeignKey to
Categoria
) – Categoria
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
exception
elecciones.models.
CargasIncompatiblesError
¶ Error que se produce si se pide la resta entre dos cargas incompatibles
-
class
elecciones.models.
Categoria
(*args, **kwargs)¶ Representa una categoría electiva, es decir, una «columna» del acta. Por ejemplo: Presidente y Vicepresidente, Intendente de La Matanza, etc)
Una categoría tiene habilitadas diferentes
opciones
que incluyen las partidarias (boletas) y blanco, nulo, etc.- Parámetros
id (AutoField) – Id
eleccion (ForeignKey to
Eleccion
) – Eleccioncategoria_general (ForeignKey to
CategoriaGeneral
) – Categoria generaldistrito (ForeignKey to
Distrito
) – Distritoseccion (ForeignKey to
Seccion
) – Seccionslug (SlugField) – Slug
nombre (CharField) – Nombre
color (CharField) – Color. Color para CSS (ej, red o #FF0000)
back_color (CharField) – Back color. Color para CSS (ej, red o #FF0000)
activa (BooleanField) – Activa. Si no está activa, no se cargan datos para esta categoría y no se muestran resultados.
sensible (BooleanField) – Sensible. Solo pueden visualizar los resultados de esta cagtegoría con permisos especiales.
requiere_cargas_parciales (BooleanField) – Requiere cargas parciales
prioridad (PositiveIntegerField) – Prioridad
opciones (ManyToManyField) – Opciones
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
property
electores
¶ Devuelve la cantidad de electores habilitados para esta categoría
-
opciones_actuales
(solo_prioritarias=False, excluir_optativas=False)¶ Devuelve las opciones asociadas a la categoría en el orden correspondiente. Determina el orden de la filas a cargar, tal como se definen en el acta.
-
classmethod
para_mesas
(mesas)¶ Devuelve el conjunto de categorías que son comunes a todas las mesas dadas.
Por ejemplo, permite mostrar links válidos a las distintas categorías para una sección o circuito. Por ejemplo, si filtramos el circuito 1J o cualquiera se sus subniveles (escuela, mesa) se debe mostrar la categoría a Intentendente de La Matanza, pero no a intendente de San Isidro.
-
class
elecciones.models.
CategoriaGeneral
(*args, **kwargs)¶ A diferencia del modelo Categoria, éste representa una categoría sin asociación geográfica. Por ejemplo «Intendente», sin decir de dónde.
Sirve para poder de alguna manera agrupar a todas las categorías «Intendende de X», además de para permitir meter aquí atributos de visualización comunes a ellas, así como también nombres de columnas en, por ejemplo, el CSV.
- Parámetros
id (AutoField) – Id
eleccion (ForeignKey to
Eleccion
) – Eleccionslug (SlugField) – Slug
nombre (CharField) – Nombre
foto_ejemplo (VersatileImageField) – Foto ejemplo
height (PositiveIntegerField) – Image height
width (PositiveIntegerField) – Image width
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
CategoriaOpcion
(id, categoria, opcion, orden, prioritaria)¶ - Parámetros
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
Circuito
(*args, **kwargs)¶ Define el circuito, perteneciente a una sección
Distrito -> Sección -> Circuito -> Lugar de votación -> Mesa
- Parámetros
id (AutoField) – Id
seccion (ForeignKey to
Seccion
) – Seccionlocalidad_cabecera (CharField) – Localidad cabecera
numero (CharField) – Numero
nombre (CharField) – Nombre
electores (PositiveIntegerField) – Electores
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
ConfiguracionComputo
(*args, **kwargs)¶ Definición de modos de computar resultados por distrito.
- Parámetros
id (AutoField) – Id
nombre (CharField) – Nombre
fiscal (ForeignKey to
Fiscal
) – Fiscal
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
ConfiguracionComputoDistrito
(*args, **kwargs)¶ Definición de modos de computar resultados para un distrito, de acuerdo a un usuario.
- Parámetros
id (AutoField) – Id
configuracion (ForeignKey to
ConfiguracionComputo
) – Configuraciondistrito (ForeignKey to
Distrito
) – Distritoagregacion (CharField) – Agregacion
opciones (CharField) – Opciones
proyeccion (ForeignKey to
TecnicaProyeccion
) – Proyeccion
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
Distrito
(*args, **kwargs)¶ Define el distrito o circunscripción electoral. Es la subdivisión más grande en una carta marina. En una elección provincial el distrito es único.
Distrito -> Sección -> Circuito -> Lugar de votación -> Mesa
- Parámetros
id (AutoField) – Id
numero (CharField) – Numero
nombre (CharField) – Nombre
electores (PositiveIntegerField) – Electores
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
get_secciones
()¶ Todas las secciones del distrito ordenadas por número.
-
class
elecciones.models.
Eleccion
(*args, **kwargs)¶ Es un modelo contenedor que representa, basicamente, un dia de elecciones.
Contiene
categorías
La finalidad que tiene es permitir la persistencia de resultados de multiples elecciones (por ejemplo PASO, primarias, balotaje) para hacer análisis
- Parámetros
id (AutoField) – Id
fecha (DateTimeField) – Fecha
nombre (CharField) – Nombre
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
LugarVotacion
(*args, **kwargs)¶ Define el lugar de votación (escuela) que pertenece a un circuito y contiene mesas. Tiene un representación geoespacial (point).
Distrito -> Sección -> Circuito -> Lugar de votación -> Mesa
- Parámetros
id (AutoField) – Id
circuito (ForeignKey to
Circuito
) – Circuitonombre (CharField) – Nombre
direccion (CharField) – Direccion
barrio (CharField) – Barrio
ciudad (CharField) – Ciudad
numero (CharField) – Numero. Número de escuela
electores (PositiveIntegerField) – Electores
geom (PointField) – Geom
estado_geolocalizacion (PositiveIntegerField) – Estado geolocalizacion. Indicador (0-10) de que confianza hay en la geolozalización
calidad (CharField) – Calidad. calidad de la geolocalizacion
latitud (FloatField) – Latitud
longitud (FloatField) – Longitud
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
save
(*args, **kwargs)¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The “force_insert” and “force_update” parameters can be used to insist that the «save» must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
class
elecciones.models.
Mesa
(*args, **kwargs)¶ Define la mesa de votación que pertenece a un class:LugarDeVotación.
Sección -> Circuito -> Lugar de votación -> Mesa
Está asociada a una o más categorías electivas para los cuales el elector habilitado debe elegir.
Por ejemplo, la mesa 12 del circuito 1J de La Matanza, elige Presidente y Vice, Diputado de Prov de Buenos Aires e Intendente de La Matanza.
- Parámetros
id (AutoField) – Id
numero (CharField) – Numero
es_testigo (BooleanField) – Es testigo
circuito (ForeignKey to
Circuito
) – Circuitolugar_votacion (ForeignKey to
LugarVotacion
) – Lugar de votacionurl (URLField) – Url. url al telegrama
electores (PositiveIntegerField) – Electores
extranjeros (BooleanField) – Extranjeros
categorias (ManyToManyField) – Categorias
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
fotos
()¶ Devuelve una lista de tuplas (titulo, foto) asociados a la mesa, incluyendo cualquier version editada de una foto, para aquellos attachements que esten consolidados
Este método se utiliza para alimentar las pestañas en la pantalla de carga de datos.
-
invalidar_asignacion_attachment
()¶ Efecto de que esta mesa tenía un attachment asociado y ya no lo tiene. Hay que: invalidar todas las cargas, y borrar el orden de carga de las MesaCategoria para que no se tengan en cuenta en el scheduling
-
metadata
()¶ Las opciones metadatas comunes a las distintas categorías de la misma mesa reúsan el valor reportado. Se cargan hasta que se consolide en alguna categoría y las siguientes cargas reusarán sus valores reportados.
Este método devuelve la lista de tuplas de (opción metadata, número) para alguna de las cargas consolidadas testigo de la mesa. El número es la cantidad de «votos».
-
classmethod
obtener_mesa_en_circuito_seccion_distrito
(mesa, circuito, seccion, distrito)¶ Valida si existe una mesa con dicho codigo en el circuito y seccion indicados
-
class
elecciones.models.
MesaCategoria
(*args, **kwargs)¶ Modelo intermedio para la relación m2m
Mesa.categorias
mantiene el estado de las cargas- Parámetros
id (AutoField) – Id
status (StatusField) – Status
mesa (ForeignKey to
Mesa
) – Mesacategoria (ForeignKey to
Categoria
) – Categoriacarga_testigo (ForeignKey to
Carga
) – Carga testigocarga_oficial (ForeignKey to
Carga
) – Carga oficialparcial_oficial (ForeignKey to
Carga
) – Parcial oficialpercentil (PositiveIntegerField) – Percentil
orden_de_llegada (PositiveIntegerField) – Orden de llegada
coeficiente_para_orden_de_carga (PositiveIntegerField) – Coeficiente para orden de carga
cant_fiscales_asignados (PositiveIntegerField) – Cant fiscales asignados
cant_asignaciones_realizadas (PositiveIntegerField) – Cant asignaciones realizadas
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
actualizar_coeficiente_para_orden_de_carga
()¶ Actualiza self.coeficiente_para_orden_de_carga a partir de las prioridades por sección y categoría.
-
datos_previos
(tipo_carga)¶ Devuelve un diccionario que contiene informacion confirmada (proveniente de campos de metadata o prioritarios compartidos) para «pre completar» una carga.
{opcion.id: cantidad_votos, …}
Si una opcion está en este diccionario, su campo votos se inicilizará con la cantidad de votos y será de sólo lectura, validando además que coincidan cuando la carga se guarda.
-
firma_count
()¶ Devuelve un diccionario que agrupa por tipo de carga y firmas. Este método se usa para testing solamente. Por ejemplo:
{'total': { '1-10|2-2': 1, '1-10|2-1': 1' }, 'parcial': { '1-10': 1} }
-
invalidar_cargas
()¶ Por alguna razón, hay que marcar todas las cargas que se hicieron para esta MesaCategoria como inválidas.
-
recalcular_coeficiente_para_orden_de_carga
()¶ Actualiza el valor de self.coeficiente_para_orden_de_carga a partir de las prioridades por sección y categoría, sin disparar el save correspondiente.
-
classmethod
recalcular_coeficiente_para_orden_de_carga_para_categoria
(categoria)¶ Recalcula el coeficiente_para_orden_de_carga de las MesaCategoria correspondientes a la categoría indicada que estén pendientes de carga. Se usa como acción derivada del cambio de prioridades en la categoría.
-
classmethod
recalcular_coeficiente_para_orden_de_carga_para_seccion
(seccion)¶ Recalcula el coeficiente_para_orden_de_carga de las MesaCategoria correspondientes a la sección indicada que estén pendientes de carga. Se usa como acción derivada del cambio de prioridades en la categoría.
-
class
elecciones.models.
MesaCategoriaQuerySet
(model=None, query=None, using=None, hints=None)¶ -
anotar_prioridad_status
()¶ Dados los status posibles anota el querset
prioridad_status
con un valor entero (0, 1, 2, …) que se corresponde con el índice del status en la constanteconfig.PRIORIDAD_STATUS
, que es configurable vía Constance. Sirve para poder ordenar por «prioridad de status»:>>> qs.anotar_prioridad_status().order_by('prioridad_status')
Por defecto, esta prioridad sale del orden definido en
settings.MC_STATUS_CHOICE
.
-
con_carga_sensible_y_parcial_pendiente
()¶ Devuelve las mesas categorías que tengan cargas parciales pendientes y que correspondan a categorías sensibles (que son las realmente prioritarias).
-
debug_mas_prioritaria
()¶ Esta función invoca a ordenadas_por_prioridad() y además imprime los campos de orden. Sirve sólo para debuggear.
-
identificadas
()¶ Filtra instancias que tengan orden de carga definido (que se produce cuando hay un primer attachment consolidado).
-
mas_prioritaria
()¶ Devuelve la intancia más prioritaria del queryset.
-
redondear_cant_fiscales_asignados_y_de_asignaciones
()¶ Redondea la cantidad de fiscales asignados y de asignaciones a múltiplos de
settings.MIN_COINCIDENCIAS_CARGAS
para que al asignar mesas no se pospongan indefinidamente mesas que fueron entregadas ya a algún fiscal.
-
siguiente
()¶ Devuelve mesacat con carga pendiente más prioritaria
-
siguiente_para_ub
()¶ Devuelve mesacat con carga pendiente más prioritaria
-
sin_cargas_del_fiscal
(fiscal)¶ Excluye las instancias que tengan alguna carga del fiscal indicado.
-
sin_consolidar_por_csv
()¶ Excluye las instancias consolidadas por CSV.
-
sin_consolidar_por_doble_carga
()¶ Excluye las instancias consolidadas con doble carga.
-
sin_problemas
()¶ Excluye las instancias que tengan problemas.
-
solo_de_cats_activas
()¶ Excluye a las instancias de categorías no activas.
-
-
class
elecciones.models.
Opcion
(*args, **kwargs)¶ Una opción es lo que puede elegir hacer el elector con voto para una categoría.
Incluye las opciones partidarias (que redundan en votos positivos) o blanco, nulo, etc, que son opciones no positivas y no asociadas a partidos. También pueden ser opciones de «metainformación» del acta, como totales de votos positivos, votos válidos, etc, que si bien pueden calcularse indirectamente a partir de otros datos, a veces se prefiere cargar para minimizar las decisiones en quien carga datos.
Más de una opción puede estar asociada al mismo partido, (por ejemplo varias listas de un espacio en una PASO) pero actualmente sus votos se computan agregados.
- Parámetros
id (AutoField) – Id
tipo (CharField) – Tipo
nombre (CharField) – Nombre
nombre_corto (CharField) – Nombre corto
codigo (CharField) – Codigo. Código de opción
partido (ForeignKey to
Partido
) – Partidocodigo_dne (PositiveIntegerField) – Codigo dne. Nº asignado en la base de datos de resultados oficiales
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
property
color
¶ Devuelve el color del partido si existe o blanco. Permite destacar con un color la fila en la tabla de resultados
-
class
elecciones.models.
Partido
(*args, **kwargs)¶ Representa un partido político o alianza, que contiene
opciones
.- Parámetros
id (AutoField) – Id
numero (PositiveIntegerField) – Numero
codigo (CharField) – Codigo. Código de partido
nombre (CharField) – Nombre
nombre_corto (CharField) – Nombre corto
color (CharField) – Color
referencia (CharField) – Referencia
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
Seccion
(*args, **kwargs)¶ Define la sección electoral:
Distrito -> Sección -> Circuito -> Lugar de votación -> Mesa
- Parámetros
id (AutoField) – Id
distrito (ForeignKey to
Distrito
) – Distritoseccion_politica (ForeignKey to
SeccionPolitica
) – Seccion politicanumero (CharField) – Numero
nombre (CharField) – Nombre
electores (PositiveIntegerField) – Electores
prioridad_hasta_2 (PositiveIntegerField) – Prioridad hasta 2
prioridad_2_a_10 (PositiveIntegerField) – Prioridad 2 a 10
prioridad_10_a_100 (PositiveIntegerField) – Prioridad 10 a 100
cantidad_minima_prioridad_hasta_2 (PositiveIntegerField) – Cantidad minima prioridad hasta 2
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
get_circuitos
()¶ Todos los circuitos de las sección ordenados por número.
-
class
elecciones.models.
SeccionPolitica
(*args, **kwargs)¶ Define la sección política, que es una agrupación de nuestras secciones electorales, que se usa con fines políticos y para mostrar resultados.
En términos políticos, en especial para la PBA, nuestra Sección es un Municipio (eg, «La Matanza»), y esta sección política es «la tercera sección electoral».
Distrito -> Sección política -> Sección -> Circuito -> Lugar de votación -> Mesa
- Parámetros
id (AutoField) – Id
distrito (ForeignKey to
Distrito
) – Distritonumero (PositiveIntegerField) – Numero
nombre (CharField) – Nombre
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
TecnicaProyeccion
(*args, **kwargs)¶ Representa una estrategia para agrupar circuitos para hacer proyecciones. Contiene una lista de AgrupacionCircuitos que debería en total cubrir a todos los circuitos correspondientes a la categoria que se desea proyectar.
- Parámetros
id (AutoField) – Id
nombre (CharField) – Nombre
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
elecciones.models.
VotoMesaReportado
(*args, **kwargs)¶ Representa una «celda» del acta a cargar, es decir, dada una carga que define mesa y categoria, existe una instancia de este modelo para cada opción y su correspondiente cantidad de votos.
- Parámetros
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
elecciones.models.
actualizar_electores
(sender, instance=None, created=False, **kwargs)¶ Actualiza las denormalizaciones de cantidad de electores a nivel circuito, seccion y distrito cada vez que se crea o actualiza una instancia de mesa.
En general, esto sólo debería ocurrir en la configuración inicial del sistema.
-
elecciones.models.
canonizar
(valor)¶ Tomado prestado de adjuntos/csv_import, también está en managament/commands Pasa a mayúsculas y elimina espacios. Si se trata de un número, elimina los ceros previos.
-
class
fiscales.models.
CodigoReferido
(id, created, modified, fiscal, codigo, activo)¶ - Parámetros
id (AutoField) – Id
created (AutoCreatedField) – Creado
modified (AutoLastModifiedField) – Modificado
fiscal (ForeignKey to
Fiscal
) – Fiscalcodigo (CharField) – Codigo. Código con el que el fiscal puede referir a otres
activo (BooleanField) – Activo
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
classmethod
fiscales_para
(codigo, nombre=None, apellido=None)¶ Devuelve una lista de fiscales candidatos
-
save
(*args, **kwargs)¶ Genera un código único de 4 dígitos alfanuméricos
-
class
fiscales.models.
Fiscal
(*args, **kwargs)¶ Representa al usuario «data-entry» del sistema. Es una extensión del modelo
auth.User
- Parámetros
id (AutoField) – Id
estado (StatusField) – Estado
notas (TextField) – Notas. Notas internas, no se muestran
codigo_confirmacion (UUIDField) – Codigo confirmacion
email_confirmado (BooleanField) – Email confirmado
apellido (CharField) – Apellido
nombres (CharField) – Nombres
tipo_dni (CharField) – Tipo dni
dni (CharField) – Dni
puntaje_scoring_troll (IntegerField) – Puntaje scoring troll
troll (BooleanField) – Troll
user (OneToOneField to
User
) – Userseccion (ForeignKey to
Seccion
) – Seccionsession_key (CharField) – Session key
last_seen (DateTimeField) – Last seen
distrito (ForeignKey to
Distrito
) – Distritoreferente (ForeignKey to
Fiscal
) – Referentereferente_certeza (PositiveIntegerField) – Referente certeza. El código no era exacto?
referencia_confirmada (BooleanField) – Referencia confirmada
referente_nombres (CharField) – Referente nombres
referente_apellido (CharField) – Referente apellido
referido_por_codigos (CharField) – Referido por codigos
ingreso_alguna_vez (BooleanField) – Ingreso alguna vez
asignacion_ultima_tarea (DateTimeField) – Asignacion ultima tarea
attachment_asignado (ForeignKey to
Attachment
) – Attachment asignadomesa_categoria_asignada (ForeignKey to
MesaCategoria
) – Mesa categoria asignadadistrito_afin (ForeignKey to
Distrito
) – Distrito afindatos_de_contacto (GenericRelation) – Datos de contacto
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
asignar_attachment
(attachment)¶ Asigna al fiscal un attachment para que trabaje en él.
Tiene como prerrequisito que se hayan hecho un llamado previo a limpiar_asignacion_previa() para desasignar la asignación anterior. No se hace aquí para evitar deadlocks (ver #317), se hace desde acciones.py en una transacción independiente.
-
asignar_mesa_categoria
(mesa_categoria)¶ Asigna al fiscal una mesa_categoria para que trabaje en ella.
Tiene como prerrequisito que se hayan hecho un llamado previo a limpiar_asignacion_previa() para desasignar la asignación anterior. No se hace aquí para evitar deadlocks (ver #317), se hace desde acciones.py en una transacción independiente.
-
classmethod
liberar_mesacategorias_y_attachments
()¶ Toma a los fiscales cuya última tarea haya sido asignada más de settings.TIMEOUT_TAREAS minutos atrás y: - No se la desasigna para no perder el trabajo que el fiscal puede estar haciendo y “presentará” cuando haga el submit. - Pero sí le baja la cantidad de asignaciones a la mesacategoría y los attachments para que queden postergados por demasiado tiempo.
-
limpiar_asignacion_previa
()¶ Este método se utiliza para que las mesa-categorías o attachments que tenga asignados el fiscal sean liberados cuando corresponda (por timeout o cuando se asigna uno nuevo).
No se la desasigna para no perder el trabajo que el fiscal puede estar haciendo y “presentará” cuando haga el submit.
-
marcar_como_troll
(actor)¶ Un UE decidió, explícitamente, marcarme como troll
-
marcar_ingreso_alguna_vez
()¶ Marca que el Fiscal efectivamente ya ingresó alguna vez. En principio la marca de ingreso_alguna_vez se usa para capacitar al validador.
-
quitar_marca_troll
(actor, nuevo_scoring)¶ Un UE decidió, explícitamente, indicar que no soy troll
-
ultimo_codigo
()¶ devuelve el último código activo
-
ultimo_codigo_url
()¶ devuelve la url absoluta con último código activo
-
fiscales.models.
crear_user_y_codigo_para_fiscal
(sender, instance=None, created=False, update_fields=None, **kwargs)¶ Cuando se crea o actualiza una instancia de
Fiscal
en estado confirmado que no tiene usuario asociado, automáticamente se crea unoauth.User
utilizando el DNI como username.
-
class
adjuntos.models.
Attachment
(*args, **kwargs)¶ Guarda las fotos de ACTAS y otros documentos fuente desde los cuales se cargan los datos. Están asociados a una imágen que a su vez puede tener una versión editada.
Los attachments están asociados a mesas una vez que se clasifican.
No pueden existir dos instancias de este modelo con la misma foto, dado que el atributo digest es único.
- Parámetros
id (AutoField) – Id
created (AutoCreatedField) – Creado
modified (AutoLastModifiedField) – Modificado
status (StatusField) – Status
mesa (ForeignKey to
Mesa
) – Mesaemail (ForeignKey to
Email
) – Emailmimetype (CharField) – Mimetype
parent (ForeignKey to
Attachment
) – Parentfoto (VersatileImageField) – Foto
foto_edited (VersatileImageField) – Foto edited
foto_digest (CharField) – Foto digest
height (PositiveIntegerField) – Image height
width (PositiveIntegerField) – Image width
subido_por (ForeignKey to
Fiscal
) – Subido poridentificacion_testigo (ForeignKey to
Identificacion
) – Identificacion testigopre_identificacion (ForeignKey to
PreIdentificacion
) – Pre identificacioncant_fiscales_asignados (PositiveIntegerField) – Cant fiscales asignados
cant_asignaciones_realizadas (PositiveIntegerField) – Cant asignaciones realizadas
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
crear_pre_identificacion_si_corresponde
()¶ Le asocia al attachment una PreIdentificacion con los datos del fiscal que la subió si no hay una previa.
-
save
(*args, **kwargs)¶ Actualiza el hash de la imágen original asociada antes de guardar. Notar que esto puede puede producir una excepción si la imágen (el digest) ya es conocido en el sistema.
Además, crea una PreIdentificacion con los datos del Fiscal que lo subió si no hay una.
-
status_count
(estado)¶ A partir del conjunto de identificaciones del attachment que tienen el estado parámetro devuelve una lista de tuplas (mesa_id, cantidad, cantidad que viene de csv). Sólo cuenta las no invalidadas.
Cuando status == “problema” el id de mesa es None
- Por ejemplo (cuando estado == “identificada”):
- [
(3, 2, 0), (4, 1, 1),
]
Hay 2 identificaciones para la mesa id==3 y 1 para la id==4, pero ésa tiene una identificación por CSV.
-
class
adjuntos.models.
AttachmentQuerySet
(model=None, query=None, using=None, hints=None)¶ -
priorizadas
()¶ Ordena por cantidad de fiscales trabajando en el momento, luego por cantidad de personas que alguna vez trabajaron, y por último por orden de llegada.
-
redondear_cant_fiscales_asignados_y_de_asignaciones
()¶ Redondea la cantidad de fiscales asignados y de asignaciones a múltiplos de
settings.MIN_COINCIDENCIAS_IDENTIFICACION
para que al asignar mesas no se pospongan indefinidamente mesas que fueron entregadas ya a algún fiscal.
-
sin_identificar
(fiscal_a_excluir=None, for_update=True)¶ Devuelve un conjunto de Attachments que no tienen identificación consolidada.
Se excluyen attachments que ya hayan sido clasificados por fiscal_a_excluir
-
-
class
adjuntos.models.
CSVTareaDeImportacion
(id, created, modified, csv_file, status, errores, fiscal, mesas_total_ok, mesas_parc_ok)¶ - Parámetros
id (AutoField) – Id
created (AutoCreatedField) – Creado
modified (AutoLastModifiedField) – Modificado
csv_file (FileField) – Csv file
status (StatusField) – Status
errores (TextField) – Errores
fiscal (ForeignKey to
Fiscal
) – Fiscalmesas_total_ok (PositiveIntegerField) – Mesas total ok
mesas_parc_ok (PositiveIntegerField) – Mesas parc ok
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
adjuntos.models.
Email
(*args, **kwargs)¶ Almacena la información de emails que entran al sistema y contienen attachments La persistencia de estos objetos no es estrictamente necesaria.
Ver
elecciones.management.commands.importar_actas
- Parámetros
id (AutoField) – Id
date (CharField) – Date
from_address (CharField) – From address
body (TextField) – Body
title (CharField) – Title
uid (PositiveIntegerField) – Uid
message_id (CharField) – Message id
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
class
adjuntos.models.
Identificacion
(*args, **kwargs)¶ Es el modelo que guarda clasificaciones de actas para asociarlas a mesas
- Parámetros
id (AutoField) – Id
created (AutoCreatedField) – Creado
modified (AutoLastModifiedField) – Modificado
status (StatusField) – Status
source (StatusField) – Source
fiscal (ForeignKey to
Fiscal
) – Fiscalmesa (ForeignKey to
Mesa
) – Mesaattachment (ForeignKey to
Attachment
) – Attachmenttomada_por_consolidador (DateTimeField) – Tomada por consolidador
procesada (BooleanField) – Procesada
invalidada (BooleanField) – Invalidada
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
save
(*args, **kwargs)¶ Si el fiscal es troll, la identificación nace invalidada y ya procesada.
-
class
adjuntos.models.
PreIdentificacion
(*args, **kwargs)¶ Este modelo se usa para asociar a los attachment información de identificación que no es completa. No confundir con Identificacion ni con el status de identificación de una mesa.
- Parámetros
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
adjuntos.models.
hash_file
(file, block_size=65536)¶ Dado un objeto file-like (en modo binario), devuelve un hash digest único de 128 digitos hexadecimales
Utiliza el algoritmo de hashing blake2
>>> hash_file(open('messi.jpg', 'rb')) '90554e1d519e0fc665fab042d7499a1bc9c191f2a13b0b2c369753dcb23b181866cb116007fc37a445421270e04912a46dbfb6a325cf27a2603eed45fc1d41b1'