#!/usr/bin/python
# -*- coding: latin-1 -*-
import sys
import shutil
import os

if len(sys.argv) <= 2 :
    print """
        Usage: digikammerger.py <gallerydir> <newgallerydir>
    """
    sys.exit(1)

gallery = sys.argv[1]
newgallery = sys.argv[2]

#update gallery.xml
shutil.move (gallery + "/gallery.xml", gallery + "/gallery.old")
f3 = open (gallery + "/gallery.xml", 'w');
f2 = open (gallery + "/gallery.old", 'r')
for i in f2 :
    if i.find ("</collections>") == -1:
        f3.write (i)
    else :
        break
f2.close()
f1 = open (newgallery + "/gallery.xml", 'r')
f1.readline()
f1.readline()
for i in f1 :
    f3.write (i)
f1.close()
f3.close()
os.remove (gallery + "/gallery.old")


#move the subdirectories
galleryname = list()
filelist = os.listdir (newgallery)
for i in filelist :
    if os.path.isdir (newgallery+"/"+i) and i != "matrix" :
        shutil.move (newgallery+"/"+i, gallery+"/"+i)
        galleryname.append (i);

if len (galleryname) > 1 :
    for i in galleryname :
        shutil.move (newgallery + "/" + i + ".html", gallery)
else :
    #create galleryname.html
    f = open (newgallery + "/index.html", "r")
    for i in f :
        if i.find("<h1>") != -1 :
            gallerytitle = i[4:-6]
        else :
            pos = i.find("<img")
            if pos != -1 :
                img = i[pos:i.find(">", pos)+1]
                break
    f.close()
    f1 = open (newgallery + "/index.html", "r")
    f2 = open (gallery + "/" + galleryname[0].replace(", ", "_").lower() + ".html", "w")
    for i in f1 :
        if i.find("<h1>") != -1 :
            f2.write("<h1><a href=\"index.html\">Collection List</a> » " + gallerytitle + "</h1>")
        else :
            f2.write(i)
    f1.close()
    f2.close()

#update index.html
shutil.move(gallery + "/index.html", gallery + "/index.old")
f1 = open (gallery + "/index.old", "r")
f2 = open (gallery + "/index.html", "w")
for i in f1 :
    if i.find("</ul></div>") != -1 :
        if len (galleryname) > 1:
            f = open (newgallery + "/index.html", "r")
            for i in f :
                if i.find ("<li>") != -1 :
                    f2.write (i)
            f.close()
        else :
            f2.write ("<li><a href=\"" + galleryname[0].replace(", ", "_").lower() + ".html\">" + img + "<br>" + gallerytitle + "</a></li>")
    else :
        f2.write (i)
f1.close()
f2.close()
os.remove (gallery + "/index.old")
