Le post « Accès à une liste triée de doublet » m'a beaucoup aidé à
comprendre le fonctionnement des listes.
De plus, j'ai découvert des fonctions fortes intéressantes comme zip,
iter, etc...
Je pense que ce post est à la limite du hors sujet (Python) mais vu le
peu d'informations sur Zope/Python/TAL ......
Alors, excusez-moi si c'est le cas.
Voilà :
Je suis confronté à un problème difficile pour moi.
Le voilà.
J'ai la structure suivante (vu en partie dans le post précédant « Accès
à une liste triée de doublet »), que je ne peux _pas_ modifier (cf.
ci-dessous).
Et je dois aus sein d'un template python (.pt) faire en sorte de
récupérer quelque chose comme ça :
Je réussi pas à utiliser les informations apprises dans le post précédant !
De plus et en plus d'utiliser Python, il faudra utiliser le ZPT (Zope
Python Template language).
Je ne m'en sort pas !
Le problème est de récupérer, à la fois, le titre et le chemin dans un
boucle tal:repeat !!!
Quelqu'un peut-il m'aider ???
MERCI.
Contenu de la liste (Python)
============================
liste =
[
[ # sub tree 1
[ # sub sub tree 1
'title11', 'path11',
'subtitle111', 'subpath111',
'subtitle112', 'subpath112',
'subtitle113', 'subpath113',
'subtitle114', 'subpath114',
'subtitle115', 'subpath115',
],
[ # sub sub tree 2
'title12', 'path12',
'subtitle121', 'subpath121',
'subtitle122', 'subpath122',
'subtitle123', 'subpath123',
'subtitle124', 'subpath124',
'subtitle125', 'subpath125',
]
],
[ # sub tree 2
[ # sub sub tree 1
'title21', 'path21',
'subtitle211', 'subpath211',
'subtitle212', 'subpath212',
'subtitle213', 'subpath213',
'subtitle214', 'subpath214',
'subtitle215', 'subpath215',
],
[ # sub sub tree 2
'title22', 'path22',
'subtitle221', 'subpath221',
'subtitle222', 'subpath222',
'subtitle223', 'subpath223',
'subtitle224', 'subpath224',
'subtitle225', 'subpath225',
],
[ # sub sub tree 3
'title23', 'path23',
'subtitle231', 'subpath231',
'subtitle232', 'subpath232',
'subtitle233', 'subpath233',
'subtitle234', 'subpath234',
'subtitle235', 'subpath235',
]
],
[ # sub tree 3
[# sub sub tree 1
'title31', 'path31',
'subtitle311', 'subpath311',
'subtitle312', 'subpath312',
'subtitle313', 'subpath313',
'subtitle314', 'subpath314',
'subtitle315', 'subpath315',
]
],
]
Un très grand M E R C I à toi Bruno pour ton aide très très précieuse.
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
Par contre, si tu as un instant dans les jours qui viennent et que tu as la réponse, peux-tu répondre à la question précédente, à savoir :
- Pourquoi sous Zope, dois-je supprimer le script Python du dossier custom, le reprendre dans le répertoire source python, le modifier en le customisant, lui ajouter le paramètre, puis enfin faire un save pour le récupérer enfin modifier dans le dossier custom ?
Ca y est !
Ca marche enfin
Un très grand M E R C I à toi Bruno pour ton aide très très précieuse.
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
Par contre, si tu as un instant dans les jours qui viennent et que tu as
la réponse, peux-tu répondre à la question précédente, à savoir :
- Pourquoi sous Zope, dois-je supprimer le script Python du dossier
custom, le reprendre dans le répertoire source python, le modifier en le
customisant, lui ajouter le paramètre, puis enfin faire un save pour le
récupérer enfin modifier dans le dossier custom ?
Un très grand M E R C I à toi Bruno pour ton aide très très précieuse.
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
Par contre, si tu as un instant dans les jours qui viennent et que tu as la réponse, peux-tu répondre à la question précédente, à savoir :
- Pourquoi sous Zope, dois-je supprimer le script Python du dossier custom, le reprendre dans le répertoire source python, le modifier en le customisant, lui ajouter le paramètre, puis enfin faire un save pour le récupérer enfin modifier dans le dossier custom ?
R12y
Dominique Crétel :
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
N'oublie pas de nous faire un tutoriel, pour les futurs apprentis ;-)
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
N'oublie pas de nous faire un tutoriel, pour les futurs apprentis ;-)
Pas immédiatement, mais oui je veux bien ;-)
Comment fait-on ?
bruno at modulix
Dominique Crétel wrote:
Ca y est ! Ca marche enfin
Un très grand M E R C I à toi Bruno pour ton aide très très précieuse.
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
Par contre, si tu as un instant dans les jours qui viennent et que tu as la réponse, peux-tu répondre à la question précédente, à savoir :
- Pourquoi sous Zope, dois-je supprimer le script Python du dossier custom, le reprendre dans le répertoire source python, le modifier en le customisant, lui ajouter le paramètre, puis enfin faire un save pour le récupérer enfin modifier dans le dossier custom ?
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
NB : Avec Zope "tout nu" (ie: sans CMF ni rien), il n'y a rien de semblable: les scripts python sont juste des objets dans la ZODB, sans rapport avec quoi que ce soit d'autre sur le filesystem.
D'après ce que tu décris, je subodore l'utilisation d'une appli basée sur CMF - ou au moins utilisant les "skins" façon CMF. Dans ce cas, il n'est pas forcément "nécessaire" de passer par toutes les op que tu décrit. Le temps de la mise au point, travaille sur la copie du script dans le dossier 'custom', et une fois que ça fonctionne, modifie le source en conséquence et met à jour le produit -> (Control_Panel/Products/<ton_produit>/refresh).
Mais bon, difficile de répondre sans en savoir plus sur ta conf, ton archi, les produits employés etc...
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Dominique Crétel wrote:
Ca y est !
Ca marche enfin
Un très grand M E R C I à toi Bruno pour ton aide très très précieuse.
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
Par contre, si tu as un instant dans les jours qui viennent et que tu as
la réponse, peux-tu répondre à la question précédente, à savoir :
- Pourquoi sous Zope, dois-je supprimer le script Python du dossier
custom, le reprendre dans le répertoire source python, le modifier en le
customisant, lui ajouter le paramètre, puis enfin faire un save pour le
récupérer enfin modifier dans le dossier custom ?
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
NB : Avec Zope "tout nu" (ie: sans CMF ni rien), il n'y a rien de
semblable: les scripts python sont juste des objets dans la ZODB, sans
rapport avec quoi que ce soit d'autre sur le filesystem.
D'après ce que tu décris, je subodore l'utilisation d'une appli basée
sur CMF - ou au moins utilisant les "skins" façon CMF. Dans ce cas, il
n'est pas forcément "nécessaire" de passer par toutes les op que tu
décrit. Le temps de la mise au point, travaille sur la copie du script
dans le dossier 'custom', et une fois que ça fonctionne, modifie le
source en conséquence et met à jour le produit ->
(Control_Panel/Products/<ton_produit>/refresh).
Mais bon, difficile de répondre sans en savoir plus sur ta conf, ton
archi, les produits employés etc...
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Un très grand M E R C I à toi Bruno pour ton aide très très précieuse.
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
Par contre, si tu as un instant dans les jours qui viennent et que tu as la réponse, peux-tu répondre à la question précédente, à savoir :
- Pourquoi sous Zope, dois-je supprimer le script Python du dossier custom, le reprendre dans le répertoire source python, le modifier en le customisant, lui ajouter le paramètre, puis enfin faire un save pour le récupérer enfin modifier dans le dossier custom ?
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
NB : Avec Zope "tout nu" (ie: sans CMF ni rien), il n'y a rien de semblable: les scripts python sont juste des objets dans la ZODB, sans rapport avec quoi que ce soit d'autre sur le filesystem.
D'après ce que tu décris, je subodore l'utilisation d'une appli basée sur CMF - ou au moins utilisant les "skins" façon CMF. Dans ce cas, il n'est pas forcément "nécessaire" de passer par toutes les op que tu décrit. Le temps de la mise au point, travaille sur la copie du script dans le dossier 'custom', et une fois que ça fonctionne, modifie le source en conséquence et met à jour le produit -> (Control_Panel/Products/<ton_produit>/refresh).
Mais bon, difficile de répondre sans en savoir plus sur ta conf, ton archi, les produits employés etc...
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Dominique Crétel
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
j'utilise Zope/CPS2
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
j'utilise Zope/CPS2
R12y
Dominique Crétel :
Je commence en fin à comprendre un peu comment cette partie là fonctionne. N'oublie pas de nous faire un tutoriel, pour les futurs apprentis ;-)
Pas immédiatement, mais oui je veux bien ;-)
Comment fait-on ?
Rédige au kilometre, je m'occupe de la mise en forme. Tu peux même rédiger maladroitement, je m'occuperai de faire le reste. Envoie le moi ensuite, par mail par exemple...
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
N'oublie pas de nous faire un tutoriel, pour les futurs apprentis ;-)
Pas immédiatement, mais oui je veux bien ;-)
Comment fait-on ?
Rédige au kilometre, je m'occupe de la mise en forme.
Tu peux même rédiger maladroitement, je m'occuperai de faire le reste.
Envoie le moi ensuite, par mail par exemple...
Je commence en fin à comprendre un peu comment cette partie là fonctionne. N'oublie pas de nous faire un tutoriel, pour les futurs apprentis ;-)
Pas immédiatement, mais oui je veux bien ;-)
Comment fait-on ?
Rédige au kilometre, je m'occupe de la mise en forme. Tu peux même rédiger maladroitement, je m'occuperai de faire le reste. Envoie le moi ensuite, par mail par exemple...
Je commence en fin à comprendre un peu comment cette partie là fonctionne. N'oublie pas de nous faire un tutoriel, pour les futurs apprentis ;-)
Pas immédiatement, mais oui je veux bien ;-)
Comment fait-on ?
Rédige au kilometre, je m'occupe de la mise en forme. Tu peux même rédiger maladroitement, je m'occuperai de faire le reste. Envoie le moi ensuite, par mail par exemple...
ok, promis, je le ferrai. mais comme je l'ai dit, pas maintenant faute de temps.
Dominique Crétel :
Je commence en fin à comprendre un peu comment cette partie là fonctionne.
N'oublie pas de nous faire un tutoriel, pour les futurs apprentis ;-)
Pas immédiatement, mais oui je veux bien ;-)
Comment fait-on ?
Rédige au kilometre, je m'occupe de la mise en forme.
Tu peux même rédiger maladroitement, je m'occuperai de faire le reste.
Envoie le moi ensuite, par mail par exemple...
ok, promis, je le ferrai.
mais comme je l'ai dit, pas maintenant faute de temps.
Je commence en fin à comprendre un peu comment cette partie là fonctionne. N'oublie pas de nous faire un tutoriel, pour les futurs apprentis ;-)
Pas immédiatement, mais oui je veux bien ;-)
Comment fait-on ?
Rédige au kilometre, je m'occupe de la mise en forme. Tu peux même rédiger maladroitement, je m'occuperai de faire le reste. Envoie le moi ensuite, par mail par exemple...
ok, promis, je le ferrai. mais comme je l'ai dit, pas maintenant faute de temps.
bruno at modulix
Dominique Crétel wrote:
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
j'utilise Zope/CPS2
Alors effectivement, c'est basé sur CMF. Par contre, je n'ai jamais utilisé CPS < 3.x, donc je ne sais pas trop comment marchent les 2.x...
Mais bon, pour répondre à ta question initiale, le problème que tu décrit est lié au composant "skins" du CMF, qui permet un 'mapping' filesystem->ZODB de certains composants (scripts, DTML, ZPT, images, ...). Ceci étant, une fois que tu a fait une copie dans la ZODB (dossier 'custom'), tu a un PythonScript tout à fait normal, il ne devrait donc pas être nécessaire de passer par toutes les étapes que tu décris (ce ne serait en tous cas pas nécessaire avec des versions plus récentes...).
En tout état de cause, ce n'est pas lié à Zope, mais à CMF/CPS. BTW, il y a une mailing-list CPS... Tu devrais peut-être t'y inscrire ?
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Dominique Crétel wrote:
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
j'utilise Zope/CPS2
Alors effectivement, c'est basé sur CMF. Par contre, je n'ai jamais
utilisé CPS < 3.x, donc je ne sais pas trop comment marchent les 2.x...
Mais bon, pour répondre à ta question initiale, le problème que tu
décrit est lié au composant "skins" du CMF, qui permet un 'mapping'
filesystem->ZODB de certains composants (scripts, DTML, ZPT, images,
...). Ceci étant, une fois que tu a fait une copie dans la ZODB (dossier
'custom'), tu a un PythonScript tout à fait normal, il ne devrait donc
pas être nécessaire de passer par toutes les étapes que tu décris (ce ne
serait en tous cas pas nécessaire avec des versions plus récentes...).
En tout état de cause, ce n'est pas lié à Zope, mais à CMF/CPS. BTW, il
y a une mailing-list CPS... Tu devrais peut-être t'y inscrire ?
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Tu utilises quoi avec Zope ? CMF ? Plone ? CPS ? Autre ?
j'utilise Zope/CPS2
Alors effectivement, c'est basé sur CMF. Par contre, je n'ai jamais utilisé CPS < 3.x, donc je ne sais pas trop comment marchent les 2.x...
Mais bon, pour répondre à ta question initiale, le problème que tu décrit est lié au composant "skins" du CMF, qui permet un 'mapping' filesystem->ZODB de certains composants (scripts, DTML, ZPT, images, ...). Ceci étant, une fois que tu a fait une copie dans la ZODB (dossier 'custom'), tu a un PythonScript tout à fait normal, il ne devrait donc pas être nécessaire de passer par toutes les étapes que tu décris (ce ne serait en tous cas pas nécessaire avec des versions plus récentes...).
En tout état de cause, ce n'est pas lié à Zope, mais à CMF/CPS. BTW, il y a une mailing-list CPS... Tu devrais peut-être t'y inscrire ?
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
Dominique Crétel
Encore une question :
Contenu de ma liste (Python) =========================== >> liste >> [ [ # sub tree 1 [ # sub sub tree 1 'title11', 'path11', 'subtitle111', 'subpath111', 'subtitle112', 'subpath112', 'subtitle113', 'subpath113', 'subtitle114', 'subpath114', 'subtitle115', 'subpath115', ], [ # sub sub tree 2 'title12', 'path12', 'subtitle121', 'subpath121', 'subtitle122', 'subpath122', 'subtitle123', 'subpath123', 'subtitle124', 'subpath124', 'subtitle125', 'subpath125', ] ], [ # sub tree 2 [ # sub sub tree 1 'title21', 'path21', 'subtitle211', 'subpath211', 'subtitle212', 'subpath212', 'subtitle213', 'subpath213', 'subtitle214', 'subpath214', 'subtitle215', 'subpath215', ], [ # sub sub tree 2 'title22', 'path22', 'subtitle221', 'subpath221', 'subtitle222', 'subpath222', 'subtitle223', 'subpath223', 'subtitle224', 'subpath224', 'subtitle225', 'subpath225', ], [ # sub sub tree 3 'title23', 'path23', 'subtitle231', 'subpath231', 'subtitle232', 'subpath232', 'subtitle233', 'subpath233', 'subtitle234', 'subpath234', 'subtitle235', 'subpath235', ] ], [ # sub tree 3 [# sub sub tree 1 'title31', 'path31', 'subtitle311', 'subpath311', 'subtitle312', 'subpath312', 'subtitle313', 'subpath313', 'subtitle314', 'subpath314', 'subtitle315', 'subpath315', ] ], ]
L'ordre des "rubriques/sous-rubriques/sections" est très *important* et ne peut être changé !!!
Maintenant qu'on a un template à peu près lisible, il ne reste plus qu'à implémenter le script qui va transformer ta liste en une structure de données plus simplement utilisable, ie :
Est-ce que le fait d'utiliser ici un dictionnaire Python, peut entrainer une modification de l'ordre des "rubriques/sous-rubriques/sections" ?
Encore une question :
Contenu de ma liste (Python)
=========================== >>
liste >> [
[ # sub tree 1
[ # sub sub tree 1
'title11', 'path11',
'subtitle111', 'subpath111',
'subtitle112', 'subpath112',
'subtitle113', 'subpath113',
'subtitle114', 'subpath114',
'subtitle115', 'subpath115',
],
[ # sub sub tree 2
'title12', 'path12',
'subtitle121', 'subpath121',
'subtitle122', 'subpath122',
'subtitle123', 'subpath123',
'subtitle124', 'subpath124',
'subtitle125', 'subpath125',
]
],
[ # sub tree 2
[ # sub sub tree 1
'title21', 'path21',
'subtitle211', 'subpath211',
'subtitle212', 'subpath212',
'subtitle213', 'subpath213',
'subtitle214', 'subpath214',
'subtitle215', 'subpath215',
],
[ # sub sub tree 2
'title22', 'path22',
'subtitle221', 'subpath221',
'subtitle222', 'subpath222',
'subtitle223', 'subpath223',
'subtitle224', 'subpath224',
'subtitle225', 'subpath225',
],
[ # sub sub tree 3
'title23', 'path23',
'subtitle231', 'subpath231',
'subtitle232', 'subpath232',
'subtitle233', 'subpath233',
'subtitle234', 'subpath234',
'subtitle235', 'subpath235',
]
],
[ # sub tree 3
[# sub sub tree 1
'title31', 'path31',
'subtitle311', 'subpath311',
'subtitle312', 'subpath312',
'subtitle313', 'subpath313',
'subtitle314', 'subpath314',
'subtitle315', 'subpath315',
]
],
]
L'ordre des "rubriques/sous-rubriques/sections" est très *important* et
ne peut être changé !!!
Maintenant qu'on a un template à peu près lisible, il ne reste plus qu'à
implémenter le script qui va transformer ta liste en une structure de
données plus simplement utilisable, ie :
Contenu de ma liste (Python) =========================== >> liste >> [ [ # sub tree 1 [ # sub sub tree 1 'title11', 'path11', 'subtitle111', 'subpath111', 'subtitle112', 'subpath112', 'subtitle113', 'subpath113', 'subtitle114', 'subpath114', 'subtitle115', 'subpath115', ], [ # sub sub tree 2 'title12', 'path12', 'subtitle121', 'subpath121', 'subtitle122', 'subpath122', 'subtitle123', 'subpath123', 'subtitle124', 'subpath124', 'subtitle125', 'subpath125', ] ], [ # sub tree 2 [ # sub sub tree 1 'title21', 'path21', 'subtitle211', 'subpath211', 'subtitle212', 'subpath212', 'subtitle213', 'subpath213', 'subtitle214', 'subpath214', 'subtitle215', 'subpath215', ], [ # sub sub tree 2 'title22', 'path22', 'subtitle221', 'subpath221', 'subtitle222', 'subpath222', 'subtitle223', 'subpath223', 'subtitle224', 'subpath224', 'subtitle225', 'subpath225', ], [ # sub sub tree 3 'title23', 'path23', 'subtitle231', 'subpath231', 'subtitle232', 'subpath232', 'subtitle233', 'subpath233', 'subtitle234', 'subpath234', 'subtitle235', 'subpath235', ] ], [ # sub tree 3 [# sub sub tree 1 'title31', 'path31', 'subtitle311', 'subpath311', 'subtitle312', 'subpath312', 'subtitle313', 'subpath313', 'subtitle314', 'subpath314', 'subtitle315', 'subpath315', ] ], ]
L'ordre des "rubriques/sous-rubriques/sections" est très *important* et ne peut être changé !!!
Maintenant qu'on a un template à peu près lisible, il ne reste plus qu'à implémenter le script qui va transformer ta liste en une structure de données plus simplement utilisable, ie :
Est-ce que le fait d'utiliser ici un dictionnaire Python, peut entrainer une modification de l'ordre des "rubriques/sous-rubriques/sections" ?
Dominique Crétel
Encore une question :
Contenu de ma liste (Python) =========================== >>> liste >>> [ [ # sub tree 1 [ # sub sub tree 1 'title11', 'path11', 'subtitle111', 'subpath111', 'subtitle112', 'subpath112', 'subtitle113', 'subpath113', 'subtitle114', 'subpath114', 'subtitle115', 'subpath115', ], [ # sub sub tree 2 'title12', 'path12', 'subtitle121', 'subpath121', 'subtitle122', 'subpath122', 'subtitle123', 'subpath123', 'subtitle124', 'subpath124', 'subtitle125', 'subpath125', ] ], [ # sub tree 2 [ # sub sub tree 1 'title21', 'path21', 'subtitle211', 'subpath211', 'subtitle212', 'subpath212', 'subtitle213', 'subpath213', 'subtitle214', 'subpath214', 'subtitle215', 'subpath215', ], [ # sub sub tree 2 'title22', 'path22', 'subtitle221', 'subpath221', 'subtitle222', 'subpath222', 'subtitle223', 'subpath223', 'subtitle224', 'subpath224', 'subtitle225', 'subpath225', ], [ # sub sub tree 3 'title23', 'path23', 'subtitle231', 'subpath231', 'subtitle232', 'subpath232', 'subtitle233', 'subpath233', 'subtitle234', 'subpath234', 'subtitle235', 'subpath235', ] ], [ # sub tree 3 [# sub sub tree 1 'title31', 'path31', 'subtitle311', 'subpath311', 'subtitle312', 'subpath312', 'subtitle313', 'subpath313', 'subtitle314', 'subpath314', 'subtitle315', 'subpath315', ] ], ]
L'ordre des "rubriques/sous-rubriques/sections" est très *important* et ne peut être changé !!!
Est-ce que le fait d'utiliser ici un dictionnaire Python, peut entrainer une modification de l'ordre des "rubriques/sous-rubriques/sections" ?
Petite précision, la structure utilisée est la suivante :
## parameters=liste menu = [] for sublist in liste[:]: # la première entrée est "l'entête" de menu title, path = sublist.pop(0), sublist.pop(0) header = {'path' : path, 'title': title}
# les entrées suivantes sont les éléments du menu entries = [] while sublist: title, path = sublist.pop(0), sublist.pop(0) entries.append({'title': title, 'path': path})
Contenu de ma liste (Python)
=========================== >>>
liste >>> [
[ # sub tree 1
[ # sub sub tree 1
'title11', 'path11',
'subtitle111', 'subpath111',
'subtitle112', 'subpath112',
'subtitle113', 'subpath113',
'subtitle114', 'subpath114',
'subtitle115', 'subpath115',
],
[ # sub sub tree 2
'title12', 'path12',
'subtitle121', 'subpath121',
'subtitle122', 'subpath122',
'subtitle123', 'subpath123',
'subtitle124', 'subpath124',
'subtitle125', 'subpath125',
]
],
[ # sub tree 2
[ # sub sub tree 1
'title21', 'path21',
'subtitle211', 'subpath211',
'subtitle212', 'subpath212',
'subtitle213', 'subpath213',
'subtitle214', 'subpath214',
'subtitle215', 'subpath215',
],
[ # sub sub tree 2
'title22', 'path22',
'subtitle221', 'subpath221',
'subtitle222', 'subpath222',
'subtitle223', 'subpath223',
'subtitle224', 'subpath224',
'subtitle225', 'subpath225',
],
[ # sub sub tree 3
'title23', 'path23',
'subtitle231', 'subpath231',
'subtitle232', 'subpath232',
'subtitle233', 'subpath233',
'subtitle234', 'subpath234',
'subtitle235', 'subpath235',
]
],
[ # sub tree 3
[# sub sub tree 1
'title31', 'path31',
'subtitle311', 'subpath311',
'subtitle312', 'subpath312',
'subtitle313', 'subpath313',
'subtitle314', 'subpath314',
'subtitle315', 'subpath315',
]
],
]
L'ordre des "rubriques/sous-rubriques/sections" est très *important* et
ne peut être changé !!!
Est-ce que le fait d'utiliser ici un dictionnaire Python, peut entrainer
une modification de l'ordre des "rubriques/sous-rubriques/sections" ?
Petite précision, la structure utilisée est la suivante :
## parameters=liste
menu = []
for sublist in liste[:]:
# la première entrée est "l'entête" de menu
title, path = sublist.pop(0), sublist.pop(0)
header = {'path' : path, 'title': title}
# les entrées suivantes sont les éléments du menu
entries = []
while sublist:
title, path = sublist.pop(0), sublist.pop(0)
entries.append({'title': title, 'path': path})
Contenu de ma liste (Python) =========================== >>> liste >>> [ [ # sub tree 1 [ # sub sub tree 1 'title11', 'path11', 'subtitle111', 'subpath111', 'subtitle112', 'subpath112', 'subtitle113', 'subpath113', 'subtitle114', 'subpath114', 'subtitle115', 'subpath115', ], [ # sub sub tree 2 'title12', 'path12', 'subtitle121', 'subpath121', 'subtitle122', 'subpath122', 'subtitle123', 'subpath123', 'subtitle124', 'subpath124', 'subtitle125', 'subpath125', ] ], [ # sub tree 2 [ # sub sub tree 1 'title21', 'path21', 'subtitle211', 'subpath211', 'subtitle212', 'subpath212', 'subtitle213', 'subpath213', 'subtitle214', 'subpath214', 'subtitle215', 'subpath215', ], [ # sub sub tree 2 'title22', 'path22', 'subtitle221', 'subpath221', 'subtitle222', 'subpath222', 'subtitle223', 'subpath223', 'subtitle224', 'subpath224', 'subtitle225', 'subpath225', ], [ # sub sub tree 3 'title23', 'path23', 'subtitle231', 'subpath231', 'subtitle232', 'subpath232', 'subtitle233', 'subpath233', 'subtitle234', 'subpath234', 'subtitle235', 'subpath235', ] ], [ # sub tree 3 [# sub sub tree 1 'title31', 'path31', 'subtitle311', 'subpath311', 'subtitle312', 'subpath312', 'subtitle313', 'subpath313', 'subtitle314', 'subpath314', 'subtitle315', 'subpath315', ] ], ]
L'ordre des "rubriques/sous-rubriques/sections" est très *important* et ne peut être changé !!!
Est-ce que le fait d'utiliser ici un dictionnaire Python, peut entrainer une modification de l'ordre des "rubriques/sous-rubriques/sections" ?
Petite précision, la structure utilisée est la suivante :
## parameters=liste menu = [] for sublist in liste[:]: # la première entrée est "l'entête" de menu title, path = sublist.pop(0), sublist.pop(0) header = {'path' : path, 'title': title}
# les entrées suivantes sont les éléments du menu entries = [] while sublist: title, path = sublist.pop(0), sublist.pop(0) entries.append({'title': title, 'path': path})