IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

modification d'un ficher importer avec execfile


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut modification d'un ficher importer avec execfile
    Bonjour,

    Je suis en train de develloper une application en python permettant les lire les flux videos provenant d' Internet et/ou de la freebox (un peu du style de ADSLTV, myfreetv...).
    Je devellope sur du Linux (Ubuntu 7.10) mais cette application sera disponible sous Windows (quand une premiere version sera finalisée, ce qui n'est pas gagné vu le peu de temps que j'arrive à consacrer à son devellopement...). Au niveau de la GUI, j'utilise PyGTK. Voila pour la présentation.

    La question qui m'amene à poster sur ce forum, concerne le gestion de la liste de tous les flux web. Je voudrait que celle-ci soit dans un fichier, pour pouvoir, bien sur être chargée dans l'appli, mais aussi modifiée.
    Une fois chargé, cette "liste" devient un dictionnaire sous la forme suivante, pour pouvoir ensuite être afficher dans la GUI :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {'channel_name_1': {'category': 'Free', 'type': 'Musique', 'id': 'channel_name_1', 'icon' : 'icon_chanel.png', 'url_play' : 'http://........', 'url_channel' : 'http://........'}, 'channel_name_2': {'category': 'WebTV', 'type': 'Musique', 'id': 'channel_name_2', 'icon' : 'icon_chanel.png', 'url_play' : 'http://........', 'url_channel' : 'http://........'}}
    J'ai commencé par utiliser csv, en créant une ligne par channel et une colonne par champ. Mais cela devient compliqué lorsque je veux que l'utilisateur puisse par exemple modifié le champ icon par exemple.

    J'ai donc regarder une autre maniere de gérer la chose en créant un fichier que j'importe comme module grace à execfile. le fichier est de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    define_channel(id = 'channel_name_1', type = 'Divers', category = 'Free', icon = 'icon.png', url_play = 'http://........', url_channel = 'http://........')
    define_channel(id = 'channel_name_2', type = 'Divers', category = 'Free', icon = 'icon.png', url_play = 'http://........', url_channel = 'http://........')
    Et je me retrouve avec le même dictionnaire que précedement.

    L'import se passe bien. La modification des champs aussi mais c'est l'application de ces modifications dans le fichier qui posent problémes. Je n'arrive pas trouver la commande permettant de le faire.

    Merci d'avance pour l'aide que vous pourriez m'appoter.

  2. #2
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    hum deja je pense que créer des objets "Channel" au lieu de ligne de 4 km serai un bon début.
    Ensuite tu pourrai stocker ces info dans des xml c'est plus simple a modifier que des csv (et plus simple a lire pour un humain)

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut
    effectivement j'avais commencé à regarder pour un traitement via xml. Mais j'hésite entre 2 solutions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <channels>
            <channel id= 'channel_name_1', type = 'Divers' ...>
            </channel>
            ...
    </channels>
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <channels>
            <channel id= 'channel_name_1'>
                    <type>Divers</type>
                    ...
            </channel>
            ...
    </channels>
    Il semble que la premiere solution soit ensuite plus facile à manipuler.

    Vos avis ??

  4. #4
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    les 2 sont valables c une question de gout

    ma façon de voir est la suivante si un des attributs d'un objet est une type simple (bool, string, int, ...) alors je le met en attribut xml sinon je créer une sous balise (si c un 'set' ou un autre objet).

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Par défaut
    Merci pour cette réponse anthyme.
    Je pense donc que je vais partir sur un fichier xml ayant la "forme" de la premiere solution.

    Mais juste pour ma connaissance personelle, est-ce que quelqu'un sait comment l'on peut appliquer les modifications apportées à des objets importes d'un fichier via execfile()?

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/08/2009, 10h47
  2. quel format doit avoir une BD pour l'importer avec copy?
    Par daknoom dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 03/02/2005, 19h41
  3. Modification d'une base Access avec MySQL
    Par Wyatt dans le forum Administration
    Réponses: 2
    Dernier message: 07/01/2005, 19h20
  4. Problème d'import avec l'interface sql server
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/08/2004, 16h00
  5. PB d'import avec les ActiveX sous BCB6
    Par dergen dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/11/2002, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo