#!/usr/bin/python
import plurkapi
import sys, pickle
plurk_user = 'SecondSecrets'
plurk_pass = 'PASSWORD'
idlog = 'idlog.dat'
ids = []
# We need to keep track of post IDs to avoid posting the same thing twice.
# I don't think there's a way to know who posted an ID once it has been deleted and I can't tell who posted what. :)
try:
ids = pickle.load(open(idlog,'rb'))
except:
print "ID log data file not present and will be created."
# Trim the list...
#ids = ids[-500:]
plurk_api = plurkapi.PlurkAPI()
try:
returncode = plurk_api.login(plurk_user, plurk_pass)
except:
print "Plurk login failed, plurk seems dead!"
sys.exit(1)
if returncode == False:
print "Plurk login failed, wrong password or username!"
sys.exit(1)
# Get and accept all friend requests
alerts = plurk_api.getAlerts()
if len(alerts):
plurk_api.befriend(alerts)
# Grab the timeline as presented
try:
plurks = plurk_api.getPlurks()
except:
print "Plurk is borked, can't get timeline."
sys.exit(1)
# Chew through it and replurk singular private plurks keeping their IDs.
for plurk in reversed(plurks):
if plurk['limited_to'] != None:
plurkto = plurk['limited_to'].rstrip('|').lstrip('|').split('||')
if len(plurkto) == 2 and plurk_api.uid in plurkto:
plurkid = str(plurk['plurk_id'])
if plurkid not in ids:
ids.append(plurkid)
text = plurk['content_raw']
qualifier = plurk['qualifier']
try:
#print qualifier, text
plurk_api.addPlurk(qualifier=qualifier, content=text)
except:
print "Could not plurk, plurk might be borked..."
# Only replurk one message per cycle.
break
# Dump the ID log.
pickle.dump(ids,open(idlog,'wb'))