a4-dev team mailing list archive
-
a4-dev team
-
Mailing list archive
-
Message #00045
Re: merge per trasformazioni
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
Follow ups
References