# bytopic.py
# 

import os
import sys
from commands import getoutput

def bytopic():
    dirn = sys.argv[1]
    base = '/home1/hbecknet/www/picdata/bytopic/'
    tfpath   = base+dirn+'/'+dirn+'.txt'
    htmfpath = base+dirn+'/'+dirn+'.html'
    htmf = open(htmfpath, 'w')
    tf = open(tfpath)
    lines = tf.readlines()
    tf.close()
    rowcount = 0
    for l in lines:
        spl = l.split()
        if len(spl) == 0:
            continue
        print 'spl:'
        print spl
        if spl[0] == 'htmlstart':
            title = htmlstart(spl)
            preamble(htmf, title)
        if spl[0] != 'jpg':
            continue
        # ['jpg', '1969', '6903_02', '1969', 'March<br>Sugar', 'Bowl']
        yyyy = spl[1]
        jpgfn = spl[2]+'.jpg'
        jpgpath = '/home1/hbecknet/www/picdata/jpg/'+yyyy+'/'+jpgfn
        print 'jpgpath='+jpgpath
        jpgpathwww = 'http://www.hbeck.net/picdata/jpg/'+yyyy+'/'+jpgfn
        aspect = getaspect(yyyy, jpgpath)
        caption = ''
        for i in range(3, len(spl)):
            caption = caption + spl[i]+' '

        htmf.write('<td><a href='+jpgpathwww+'>\n')
        htmf.write('<img class="'+aspect+'" src='+jpgpathwww+'>\n')
        print 'caption='+caption
        htmf.write('<br>'+caption+'</a>\n')
        rowcount = rowcount + 1
        print 'rowcount='+str(rowcount)
        if rowcount == 3:
            rowcount = 0
            print 'Write tr '
            htmf.write('</tr><tr>\n')
    htmf.close()
    print 'htmfpath='+htmfpath

def getaspect(yyyy, jpgpath):
    rc = getoutput('identify '+jpgpath)
    # /home1/hbecknet/www/picdata/jpg/1996/1996_01-09.jpg JPEG 1560x1015 1560x1015+0+0 8-bit sRGB 221KB 0.000u 0:00.00
    try:
        xy = rc.split()[2]
        x = xy.split('x')[0]
        y = xy.split('x')[1]
    except:
        print 'getaspect failed: '+jpgpath
        print 'identify='+rc
        return 'landscape'
    if int(x) > int(y):
        return 'landscape'
    else:
        return 'portrait'

def htmlstart(spl):
    #['jpg', '1969', '6903_02', '1969', 'March<br>Sugar', 'Bowl']
    title = ''
    for i in range(3,len(spl)):
        title = title + spl[i]+' '
    title = title.strip()
    print title
    return title

def preamble(htmf, title):
    print 'preamble'
    htmf.write('<html><head>\n')
    htmf.write('<body>\n')
    htmf.write('<style>\n')
    htmf.write('img.landscape { width: 256; }\n')
    htmf.write('img.portrait { width: 170; }\n')
    htmf.write('</style>\n')
    htmf.write('<font size=+1>'+title+'</font>\n')
    htmf.write('<table>\n')
    htmf.write('<tr>\n')
    return

bytopic()

#<html>
#<head>
#<meta name="Author" content="Peter Hollenbeck">
#<title>Kim Davis </title>
#</head>
#<body>
#<style>
#img.landscape { width: 256; }
#img.portrait { width: 170; }
#</style>
#<table>
#<font size=+1>Kim Davis</font>
#<p>
#<td><a href=../../../picdata/jpg/1968/6807_49.jpg>
#<img class="portrait" src=../../../picdata/jpg/1968/6807_49.jpg>
#<br>1968 July Yellowstone<br>Madison Junction campground</a>
#<br>
#1969 March<br>Sugar Bowl
#</a>
#</tr>
#</table>
#</body>
#</html>

