Sistema de Informações Gerenciais do Interlegis
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.8 KiB

'''
Created on 02/05/2011
@author: sesostris
'''
import os
import sys
import xml.dom.minidom as minidom
14 years ago
fileName = "../teste_parametros.rptdesign"
doc = minidom.parse(fileName)
parameterTags = doc.getElementsByTagName("parameters")
14 years ago
formFields = {}
for parameterTag in parameterTags:
for parameter in parameterTag.childNodes:
if parameter.nodeName != '#text':
14 years ago
# print "Processando campo ", parameter.getAttribute('name').encode('ascii')
formField = {}
for property in parameter.childNodes:
14 years ago
if property.nodeName != '#text' and property.hasChildNodes():
# print " Processando propriedade ", property.getAttribute('name').encode('ascii'), "(", property.__class__, ")"
fieldName = property.getAttribute('name').encode('ascii')
fieldValue = property.childNodes[0].nodeValue
if fieldName == 'selectionList':
fieldValue = ()
for structure in property.getElementsByTagName('structure'):
s = {}
for structProp in structure.getElementsByTagName('property'):
s[structProp.getAttribute('name').encode('ascii')] = structProp.childNodes[0].nodeValue
fieldValue = fieldValue + (s,)
formField[fieldName] = fieldValue
if formField['valueType'] == 'dynamic':
for dataSets in doc.getElementsByTagName("data-sets"):
for dataSet in dataSets.getElementsByTagName("oda-data-set"):
if dataSet.getAttribute('name') == formField['dataSetName']:
for xmlProp in dataSet.getElementsByTagName('xml-property'):
if xmlProp.getAttribute('name') == 'queryText':
formField['queryText'] = xmlProp.childNodes[0].data
formFields[parameter.getAttribute('name').encode('ascii')] = formField
14 years ago
#print formFields
#exit(0)
for field in formFields:
print "field '" + field + "':"
for param in formFields[field]:
print ' ', param, ' = "', formFields[field][param], '"'
14 years ago
'''form = '<form action="printReport" method="post">'
for fieldName in formFields:
14 years ago
htmlField = '<input name="' + fieldName + '" '
field = formFields[fieldName]
print fieldName, ':', formFields[fieldName]['controlType'], field
if field['controlType'] == 'text-box':
htmlField += 'type = "text">'
elif field['controlType'] == 'list-box':
htmlField += 'type = "select">'
form += htmlField
print form + '</form>'''