[Linuxtrent] Re: python: traits e pickle

  • From: Emanuele Olivetti <olivetti@xxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Fri, 7 Nov 2003 19:11:16 +0100

On Fri, Nov 07, 2003 at 02:15:38PM +0100, Luca Manini wrote:
> >>>>> "Emanuele" == Emanuele Olivetti <olivetti@xxxxxx> writes:
> 
>     Emanuele> Visto che c'e' qualche esperto di Python Traits (e di
>     Emanuele> Python) vi chiedo questo: perche' la serializzazione di
>     Emanuele> una classe che usa i Traits mi da errore ("TypeError:
>     Emanuele> can't pickle function objects")?
> 
>     Uhmmm, un volontario per una serata su traits...interessante!

!!!!!!! Magari fossi competente a sufficienza
 
>     credo che la definizione 'unknown' sia una shortcut che alla fine
>     viene trasformata in Traits('unknown') o qualcosa di simile;
>     quindi i valori del tuo dizionario potrebbero alla fine essere
>     funzioni che pickle non pare gradire.
> 
>       mo' controllo meglio...

Nel feattempo ho approfondito (in realta' mi ha illumitato lo
stesso A.Martelli): sembra che ci siano funzioni dentro la
classe Traits che mi rendono il tutto non serializzabile. Il
consiglio che ho ricevuto e' quello di implementarmi la
funzione __getstate__ , cosa che ho indagato e sto facendo.
Con 3 righe di __getstate__ (dove specifico cosa serializzare)
sembra funzionare, ma ho scritto a David Morril (autore dei traits)
per avere lumi. I traits sono suoi per cui dovrebbe sapere meglio di
me se la piccola banalita' che ho aggiunto non provoca casini
al resto.

Appena ho news ti faccio sapere.

Ciao!

                                                Emanuele
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: