[OSM-talk-fr] Y-a-t-il un expert Python dans la salle ?

Etienne Chové chove at crans.org
Mer 8 Juil 16:13:01 UTC 2009


Pieren a écrit :
> Malheureusement, j'ai l'impression que ma version tente de charger le
> document en entier en mémoire pour le parsing XML, ce qui n'est pas
> souhaité en particulier lorsque ce document fait 1.4 GB.

Il y a deux grandes familles de parseurs :
  - ceux qui chargent tout le document en ram, donc permettent un accès
    aléatoire à tous les éléments du document
  - ceux qui parsent un document de façon linéaire et qui donnent à
    un 'handler' les éléments les uns après les autres

bulk_upload utilise xml.etree qui est du premier type. Il faudrait donc 
utiliser un sax (classe xml.sax). L'inconvenient de sax est qu'il ne 
permet pas de recontruire un document xml à partir d'un nœud (comme le 
fait bulk_upload avec ET).

Quitte à utiliser sax, autant réutiliser les bibliothèques de parsage et 
d'envoi vers l'api d'osmose, presque tout est fait. Je regarderai ça 
vendredi si personne ne l'a fait d'ici là. Le serveur de yoann étant hs 
(?) je ne peut pas donner de liens vers ces lib.

-- 
Etienne




Plus d'informations sur la liste de diffusion Talk-fr