[pyar] Clasificando imagenes en el picasa

Pablo M. Mana pablo.m.mana en gmail.com
Vie Mar 23 10:15:04 ART 2012


Hola:

El otro día sospechando una corrupción de la base de datos del picasa
la borre y los archivos ini que mete en cada directorio también.
Luego me puse a pensar que hacia para clasificar todo de nuevo, yo
tengo las fotos en carpetas con nombres del tipo "lugar o cosa que se
ve" - "fecha",  aca va la solución que arme:

Los  ini   (.picasa.ini) tienen el siguiente formato:

[Picasa]
P2category=

El código que use es el siguiente:

import os
import re


def dirs_in_dir(basedir):
    for basedir, dirname, filename in os.walk(basedir):
        for dir in dirname:
            yield os.path.join(basedir, dir)


def tag_in_dir(tagdir):

    FILE = open(os.path.join(tagdir, filetag), "w")
    FILE.write("[Picasa]" + "\n" + "P2category=" + picasa_tag)
    FILE.close()


dirname = "D:\My Pictures"  # Desde donde queremos categorizar
filetag = ".picasa.ini"
picasa_tag =   # Ojo es case sensitive

dir_tag_00 =
dir_tag_01 =
dir_tag_02 =
dir_tag_03 =
dir_tag_04 =
dir_tag_05 =
dir_tag_06 =
dir_tag_07 =
dir_tag_08 =
dir_tag_09 =
dir_tag_10 =

dirnames = list(dirs_in_dir(dirname))

for dir in dirnames:
    if re.search(dir_tag_00, dir):  # uf que problema pavo con re.mach
        tag_in_dir(dir)
    elif re.search(dir_tag_01, dir):
        tag_in_dir(dir)
    elif re.search(dir_tag_02, dir):
        tag_in_dir(dir)
    elif re.search(dir_tag_03, dir):
        tag_in_dir(dir)
    elif re.search(dir_tag_04, dir):
        tag_in_dir(dir)
    elif re.search(dir_tag_05, dir):
        tag_in_dir(dir)
    elif re.search(dir_tag_06, dir):
        tag_in_dir(dir)
    elif re.search(dir_tag_07, dir):
        tag_in_dir(dir)
    elif re.search(dir_tag_08, dir):
        tag_in_dir(dir)
    elif re.search(dir_tag_09, dir):
        tag_in_dir(dir)

No es gran cosa pero me ahorro mucho laburo, se podría mejorar
bastante pero no me hacia falta mas. Me impacto la funciona os.walk,
hace algunos años  en otro lenguaje habia escrito bastante codigo para
hacer lo que hace.

Saludos.
Pablo M. Mana



More information about the pyar mailing list