Ejemplo n.º 1
0
def main():
	validador = ValidadorEntradaArchivo()
	os.system('clear')
	if validador.validar(sys.argv[1:]):
		manejador = ManejadorTwig()
		menu = Menu(manejador)

		parseador = Parseador(validador.getOpcion('file'))
		menu.agregarOpcion('a',"self.objeto.agregarAtibutosAPropocesar()",'agrega Atributos a procesar')
		menu.agregarOpcion('ag',"self.objeto.configurarGrupo()", 'guia para crear un grupo de elementos twig')
		menu.agregarOpcion('g','self.objeto.generarTwig()','Genera el twig')
		menu.agregarOpcion('ma','self.objeto.mostrarAtributos()','Muesta los atributos Parseados')
		menu.agregarOpcion('mp','self.objeto.mostrarAGenerar()','Muestra la Cola con los Atributos a Generar')
		menu.agregarOpcion('t','self.objeto.generarTodo()','Genera twig para todo los atributos')
		menu.agregarOpcion('cb','self.objeto.cambiarBootstrap()', 'Cambía la versíon de bootstrap con cual se van a generar twig')
		menu.agregarOpcion('dp','self.objeto.definirPath()', 'Define el path base del traductor')
		menu.agregarOpcion('gf','self.objeto.generarForm()', 'Genera el formBuilder')
		menu.agregarOpcion('gt', 'self.objeto.generarTraducciones()', 'Genera las Traducciones')

		manejador.clase = parseador.getClase(parseador.fileString)
		manejador.namespace = parseador.getNameSpace(parseador.fileString)
		manejador.atributos = parseador.getAtributosProcesados()
		menu.correr()
	else:
		print validador.mensajes.pop()
Ejemplo n.º 2
0
    def testParseadorDevuelveContratoEsperado(self):

        parser = Parseador("TestCases/Test1.txt")
        contrato = parser.getProximoContrato()

        assert contrato is not None
        assert contrato.t_inicio == 1
        assert contrato.t_final == 3
        assert contrato.nombre == "Test"
Ejemplo n.º 3
0
def main():

    parseador = Parseador(sys.argv[1])
    contratos = parseador.getTodosLosContratos()

    planificador = PlanificadorGreedy(contratos)
    schedule = planificador.obtenerCronogramaConMayorCantidadDeContratos()

    for contrato in schedule:
        print(contrato)
Ejemplo n.º 4
0
    def testParseadorObtenerTodosLosContratos(self):

        parser = Parseador("TestCases/Test3.txt")
        contratos = parser.getTodosLosContratos()

        assert len(contratos) == 2
        assert contratos[0].t_inicio == 1
        assert contratos[0].t_final == 3
        assert contratos[1].t_inicio == 4
        assert contratos[1].t_final == 5
Ejemplo n.º 5
0
class Bot:
    def __init__(self):
        #Inicializo el parseador
        self.parser = Parseador()
        #Inicializo la clase de twitter
        self.ta = TweetApp()

    def tick(self):
        """
			Este metodo es llamado cada vez que el bucle principal da una vuelta

			Se solicita una lista de mensajes privados recibidos, y se actua para cada uno de ellos
		"""

        #Obtengo la lista
        mensajes = self.ta.listar_mensajes_directos()

        #Ordeno la lista por id, para tenerlos ordenados de mas viejo a mas nuevo
        mensajes = sorted(mensajes, key=lambda k: k['id'])

        #Recorro la lista mensaje a mensaje
        for mensaje in mensajes:
            respuesta = self.parser.parsear(mensaje["screen_name"],
                                            mensaje["text"])

            #Si hay una respuesta para el mensaje recibido, se le responde.
            if respuesta is not None:
                self.ta.mensaje_directo(mensaje["screen_name"], respuesta)
Ejemplo n.º 6
0
 def __init__(self):
     #Inicializo el parseador
     self.parser = Parseador()
     #Inicializo la clase de twitter
     self.ta = TweetApp()
Ejemplo n.º 7
0
    def testParseadorOmiteContratoInvalido(self):

        parser = Parseador("TestCases/Test2.txt")
        contrato = parser.getProximoContrato()

        assert contrato is None
Ejemplo n.º 8
0
class TddParseador(unittest.TestCase):

	def setUp(self):
		self.parseador = Parseador()

	def test_agregar_procesador_valido(self):
		cantidadProcesadores = len(self.parseador.procesadores)
		self.parseador.agregarProcesador(ProcesadorGenerico('','generica'))
		self.assertTrue(len(self.parseador.procesadores) == cantidadProcesadores + 1)
		self.parseador.procesadores.pop()

	def test_agregar_procesador_invalido(self):
		cantidadProcesadores = len(self.parseador.procesadores)

		self.parseador.agregarProcesador(Atributo('sinImportancia')) # le paso cualquier clase	
		self.assertTrue(len(self.parseador.procesadores) == cantidadProcesadores)


	def test_parsear_archivo_invalido(self):
		nameFile = "invalido"
		self.parseador.setFileExsist(nameFile)

		self.assertTrue(self.parseador.getFile() is None)

	def test_parsear_archivo_valido(self):
		Files = open('prueba.php','w+b')
		Files.write('hola Mundo')
		self.parseador.setFile(Files)
		self.assertTrue(isinstance(self.parseador.getFile(),file))

	def test_parsear_un_atributo(self):
		string = "\tprivate $argumento1;"
		self.failUnlessEqual(self.parseador.parsearAtributos(string), ['argumento1'])

	def test_parsear_dos_atributo(self):
		string = "\tprivate $argumento1;\n"
		string += "\tprivate $argumento2;\n"

		self.failUnlessEqual( self.parseador.parsearAtributos(string), ['argumento%i' %(x) for x in range(1,3)])

	def test_parsear_varios_atributos(self):
		listaAtributos = ['\tprivate  $argumento%i;' % (x) for x in range(0,5)]
		string = '\n'.join(listaAtributos)

		self.failUnlessEqual( self.parseador.parsearAtributos('\n' + string ), ['argumento%i' % x for x in range(0,5)])
	
	def test_parsear_un_atributo_con_anotaciones_varias_lineas(self):
		string = "/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/\n\tpublic $argument;"
		self.failUnlessEqual(['texto con \n* \n asdfsafsad sdfsd anotaciones '], self.parseador.parsearAtributosAnotaciones(string))


