def __init__(self, nombre, regimen, unidades, puestos, uds_concertadas, fecha):
     self.gf=GestorFechas()
     self.nombre=nombre
     self.regimen=regimen
     try:
         self.unidades=int (unidades)
     except ValueError:
         self.unidades=0
     
     try:
         self.puestos=int (puestos)
     except ValueError:
         self.puestos=0
     
     try:
         self.unidades_concertadas=int(uds_concertadas)
     except ValueError:
         self.unidades_concertadas=0
     if fecha=="":
         self.fecha="01/01/2000"
     else:
         self.fecha=fecha
     self.fecha=self.gf.convertir_fecha_a_formato_iso(self.fecha)
#Esto es para indicar que el boletin no debe publicarse
CAMPO_NEWSLETTER_PUBLISHED=0
MOMENTO_ACTUAL= datetime.datetime.now(datetime.timezone.utc)
TIMESTAMP_UNIX_DE_HOY = MOMENTO_ACTUAL.timestamp() # works if Python >= 3.3

ID_LISTA_GENERAL=26
ID_LISTA_CENTROS_GENERAL=12

#Tabla de suscriptores
TABLA_SUSCRIPTORES="jos_acymailing_subscriber"
#Tabla de listas
TABLA_LISTAS="jos_acymailing_list"
#La conexion del codigo de lista y de codigo de suscriptor esta en esta tabla
TABLA_SUSCRIPTORES_LISTAS="jos_acymailing_listsub"
TITULO_BOLETIN="BOLETIN INFORMATIVO DE {0}"
gestor_fechas=GestorFechas()
(hace_una_semana, hoy)=gestor_fechas.get_rango_fechas_ultima_semana()

fecha_hace_una_semana=str(hace_una_semana)[:10]
#print (fecha_hace_una_semana)
fecha_hoy = str(hoy)[:10]
gestor_mysql=GestorMySQL (USUARIO, CLAVE, HOST, BD)

filas_historias=gestor_mysql.get_filas( SQL_HISTORIAS_SEMANA.format (
    TABLA_HISTORIAS, fecha_hace_una_semana, fecha_hoy))

categorias=get_diccionario_categorias(gestor_mysql)
#print (categorias)
categoria_actual=-1
boletin=""
for f in filas_historias:
                nombre_localidad=nom_localidad,
                provincia=prov_asociada,
                zona=zona_asociada
    )
    localidad.save()
    return localidad   
    

archivo=open(archivo,"r", encoding="utf-8")
lineas=archivo.readlines()
total_lineas=len(lineas)
codigo_especialidad=""
procedimiento_adjudicacion=ProcedimientoAdjudicacion(
    nombre=ProcedimientoAdjudicacion.VACANTES_18_09_2015, fecha="2015-09-18")
procedimiento_adjudicacion.save()
gestor_fechas=GestorFechas()
nombramientos=[]
#print ("Procesando")
for i in range(0, total_lineas):
    linea=lineas[i]
    if (linea_contiene_patron(re_especialidad, linea)):
        codigo_espe=extraer_patron(re_especialidad, linea)
        codigo_espe=codigo_espe[2:]
    if (linea_contiene_patron(re_dni, linea)):
        linea_limpia=linea.strip()
        cod_localidad=linea[:15].strip()
        #print ("Codigo localidad:"+cod_localidad)
        nom_localidad=linea[15:53].strip()
        cod_centro=extraer_codigo_centro(linea_limpia)
        #Todos los centros de nuestra BD llevan C al final, pero
        #en esta adjudicación no lo han puesto. Lo añadimos a mano
#!/usr/bin/env python3
# coding=utf-8

import sys

import utilidades
import utilidades.email

from utilidades.fechas.GestorFechas import GestorFechas
from utilidades.excel.GestorExcel import EscritorExcel
gf=GestorFechas()
fecha_iso="2016-01-21"

fecha_estandar=gf.convertir_fecha_de_iso_a_estandar(fecha_iso)
print ("{0} transformado en {1}".format ( fecha_iso, fecha_estandar ))

from  utilidades.email.GestorEmail import GestorEmail

gm=GestorEmail()
#coding=utf-8

import sys, os


