[weboob] [weboob - Feature #403] ICapVideo may support paths

Nicolas Duhamel nicolas.duhamel2 at gmail.com
Fri Nov 19 08:52:49 CET 2010


 On Fri, 19 Nov 2010 00:32:49 +0100, Romain Bignon wrote:
> On 18/Nov - 09:28, Nicolas Duhamel wrote:
>> En français,
>
> Ce sera plus simple.
 Of course !
>
>> >Firstly, why have you written @weboob.tools.path@ which is really
>> >similar to @os.path@? I don't think there are lot of new things in
>> >this module
>>
>> L'objet PathMap est le seul intérêt de ce fichier, il permet de
>> gérer facilement les paths.
>> Ce fichier est emprunté à un autre projet python (je dois corriger
>> la licence) et doit être
>> réécrit.
>
> Ok. En fait on peut garder PathMap éventuellement (même si je n'ai 
> pas encore
> regardé exactement ce qu'il fait).
>
> Si j'ai bien compris, il s'agit d'avoir l'intégralité de l'arbre 
> contenu ?
>
> Je ne sais pas si c'est vraiment nécessaire, d'autant plus qu'on ne
> connaît pas
> nécessairement l'intégralité de l'arbre du site. Par exemple un site
> de séries,
> on ne les connait pas toutes, pourtant une série = un nœud, qui 
> contient une
> liste de nœuds que sont les saisons, puis qui contiennent les
> épisodes qui sont
> des objets Video.

 Sur ce point je suis d'accord, j'utilise pour le moment PathMap pour 
 permettre un
 développement plus rapide, mais à l'usage je me rends compte qu'il 
 n'est pas tout à
 fait adapter, donc pas la peine d'y jeter un œil il est voué à 
 disparaitre.

>
>> >Also, I don't know if you have read the discussion on mailing list,
>> >but it is not really what we wanted to do.
>> >
>> >What we have decided was to keep the state client-side
>>
>> Je ne vois pas ou est le problème ici, je ne sauvegarde rien au
>> niveau du backend,
>> peut être la confusion vient-elle de la particularité de cannalplus
>> de nous servir
>> dans un plateau l'intégralité de ces catégories en un seul fichier 
>> XML.
>
> Hum peut-être. En fait il manque l'exemple de l'application qui va 
> avec donc
> j'ai du mal à voir comment ça marche.

 C'est en cours de développement, surement pour la fin de semaine 
 prochaine. Je détaillerais à
 ce moment là.

>
>> >and to define
>> >a method like @get_path_node(path)@ which returns a list of 
>> subnodes
>> >if this is a _directory_, or a CapBaseObject if this is a _file_.
>>
>> Encore une fois je ne vois pas le problème, pour l'instant une 
>> fonction
>> set_path(path) est définie et retourne deux iterateurs le premier
>> sur les
>> subpaths le second sur le contenu du path.
>
> Je trouve ça bizarre comme nom set_path() dans ce cas là, j'aurais 
> justement
> utilisé iter_path() ou un truc du genre.

 Sur ce point on peut discuter dès maintenant.

 set_path() retourne deux iterateur (path, contenu) ce qui permet de 
 différencier facilement
 les sous-répertoires du contenu.
 Dans l'état actuel le backend part de la racine et remonte path par 
 path, le backend n'a pas
 de "mémoire" du path courant il faut donc retourner les 
 sous-repertoires et le contenu au moment
 où l'on change de path sinon cette information est perdu et le 
 changement de path ne sert à rien.

 Maintenant si iter_path() retourne la même chose que set_path(), je 
 peux changer le nom de la fonction, et
 il est vrai que cela semble plus logique puisque cette fonction 
 retourne des iterateurs.

>
>> >Then, the application (for example videoob) know that this object 
>> is
>> >a Video instance and can play it.
>>
>> >Other methods like @search@ are not
>> >impacted by the position in the path.
>> Dans l'état actuel des choses l'implantation de ICapPath, ne change
>> absolument rien pour ces fonctions.
>
> Ok au temps pour moi.
>
>> Je vais implanter ICapPath dans mon backend AlloshowTv qui ne peut
>> être utilisé que si on intègre cette notion de path. Ainsi nous 
>> aurons
>> un meilleur exemple, pour discuter.
>
> Je suis bien d'accord. Désolé de ma première analyse alors que je 
> n'avais
> regardé qu'en substance et que manifestement j'avais pas du tout
> compris ce qui
> était fait :).
 Mon implantation est plus que brouillon pour le moment, c'est normal 
 que tu n'es pas
 tout compris. Et puis on est là pour discuter et faire avancer weboob !

 Ce qui compte à ce stade c'est de bien définir ce que l'on attend de 
 cette interface.
 Est-ce que set_path() ou iter_path() suffit ?!

>
> En tous cas je suis content que tu t'en charges et ça me semble bien
> parti pour
> obtenir quelque chose d'agréable !
 Et moi je compte sur vous pour m'orienter dans les choix 
 d'implantations !
>
> Romain
 La suite la semaine prochaine !

 Nicolas



More information about the weboob mailing list