[Python] [OT Python, ma tema:programmare e' una cosa seria] Al giudizio di voi programmatori seri

Giovanni Porcari giovanni.porcari a softwell.it
Sab 24 Apr 2010 13:38:39 CEST


Il giorno 24/apr/2010, alle ore 10.35, mauro ha scritto:

> Il giorno sab, 24/04/2010 alle 04.25 +0200, Giovanni Porcari ha scritto:
>> Il giorno 23/apr/2010, alle ore 21.52, mauro ha scritto:
> 
>> Caro Mauro
>> come soluzione provvisoria un piccolo aiuto
>> per dimostrarti che i pythonisti non sono
>> insensibili... ;)
>> 
>> http://www.genropy.net/codice
> 
> Giovanni, e' favoloso!!!
> 
> Ed e' favolosa l'idea che lo diffondero' subito ai miei colleghi in MIR,
> e, ovviamente, soprattutto dovra' essere portato ad esempio di come si
> fanno i programmi seri per aiutare gli utilizzatori a gestire i dati in
> maniera rapida ed efficiente.
> 
> Ma, fammi capire, l'hai fatto tu? Almeno mi sembra di intuire...ed e' in
> python?
> 
> Grazie, corro a diffondere :-)
> 


Sono felice che ti sia piaciuto :)

Ti confermo che è fatto in python, che come usa come
db postgresql. Il framework si chiama Genropy ed 
è il frutto del nostro duro lavoro degli ultimi 4 anni.
Il db è stato caricato dai dati che cortesemente ha 
postato Simone e il codice che ho dovuto scrivere per ottenere
il risultato che vedi è il seguente :


Tabella diagnosi:
----------------------------------------------------------
class Table(object):
    def config_db(self, pkg):
        tbl =  pkg.table('diagnosi',pkey='codice',name_long='!!Diagnosi',
                      name_plural='!!Tabella',rowcaption='$descrizione')
        self.sysFields(tbl,id=False)
        tbl.column('codice',name_long='!!Codice')
        tbl.column('descrizione',name_long='!!Descrizione')
----------------------------------------------------------

Tabella procedura:
----------------------------------------------------------
class Table(object):
    def config_db(self, pkg):
        tbl =  pkg.table('procedura',pkey='codice',name_long='!!Procedura',
                      name_plural='!!Procedura',rowcaption='$descrizione')
        self.sysFields(tbl,id=False)
        tbl.column('codice',name_long='!!Codice')
        tbl.column('descrizione',name_long='!!Descrizione')  
----------------------------------------------------------


Pagina web che gestisce le ricerche:
----------------------------------------------------------

class GnrCustomWebPage(object):
    def windowTitle(self):
        return 'Codici'
         
    def main(self, root, **kwargs):
        rect=root.div(_class='shadow_2 rounded_medium',border='1px solid green',
                       color='#152A32',background_color='#fefff6',position='relative',
                       margin_top='20px',margin_left='20px',width='50em',height='30ex')
        
        rect.div('Diagnosi e Procedure',text_align='center',margin='5px',font_size='1.7em')
        rect.div('Genropy',position='absolute',bottom='5px',left='10px',font_size='.8em')
        
        fb = rect.formbuilder(cols=1, border_spacing='8px',datapath='data',
                              margin_top='20px',margin_left='20px')
                              
        fb.dbSelect(dbtable='portal.diagnosi',columns='$codice,$descrizione',limit=30,
                    auxColumns='$codice,$descrizione',value='^.codice_diagnosi',
                    _class='gnrfield',lbl='!!Diagnosi',width='38em',hasDownArrow=True)
                    
        fb.textbox(value='^.codice_diagnosi',lbl='!!Codice',readOnly=True)
        
        fb.dbSelect(dbtable='portal.procedura',columns='$codice,$descrizione',limit=30,
                    auxColumns='$codice,$descrizione',value='^.codice_procedura',
                    _class='gnrfield',lbl='!!Procedura',width='38em',hasDownArrow=True)
                    
        fb.textbox(value='^.codice_procedura',lbl='!!Codice',readOnly=True)
----------------------------------------------------------



Tutto qui. La pappa pronta è nel framework e quindi non mi sono 
certo ammazzato di lavoro ;)


Se sei interessato ad approfondire per tua curiosità personale fammelo
sapere.


Ciao

G


Maggiori informazioni sulla lista Python