meta language to define forms

Terry Reedy tjreedy at udel.edu
Thu Mar 27 21:32:14 EDT 2014


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




More information about the Python-list mailing list