from utilidades.ficheros.ProcesadorPDF import ProcesadorPDF
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine, text, and_
from sqlalchemy.orm import sessionmaker
from sqlalchemy import Column, Integer, String

from utilidades.modelos.Modelos import *
from utilidades.fechas.GestorFechas import GestorFechas
from utilidades.ficheros.GestorFicheros import GestorFicheros

gestor_fechas=GestorFechas()
gestor_ficheros=GestorFicheros()
fecha_hoy=gestor_fechas.get_hoy_iso()

NUMEROS_DNI_A_OCULTAR=0

DIRECTORIO_PLANTILLAS="." + os.sep + "plantillas"
DIRECTORIO_RESULTADOS="." + os.sep + "resultados"
PLANTILLA_INFORME  = DIRECTORIO_PLANTILLAS + os.sep + "plantilla_informe.html"
CAD_CONEXION=sys.argv[1]
CODIGO_ESPECIALIDAD=sys.argv[2]
PLANTILLA_SQL="""
    select especialidad, fecha_inicio, fecha_fin
        from nombramientos where
            nif='{0}'
            order by fecha_procedimiento desc
class Ensenanza(object):
    def __init__(self, nombre, regimen, unidades, puestos, uds_concertadas, fecha):
        self.gf=GestorFechas()
        self.nombre=nombre
        self.regimen=regimen
        try:
            self.unidades=int (unidades)
        except ValueError:
            self.unidades=0
        
        try:
            self.puestos=int (puestos)
        except ValueError:
            self.puestos=0
        
        try:
            self.unidades_concertadas=int(uds_concertadas)
        except ValueError:
            self.unidades_concertadas=0
        if fecha=="":
            self.fecha="01/01/2000"
        else:
            self.fecha=fecha
        self.fecha=self.gf.convertir_fecha_a_formato_iso(self.fecha)
    @staticmethod
    def get_sql_creacion_sqlite(nombre_tabla_ensenanzas, nombre_tabla_codigos):
        sentencias_sql=[]
        sentencias_sql.append("pragma foreign_keys=on")
        sql="""
            create table if not exists {0} (
                nombre              char(120) primary key,
                regimen             char(25),
                unidades            integer,
                puestos             integer,
                uds_concertadas     integer,
                fecha               date,
                codigo_centro       char(10),
                foreign key (codigo_centro) references {1}
                    on delete cascade on update cascade
            )
        """
        sentencias_sql.append ( sql.format (nombre_tabla_ensenanzas, nombre_tabla_codigos)  )
        
        indice="""
            create index if not exists idx_ensenanza_region on {0}(nombre)
        """
        sentencias_sql.append ( indice.format(nombre_tabla_ensenanzas) )
        return sentencias_sql
    
    def get_sql_sqlite(self, nombre_tabla, codigo_centro):
        sql="""
        insert or ignore into {0}
          (nombre, regimen, unidades, puestos, uds_concertadas, fecha, codigo_centro)
        values (
         '{1}', '{2}', {3}, {4}, {5}, '{6}', '{7}'
        )
        """
        sql_devuelto=sql.format ( nombre_tabla, self.nombre, self.regimen, self.unidades,
                                 self.puestos, self.unidades_concertadas, self.fecha, codigo_centro)
        return sql_devuelto
    def __str__(self):
        return self.nombre
import django
from django.db import transaction
configurador=Configurador (os.path.sep.join (["..", ".."]) )
configurador.activar_configuracion ( "gestion.settings")
from modelado_bd.models import *

archivo=sys.argv[1]
re_dni="[0-9]{7,8}[A-Z]"
#especialidad="[PWB0]59[0-9][0-9]{3}"
re_especialidad="\- [PWB0]59([0-9]{4})"
re_codigo_centro="[0-9]{8}"
re_codigo_centro_ciudad_real="^13[0-9]{6}$"
re_fecha="[0-9]{2}/[0-9]{2}/[0-9]{4}"


gestor_fechas=GestorFechas()

def linea_contiene_patron(patron, linea):
    expresion=re.compile(patron)
    if expresion.search(linea):
        return True
    return False


def extraer_patron(patron, linea):
    expresion=re.compile(patron)
    concordancia=expresion.search(linea)
    if concordancia:
        inicio=concordancia.start()
        final=concordancia.end()
        return concordancia.string[inicio:final]