On Mon, 2010-05-31 at 15:10 +0200, Andrea Gasparini wrote:
> ciao,
> ho proposto merge per la parte di codice che prende 
> Cose da notare:
> 1) ho aggiunto lxml e numpy come dipendenze. lxml non è nella stdlib di 
> python, ma mi pare che si possa usare per facilitare *parecchio* l'accesso 
> all'SVG.

Per lxml sono d'accordo con te: è effettivamente più comodo dei moduli
nella libreria standard. Ma per quanto riguarda numpy: quali sono le
feature che ci servono?

> 2) non ho modificato la parte che legge i metadata perchè non avevo modo di 
> provarlo: Andrea(Corb), avevi scritto un qualche esempio, quando hai 
> buttato giu' quel codice?
> Se hai un esempio, penso io a recuperare la lista per la presentazione.

I metadati correntemente non vengono utilizzati. L'unica cosa che
sappiamo su di essi è che sono contenuti in un oggetto JSON all'interno
del file SVG. Ora c'è da decidere cosa mettere esattamente in quei
metadati. Io farei una cosa del genere:

  {"path": ["frame-1", "frame-2", ...]}

Dove "path" identifica il percorso della presentazione e "frame-X" sono
degli ID di oggetti contenuti nel file XML.

> 3) ho aggiunto una keyword al costruttore di Presentation(), per riuscire 
> ad aprire anche SVG fatti alla bisogna senza stare a scrivere i metadati 
> della presentazione.

Con il tuo branch e quello di Gualano siamo molto vicini ad usare i
metadati, quindi tra poco questa modifica potrebbe portare a dei
problemi. In fondo, l'unica cosa che hai bisogno di scrivere è:

  <metadata id="a4-presentation-information">[]</metadata>

> 4) funziona: :D
> >>>filename='/home/gaspa/Projects/a4/a4-textbox/svg/A4testdrive.svg'
> >>>pres = presentation.Presentation(filename,force_loading=True)
> >>>pres.get_item_properties_by_id('rect2816-4')
> REDUCE: [[0.76962955, -0.63849069000000003, 0.63849069000000003, 
> 0.76962955, 0.0, 0.0]]
> Out[12]: 
> {'height': 91.428573999999998,
>  'rotation': 0.69253557787351905,
>  'transform': array([[ 0.76962955,  0.63849069,  0.        ],
>        [-0.63849069,  0.76962955,  0.        ],
>        [ 0.        ,  0.        ,  1.        ]]),
>  'width': 172.85714999999999,
>  'x': 44.288573999999997,
>  'y': 362.78784000000002}

Bello, ma... esattamente quei numeri a cosa servono? Potresti creare un
oggetto Transformation con dei comodi commenti/docstring al posto di
usare un dizionario?

Thanks,
Andrea

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Mailing list: https://launchpad.net/~a4-dev
Post to     : a4-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~a4-dev
More help   : https://help.launchpad.net/ListHelp

Rispondere a