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 :

Transposer une arborescence d'images en html


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Par défaut Transposer une arborescence d'images en html
    Bonjour,

    Je cherche un script (ou a défaut la méthode pour scripter) me permettant de transposer une arborescence de répertoires contenant des images dans un fichier html.
    L'idée est de conserver la hiérarchie des repertoires apparente, avec par exemple, une liste des différents niveaux de l'arborescence qui conduit à chaque image

    + Niveau 1
    ++ Niveau 2
    +++ Niveau 3 etc.

    *Lien vers l'image*
    Nom de l'image.

    Ou quelque chose dans ce gout la.

    N'ayant qu'une expérience limitée en scripting, je cherche s'il n'existe pas déjà quelque chose que je pourrais adapter à mes besoins.

    Merci d'avance pour vos suggestions.

  2. #2
    Membre expérimenté Avatar de alexdevl
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 265
    Par défaut
    Bonjours

    J'avais fait quelque chose de similaire dans ce message :

    http://www.developpez.net/forums/d78...e/#post4541362

    Alex


  3. #3
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut
    une idée simple,

    Tu formatte un document REST (ReStructured Text Document), dans un script python, puis tu utilise une librairie qui permet de convertir ton document en Html

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #. toto
       #.tutu
       #.tata
          + toto
    donnera :
    1. toto
      1. tutu
      2. tata
        • toto


    pour commencer :
    http://docs.python.org/documenting/rest.html
    http://docutils.sourceforge.net/rst.html

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Par défaut
    Merci pour vos réponses.

    Airod: Etant a peine familier du python, je crois que je vais éviter d'ajouter l'apprentissage des méthodes REST pour le moment.

    Alexdvl: Ca ressemble pas mal à ce que j'avais en tête on dirait. Je vais tenter de le modifier pour que ca colle a mes besoins.

    EDIT:

    Alexdvl: alors ca marche pas mal, sauf que je ne comprends pas vraiment comment se fait le classement final, ca semble un peu random et que je vois encore moins comment réordonner le tout par ordre alphabétique.

    Genre avoir:

    - A
    -- A.A
    -- A.B
    -B
    -- B.A
    -- B.B
    etc.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Par défaut
    Ayé, après avoir un peu bataillé et m'etre fait aidé ca fonctionne.

    J'ai donc légèrement modifié le code pour que le script aussi les répertoires par ordre alphabétique.
    J'ai aussi utilisé os.path.basename pour ajouter le nom du fichier image en légende de chaque photo.

    Ce qui donne a présent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    #!/usr/bin/env python
    #coding=ISO-8859-1
    import glob 
    import os.path 
     
    def listdirectory(path): 
        """ Crée une liste des sous-répertoires et fichiers"""
        fichier=[] 
        l = glob.glob(path + '/*') 
     
        for i in l:
            if os.path.isdir(i):
                fichier.extend(listdirectory(i))
            else:
                fichier.append(i) 
        return fichier
     
    def list2html(listdir,path):
        """ Transforme une liste en tableau html"""
        html_debut="""<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title>Catalogue</title>
            <link type="text/css" rel="stylesheet" href="web.css" media="screen" />
            <link type="text/css" rel="stylesheet" href="print.css" media="print" />
     
    </head>
    <body>
            <h1> Catalog </h1>
    """
     
        html_fin=""" 
    </body>
    </html>"""
     
     
        fo=open(path,"w")
        fo.write(html_debut)
        for line in listdir:
    	name = os.path.basename(line)
            fo.write('<h2>'+line+'</h2>'+'\n')
            fo.write('<div id="img"><img src ="file:///'+line+'"class="pix" /></div>'+'\n')
    	fo.write('<div id="lgd">'+name+"</div>"+'\n')
     
        fo.write(html_fin)
        fo.close()
     
    path="C:/mon/dossier/a_parser/"
    listdir=listdirectory(path)
    listdir.sort()
    list2html(listdir,"C:/index.html")
    Merci les gens.

Discussions similaires

  1. [LV 6i][Débutant] Transposer une arborescence sous LabVIEW
    Par guillaume117 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 28/07/2010, 13h36
  2. [HTML] construire une image en html
    Par shada dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/06/2009, 11h00
  3. [HTML] Passer une image en HTML
    Par a.smagghe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 18/04/2007, 08h34
  4. [HTML] Center une série d'images verticalement et horizontalement
    Par in_flames68 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 17
    Dernier message: 27/09/2006, 09h42
  5. [HTML] Comment faire une arborescence en html
    Par jehlg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/02/2006, 23h55

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