468 |
for elem_suceso in elem_sucesos.childNodes: |
for elem_suceso in elem_sucesos.childNodes: |
469 |
suceso = extraer_nombre_xml(elem_suceso) |
suceso = extraer_nombre_xml(elem_suceso) |
470 |
if suceso in Objeto.SUCESOS: |
if suceso in Objeto.SUCESOS: |
471 |
respuesta = Guion(elem_suceso.childNodes, |
respuesta = Guion(elem_suceso, |
472 |
macros = [ ("$usuario", "Personaje"), |
macros = [ ("$usuario", "Personaje"), |
473 |
("$sala", "Sala"), |
("$sala", "Sala"), |
474 |
("$objeto", "Objeto") ]) |
("$objeto", "Objeto") ]) |
811 |
# Código para pruebas unitarias del módulo. |
# Código para pruebas unitarias del módulo. |
812 |
|
|
813 |
if (__name__ == '__main__'): |
if (__name__ == '__main__'): |
814 |
pocion = Objeto("pocion01") |
objeto = Objeto("brandy01") |
815 |
print "id = " + pocion.id |
print "id = " + objeto.id |
816 |
print "version = " + pocion.version |
print "version = " + objeto.version |
817 |
print "autor = " + pocion.autor |
print "autor = " + objeto.autor |
818 |
print "comentario = " + pocion.comentario |
print "comentario = " + objeto.comentario |
819 |
print "area = " + pocion.area |
print "area = " + objeto.area |
820 |
print "nombre = " + pocion.nombre |
print "nombre = " + objeto.nombre |
821 |
|
|
822 |
print "descripcion = [" |
print "descripcion = [" |
823 |
for item in pocion.descripcion: |
for item in objeto.descripcion: |
824 |
print " " + str(item["dificultad"]) + ": '" + item["texto"] + "'" |
print " " + str(item["dificultad"]) + ": '" + item["texto"] + "'" |
825 |
print "]" |
print "]" |
826 |
|
|
827 |
print "tipo = " + pocion.tipo |
print "tipo = " + objeto.tipo |
828 |
print "categoria = " + pocion.categoria |
print "categoria = " + objeto.categoria |
829 |
print "peso = " + str(pocion.peso) |
print "peso = " + str(objeto.peso) |
830 |
print "volumen = " + str(pocion.volumen) |
print "volumen = " + str(objeto.volumen) |
831 |
print "cargas = " + str(pocion.cargas) |
print "cargas = " + str(objeto.cargas) |
832 |
print "valor = " + str(pocion.valor) |
print "valor = " + str(objeto.valor) |
833 |
print "estado = " + str(pocion.estado) |
print "estado = " + str(objeto.estado) |
834 |
print "aura = " + str(pocion.aura) |
print "aura = " + str(objeto.aura) |
835 |
|
|
836 |
print "sucesos = [" |
def imprimir_secuencia(secuencia, indentacion=""): |
837 |
primer = 1 |
for respuesta in secuencia: |
|
for suceso in pocion.sucesos.keys(): |
|
|
if primer: primer = 0 |
|
|
else: print "" |
|
|
|
|
|
print " -> suceso = " + suceso |
|
|
for respuesta in pocion.sucesos[suceso].secuencia: |
|
838 |
if respuesta.__class__.__name__ == "Accion": |
if respuesta.__class__.__name__ == "Accion": |
839 |
print " * accion base = " + respuesta.base |
print indentacion + " * accion base = " + respuesta.base |
840 |
print " nombre = " + respuesta.nombre |
print indentacion + " nombre = " + respuesta.nombre |
841 |
print " parametros = [", |
print indentacion + " parametros = [", |
842 |
primer2 = 1 |
primer2 = 1 |
843 |
for parametro in respuesta.parametros: |
for parametro in respuesta.parametros: |
844 |
if primer2: primer2 = 0 |
if primer2: primer2 = 0 |
845 |
else: print ", ", |
else: print ", ", |
846 |
print parametro["nombre"] + " (" + parametro["tipo"] + ") = " + parametro["valor"], |
print parametro["nombre"] + "(" + parametro["tipo"] + ") = '" + parametro["valor"] + "'", |
847 |
print "]" |
print "]" |
848 |
elif respuesta.__class__.__name__ == "Requisito": |
elif respuesta.__class__.__name__ == "Requisito": |
849 |
print " * requisito base = " + respuesta.base |
print indentacion + " * requisito base = " + respuesta.base |
850 |
print " nombre = " + respuesta.nombre |
print indentacion + " nombre = " + respuesta.nombre |
851 |
print " parametros = [", |
print indentacion + " parametros = [", |
852 |
primer2 = 1 |
primer2 = 1 |
853 |
for parametro in respuesta.parametros: |
for parametro in respuesta.parametros: |
854 |
if primer2: primer2 = 0 |
if primer2: primer2 = 0 |
855 |
else: print ", ", |
else: print ", ", |
856 |
print parametro["nombre"] + " (" + parametro["tipo"] + ") = " + parametro["valor"], |
print parametro["nombre"] + "(" + parametro["tipo"] + ") = '" + parametro["valor"] + "'", |
857 |
print "]" |
print "]" |
858 |
|
print indentacion + " no_cumplido:" |
859 |
|
imprimir_secuencia(respuesta.no_cumplido.secuencia, indentacion + " ") |
860 |
|
print indentacion + " cumplido:" |
861 |
|
imprimir_secuencia(respuesta.cumplido.secuencia, indentacion + " ") |
862 |
|
elif respuesta.__class__.__name__ == "Guion": |
863 |
|
print indentacion + " * guion id = " + respuesta.id |
864 |
|
print indentacion + " version = " + respuesta.version |
865 |
|
print indentacion + " autor = " + respuesta.autor |
866 |
|
print indentacion + " comentario = " + respuesta.comentario |
867 |
|
print indentacion + " macros_extra = " + str(respuesta._Guion__macros_extra) |
868 |
|
print indentacion + " secuencia:" |
869 |
|
imprimir_secuencia(respuesta.secuencia, indentacion + " ") |
870 |
|
|
871 |
|
print "sucesos = [" |
872 |
|
primer = 1 |
873 |
|
for suceso in objeto.sucesos.keys(): |
874 |
|
if primer: primer = 0 |
875 |
|
else: print "" |
876 |
|
|
877 |
|
print " -> suceso = " + suceso |
878 |
|
imprimir_secuencia(objeto.sucesos[suceso].secuencia) |
879 |
print "]" |
print "]" |
880 |
|
|
881 |
# print "usos = [" |
# print "usos = [" |
882 |
# primer = 1 |
# primer = 1 |
883 |
# for uso in pocion.usos: |
# for uso in objeto.usos: |
884 |
# if primer: primer = 0 |
# if primer: primer = 0 |
885 |
# else: print "" |
# else: print "" |
886 |
# print " -> tipo = " + uso["tipo"] |
# print " -> tipo = " + uso["tipo"] |