todayFile = file ( 'today.htm', 'w' ) print >> todayFile, '<!-- DO NOT edit this file, edit the following file \nJ:\\outlines\\today.py\n -->' tables = { '1 Today': """\ basement mold squirrels check libraries security lights rethink Internet configuration PBS Price Pottenger Rae auto search Hamilton career web sites Salvation Army form report to Giammarco call about DVD warranty free career counselling to selected candidates resume to Carole Martin (see ad from HRDC software) tweezers """, '5 Home Depot': """\ clamp for motor trenching tool """, '2 Giant Tiger':"""\ chewies 1/2 & 1/2 dye """, '4 Hagersville': """\ """, '3 Groceries': """\ """, '6 Libraries': """\ Alexander Fullerton Champagne Navy mystery novels Barbara Hardy: London Lovers John Buxton Hilton: Displaced Person Patricia Duncker: Monsieur Shoushana's Lemon Trees Klemperer (Cohen) """, '7 Hamilton': """\ water filter """, } from string import split for table in tables : print >> todayFile, '<table width="100%" cellspacing="5">' print >> todayFile, '<tr><th colspan="3" align="center">%s</th></tr>' % table items = [ item for item in split ( tables [ table ], '\n' ) if item ] + 3 * [ '-' ] for start in range ( 0, len ( items ), 3 ) : if items [ start ] != '-' : print >> todayFile, '<tr>', for item in items [ start : start + 3 ] : print >> todayFile, '<td>%s</td>' % item print >> todayFile, '</tr>' print >> todayFile, '</table>' todayFile . close ( ) from win32com.shell.shellcon import * from win32com.shell import shell # SHChangeNotify should, I understand, be content with None in each of the final two arguments # However, since it's not ... lpil = shell . SHGetSpecialFolderLocation ( 0, CSIDL_DESKTOP ) shell . SHChangeNotify ( SHCNE_ASSOCCHANGED, SHCNF_IDLIST, lpil, lpil )