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"
|