On 3/27/2014 4:56 PM, Sells, Fred wrote:
I'm trying to use python classes and members to define complex data
entry forms as a meta language

The idea is to use a nice clean syntax like Python to define form
content, then render it as HTML but only as a review tool for users,
The actual rendering would go into a database to let a vendor's tool
generate the form in a totally non-standard syntax that's really
clunky.

I don't have a lot of time or management support to do something
elegant like XML and then parse it, I'm thinking more like

Class  FyFormNumber001(GeneralForm):
 Section1 = Section(title="Enter Patient Vital Signs")
>    Question1 = NumberQuestion(title="Enter pulse rate", format="%d3")
>    Question2 = Dropdown(title="Enter current> status")
>    Question2.choices = [ (1, "Alive and Kicking"), (2,
 "Comatose"), (3, "Dead"), ...]

Of course this is not quite legal python and I have a lot of
flexibility in my "meta" language.  The basic model is that a single
file would define a form which would have one or more sections,  each
section would have one or more questions of various types (i.e.
checkbox, radio button, text, etc).  Sections cannot be nested.

I don't have to have a perfect layout, just close enough to get the
end users to focus on what they are asking for before we generate the
actual code.  I tried an HTML WYSIWYG editor but that was too slow
and I lost information that I need to retain when the actual form is
generated.

The biggest problem (to me) is that I have to maintain the order;
i.e. the order in which they are coded should be the order in which
they are displayed.

I'm looking to do about 200 forms, so it is reasonable to invest some
time up front to make the process work; meanwhile management wants
results yesterday, so I have a trade-off to make.

Is there anything out there that would be close or do you have any
suggestions.

Have you searched the python-list archives? PyPI? or the web?
There was a thread on this topic perhaps a month ago but I barely followed it.


--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to