summaryrefslogtreecommitdiff
path: root/feeder/diornights.py
blob: 2c417879afba9ca696750cc92d1802882ab39cf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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"