#	def test_parsear_varios_atributos_con_anotaciones_varias_lineas(self):
#		string = "/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/\n\tpublic $argument;\n\t/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/\n\tpublic $argument2;"
#		self.failUnlessEqual(['texto con \n* \n asdfsafsad sdfsd anotaciones ','texto con \n* \n asdfsafsad sdfsd anotaciones '], self.parseador.parsearAtributosAnotaciones(string))
	
	def test_crear_dict_anotacion_una_limpia(self):
		string = "/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/\n\tpublic $argument;\n"
		self.failUnlessEqual({'argument':'/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/'}, self.parseador.crearDictAnotaciones(string))

	def test_crear_dict_anotacion_una_sucia(self):
		string = "meto suciedad/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/\n\tpublic $argument;\nmeto suciedad"
		self.failUnlessEqual({'argument':'/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/'}, self.parseador.crearDictAnotaciones(string))
	
	def test_crear_dict_anotacion_una_no_es_atributo(self):
		string = "/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/\n\tpublic $argument;\n\t/**blas,dlf sdf\n\nsdfdsfasdf**/\n\t funciotn asdsdf($parma1) \n"
		self.failUnlessEqual({'argument':'/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/'}, self.parseador.crearDictAnotaciones(string))


	def test_crear_dict_anotacion_varias_anotaciones(self):
		string = "/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/\n\tpublic $argument;\n\t/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/\n\tpublic $argument2;"
		self.failUnlessEqual({'argument2':'/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/', 'argument':'/**\ntexto con \n* \n asdfsafsad sdfsd anotaciones **/'}, self.parseador.crearDictAnotaciones(string))

	def test_crear_dict_anotacion_varias_anotaciones_limpias_sucias(self):
		string = """"
		namespace Gse\Campus2Bundle\Entity\Aval;

		use Doctrine\ORM\Mapping as ORM;
		use Symfony\Component\Validator\Constraints as Assert;
		use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

		/**
		 * TipoCapacitacion
		 *
		 * @ORM\Table("campus__aval_tipo_capacitacion", uniqueConstraints={
		 *   @ORM\UniqueConstraint(name="aval_tipoCapacitacion_unique", columns={"aval_id", "tipoCapacitacion_id"})
		 * })
		 * @ORM\Entity
		 *
		 * @UniqueEntity(fields={"aval", "tipoCapacitacion"}, errorPath="aval")
		 */
		class TipoCapacitacion
		{
		    /**
		     * @var integer
		     *
		     * @ORM\Column(name="id", type="integer")
		     * @ORM\Id
		     * @ORM\GeneratedValue(strategy="AUTO")
		     */
		    private $id;

		    /**
		     * @var \Gse\Campus2Bundle\Entity\Aval
		     *
		     * @ORM\ManyToOne(targetEntity="\Gse\Campus2Bundle\Entity\Aval", inversedBy="tipoCapacitaciones")
		     */
		    private $aval;
		"""

		self.failUnlessEqual(['aval','id'], self.parseador.crearDictAnotaciones(string).keys())

	def test_getNameSpace_correcto_una_linea(self):
		self.failUnlessEqual('gse\appBundle\Entity\certificad', self.parseador.getNameSpace("namespace gse\appBundle\Entity\certificad;"))

	def test_getNameSpace_correcto_multiple_linea(self):
		string = """
		<?php

		namespace Gse\Campus2Bundle\Entity\Certificado;

		use Doctrine\ORM\Mapping as ORM;
		use Symfony\Component\Validator\Constraints as Assert;
		"""
		self.failUnlessEqual('Gse\Campus2Bundle\Entity\Certificado', self.parseador.getNameSpace(string))

	def test_getDirectorio_bien(self):
		string = "Gse\AppBundle\Entity\Certificado"
		self.failUnlessEqual('Certificado',self.parseador.getDirectorio(string))


	def test_getDirectorio_base(self):
		string = "Gse\AppBundle\Entity"
		self.failUnlessEqual('',self.parseador.getDirectorio(string))

	def test_capitalizar_con_espacio_una_palabra(self):
		string = "alto"
		self.failUnlessEqual('Alto',self.parseador.capitalizarConEspacios(string))

	def test_capitalizar_con_espacio_dos_palabra(self):
		string = "AltoBaile"
		self.failUnlessEqual('Alto Baile',self.parseador.capitalizarConEspacios(string))


	def tearDown(self):
		if os.path.exists('prueba.php'):
			os.remove('prueba.php')
Ejemplo n.º 9
0
	def setUp(self):
		self.parseador = Parseador()