<div dir="ltr">Grazie Giovanni,<br><br>per il mini howto di genropy<br>in effetti se come hai fatto tu le applicazioni &quot;hello world&quot;<br>cominciassimo a scriverle con questi piccoli esempi di vita quotidiana, <br>
assumerebbero un grande valore aggiunto<br>S<br><br>
<br><br><div class="gmail_quote">2010/4/24 Giovanni Porcari <span dir="ltr">&lt;<a href="mailto:giovanni.porcari@softwell.it">giovanni.porcari@softwell.it</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Il giorno 24/apr/2010, alle ore 10.35, mauro ha scritto:<br>
<div class="im"><br>
&gt; Il giorno sab, 24/04/2010 alle 04.25 +0200, Giovanni Porcari ha scritto:<br>
&gt;&gt; Il giorno 23/apr/2010, alle ore 21.52, mauro ha scritto:<br>
&gt;<br>
&gt;&gt; Caro Mauro<br>
&gt;&gt; come soluzione provvisoria un piccolo aiuto<br>
&gt;&gt; per dimostrarti che i pythonisti non sono<br>
&gt;&gt; insensibili... ;)<br>
&gt;&gt;<br>
&gt;&gt; <a href="http://www.genropy.net/codice" target="_blank">http://www.genropy.net/codice</a><br>
&gt;<br>
&gt; Giovanni, e&#39; favoloso!!!<br>
&gt;<br>
&gt; Ed e&#39; favolosa l&#39;idea che lo diffondero&#39; subito ai miei colleghi in MIR,<br>
&gt; e, ovviamente, soprattutto dovra&#39; essere portato ad esempio di come si<br>
&gt; fanno i programmi seri per aiutare gli utilizzatori a gestire i dati in<br>
&gt; maniera rapida ed efficiente.<br>
&gt;<br>
&gt; Ma, fammi capire, l&#39;hai fatto tu? Almeno mi sembra di intuire...ed e&#39; in<br>
&gt; python?<br>
&gt;<br>
&gt; Grazie, corro a diffondere :-)<br>
&gt;<br>
<br>
<br>
</div>Sono felice che ti sia piaciuto :)<br>
<br>
Ti confermo che è fatto in python, che come usa come<br>
db postgresql. Il framework si chiama Genropy ed<br>
è il frutto del nostro duro lavoro degli ultimi 4 anni.<br>
Il db è stato caricato dai dati che cortesemente ha<br>
postato Simone e il codice che ho dovuto scrivere per ottenere<br>
il risultato che vedi è il seguente :<br>
<br>
<br>
Tabella diagnosi:<br>
----------------------------------------------------------<br>
class Table(object):<br>
    def config_db(self, pkg):<br>
        tbl =  pkg.table(&#39;diagnosi&#39;,pkey=&#39;codice&#39;,name_long=&#39;!!Diagnosi&#39;,<br>
                      name_plural=&#39;!!Tabella&#39;,rowcaption=&#39;$descrizione&#39;)<br>
        self.sysFields(tbl,id=False)<br>
        tbl.column(&#39;codice&#39;,name_long=&#39;!!Codice&#39;)<br>
        tbl.column(&#39;descrizione&#39;,name_long=&#39;!!Descrizione&#39;)<br>
----------------------------------------------------------<br>
<br>
Tabella procedura:<br>
----------------------------------------------------------<br>
class Table(object):<br>
    def config_db(self, pkg):<br>
        tbl =  pkg.table(&#39;procedura&#39;,pkey=&#39;codice&#39;,name_long=&#39;!!Procedura&#39;,<br>
                      name_plural=&#39;!!Procedura&#39;,rowcaption=&#39;$descrizione&#39;)<br>
        self.sysFields(tbl,id=False)<br>
        tbl.column(&#39;codice&#39;,name_long=&#39;!!Codice&#39;)<br>
        tbl.column(&#39;descrizione&#39;,name_long=&#39;!!Descrizione&#39;)<br>
----------------------------------------------------------<br>
<br>
<br>
Pagina web che gestisce le ricerche:<br>
----------------------------------------------------------<br>
<br>
class GnrCustomWebPage(object):<br>
    def windowTitle(self):<br>
        return &#39;Codici&#39;<br>
<br>
    def main(self, root, **kwargs):<br>
        rect=root.div(_class=&#39;shadow_2 rounded_medium&#39;,border=&#39;1px solid green&#39;,<br>
                       color=&#39;#152A32&#39;,background_color=&#39;#fefff6&#39;,position=&#39;relative&#39;,<br>
                       margin_top=&#39;20px&#39;,margin_left=&#39;20px&#39;,width=&#39;50em&#39;,height=&#39;30ex&#39;)<br>
<br>
        rect.div(&#39;Diagnosi e Procedure&#39;,text_align=&#39;center&#39;,margin=&#39;5px&#39;,font_size=&#39;1.7em&#39;)<br>
        rect.div(&#39;Genropy&#39;,position=&#39;absolute&#39;,bottom=&#39;5px&#39;,left=&#39;10px&#39;,font_size=&#39;.8em&#39;)<br>
<br>
        fb = rect.formbuilder(cols=1, border_spacing=&#39;8px&#39;,datapath=&#39;data&#39;,<br>
                              margin_top=&#39;20px&#39;,margin_left=&#39;20px&#39;)<br>
<br>
        fb.dbSelect(dbtable=&#39;portal.diagnosi&#39;,columns=&#39;$codice,$descrizione&#39;,limit=30,<br>
                    auxColumns=&#39;$codice,$descrizione&#39;,value=&#39;^.codice_diagnosi&#39;,<br>
                    _class=&#39;gnrfield&#39;,lbl=&#39;!!Diagnosi&#39;,width=&#39;38em&#39;,hasDownArrow=True)<br>
<br>
        fb.textbox(value=&#39;^.codice_diagnosi&#39;,lbl=&#39;!!Codice&#39;,readOnly=True)<br>
<br>
        fb.dbSelect(dbtable=&#39;portal.procedura&#39;,columns=&#39;$codice,$descrizione&#39;,limit=30,<br>
                    auxColumns=&#39;$codice,$descrizione&#39;,value=&#39;^.codice_procedura&#39;,<br>
                    _class=&#39;gnrfield&#39;,lbl=&#39;!!Procedura&#39;,width=&#39;38em&#39;,hasDownArrow=True)<br>
<br>
        fb.textbox(value=&#39;^.codice_procedura&#39;,lbl=&#39;!!Codice&#39;,readOnly=True)<br>
----------------------------------------------------------<br>
<br>
<br>
<br>
Tutto qui. La pappa pronta è nel framework e quindi non mi sono<br>
certo ammazzato di lavoro ;)<br>
<br>
<br>
Se sei interessato ad approfondire per tua curiosità personale fammelo<br>
sapere.<br>
<br>
<br>
Ciao<br>
<div><div></div><div class="h5"><br>
G<br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</div></div></blockquote></div><br><div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup {  position:absolute;  z-index:9999;  padding: 0px 0px;  margin-left: 0px;  margin-top: 0px;  width: 240px;  overflow: hidden;  word-wrap: break-word;  color: black;  font-size: 10px;  text-align: left;  line-height: 13px;}</style></div>