#!/usr/bin/python import fb_feed import facebook import db db = db.db () def load_old_ids (): sql = 'SELECT id,fbid,likes FROM dior_fb' db.execute (sql) rows = db.cursor.fetchall () seen = {} for r in rows: seen[r[1]] = (r[2], r[0]) return seen def update_sql (rec, id): if id is None: return sql = 'UPDATE dior_fb SET likes=%s,comments=%s WHERE id=%s' args = (rec['likes'],rec['comments'],id) db.execute (sql, args) def fixunicode (x): return x.encode('utf-8') def insert_sql (rec): sql = 'INSERT INTO dior_fb (fbid,date,likes,comments,authorfbid,author,link,description) VALUES(%s,%s,%s,%s,%s,%s,%s,%s)' args = (rec['fbid'], int(rec['date']), rec['likes'], rec['comments'], rec['fromid'], fixunicode(rec['from']), rec['link'], fixunicode(rec['desc'])) db.execute (sql, args) # jono = facebook.Facebook ("daytimetelevision") jono = facebook.Facebook ("ryz") diornights = fb_feed.FacebookGroup ('diornights', '212608092108276', '1875', 'diornights', 'diornights') seen = load_old_ids () recs = diornights.deep_report(jono) # recs = diornights.report(jono) FIELDS = "datetime likes comments from linkname link desc".split(" ") print "DONE READING" out = file("/var/www/scannerjammer.com/httpdocs/diornights/site/report.html", "w") out.write("") for r in reversed(sorted(recs, key=lambda rec: int(rec['likes']))): if r['fbid'] in seen: print r['fbid'], r['from'], ">", r['linkname'], "likes =", str(r['likes']) if int(r['likes']) > seen[r['fbid']][0]: print r['fbid'], r['from'], "likes =", str(r['likes']) update_sql (r, seen[r['fbid']][1]) else: print r['fbid'], r['from'], "NEW >", r['linkname'], "likes =", str(r['likes']) insert_sql (r) seen[r['fbid']] = (r['likes'], None) out.write("") for field in FIELDS: try: int(r[field]) out.write("") except: out.write("") out.write("") out.write("
"+str(r[field])+"") if field == "datetime": datetime = r[field].split("T", 1) out.write( "" + datetime[0] + "" + datetime[1][0:5] + "" ) else: out.write( r[field].encode('ascii', 'xmlcharrefreplace') ) out.write("
") print "DONE"