home *** CD-ROM | disk | FTP | other *** search
-
- from mmcommon import *
- from mmpersist import *
- import getopt
- import sys
- import string
- import time
- import re
- import os
-
- print "ouputdb.py called"
- print "querying database and building HTML"
-
- begin_time = time.time()
-
- ps = MMPersistentStore._GetInstance()
-
- keyword_list = ps.GetAllObjectIdentifiers( MMKeyword.ObjectType )
- photo_list = ps.GetAllObjectIdentifiers( MMPhoto.ObjectType )
-
-
- num_photos = len(photo_list);
- num_keywords = len(keyword_list);
- total_image_bytes = 0;
-
- filename = MMFileUtils.GetStandardFolderLocation(MM_FOLDER_TEMPORARY)
- filename = filename + "mmdbinfo.html"
- fd = file(filename, "w");
-
- fd.write("<h2>Full listing of DB contents</h2>")
-
- fd.write( " <b>Total Photos: " )
- fd.write( `num_photos` )
- fd.write( "</b>\n" )
-
- fd.write( "\n<table border=1>" );
- for id_pair in photo_list:
- id = id_pair[0]
- type = id_pair[1]
-
- photo = ps.LoadPhoto(id);
-
- if(photo) :
- fd.write( "<tr><td>" );
- fd.write( "<h3><b>Photo Name:</b></h3> " )
- fd.write( "<td>" );
- fd.write( photo.GetName() )
- fd.write( "</tr>\n" )
-
- fd.write( "<tr><td>" );
- fd.write( "<h3>Date Taken:</h3> " )
- fd.write( "<td>" );
- pdate = photo.GetPhotoDate()
- fd.write( MMDateTimeUtils.ToHumanString(pdate) )
- fd.write( "</tr>\n" )
-
- image_file = photo.GetActiveImageFile()
-
- if(image_file) :
- fd.write( "<tr><td>" );
- fd.write( "Active Image File URI: " )
- fd.write( "<td>" );
- fd.write( image_file.GetURI() )
- fd.write( "</tr>\n" )
-
- fd.write( "<tr><td>" );
- fd.write( "Size of Image: " )
- fd.write( "<td>" );
- bytes = image_file.GetSizeBytes()
- fd.write( `bytes` )
- total_image_bytes = total_image_bytes + bytes;
- fd.write( "</tr>\n" )
-
- fd.write( "<tr><td>" );
- fd.write( "Width x Height: " )
- fd.write( "<td>" );
- fd.write( `image_file.GetWidth()` )
- fd.write( " x " )
- fd.write( `image_file.GetHeight()` )
- fd.write( "</tr>\n" )
-
- keyword_id_list = photo.GetKeywordIds();
-
- if(keyword_id_list):
- fd.write( "<tr><td>Keyword:\n<td>" )
- for keyword_id in keyword_id_list:
-
- keyword = ps.LoadKeyword(keyword_id)
-
- if(keyword):
- fd.write( keyword.GetName() )
- fd.write( ", " )
- fd.write( "\n</tr>\n" )
- # empty row between each image
-
-
- fd.write( "</table>" )
- fd.write( "<hr>")
-
- # summary
-
- fd.write( "<table>" )
- fd.write( "<tr><td>" )
- fd.write( `num_photos` )
- fd.write( " photos found" )
- fd.write( "\n<tr><td>" )
- fd.write( `num_keywords` )
- fd.write( " keywords_found" )
- fd.write( "\n<tr><td>" )
- if(num_photos > 0) :
- fd.write( `float(num_keywords)/num_photos` )
- fd.write( " keywords per photo" )
- fd.write( "\n<tr><td>" )
- fd.write( `total_image_bytes` )
- fd.write( " Total bytes of photos" )
- fd.write( "\n<tr><td>" )
- if(num_photos > 0) :
- fd.write( `float(total_image_bytes)/num_photos` )
- fd.write( " Average bytes per photo" )
- fd.write( "\n<tr><td>" )
- fd.write( "\n</table>\n" )
-
-
- fd.close();
-
- end_time = time.time();
- print "finished query: took ", end_time - begin_time, " seconds"
-
- print "execing web browser"
- os.startfile(filename);
-