summaryrefslogtreecommitdiff
path: root/feeder/diornights.py
diff options
context:
space:
mode:
Diffstat (limited to 'feeder/diornights.py')
-rwxr-xr-xfeeder/diornights.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/feeder/diornights.py b/feeder/diornights.py
new file mode 100755
index 0000000..2c41787
--- /dev/null
+++ b/feeder/diornights.py
@@ -0,0 +1,72 @@
+#!/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("<body><font size='-1'><table>")
+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("<tr>")
+ for field in FIELDS:
+ try:
+ int(r[field])
+ out.write("<td>"+str(r[field])+"</td>")
+ except:
+ out.write("<td>")
+ if field == "datetime":
+ datetime = r[field].split("T", 1)
+ out.write( "<nobr>" + datetime[0] + "</nobr></td><td><nobr>" + datetime[1][0:5] + "</nobr>" )
+ else:
+ out.write( r[field].encode('ascii', 'xmlcharrefreplace') )
+ out.write("</td>")
+ out.write("</tr>")
+out.write("</table></body>")
+
+print "DONE"