# Leons Petrazickis # 2005.10.29 # leo.petr.areyousureyouwanttomailme@gmail.com import xmlrpclib; import sys; USERNAME = 'YOUR_USERNAME_HERE'; PASSWORD = 'YOUR_PASSWORD_HERE'; SERVER = 'http://www.livejournal.com'; URL = '/interface/xmlrpc'; class LJxmlrpc: LJVERSION = 1; def __init__(self, url): self.sp = xmlrpclib.ServerProxy(url, encoding='UTF-8'); def ljxrSetUser(self, username, password): self.username = username; self.password = password; def ljxrMakeFriendsOnly(self, event): params = event; params['username'] = self.username; params['password'] = self.password; params['ver'] = self.LJVERSION; params['security'] = 'usemask'; params['allowmask'] = '1'; # all friends return self.sp.LJ.XMLRPC.editevent(params); def login(self): params = { 'username': self.username, 'password': self.password, 'ver': self.LJVERSION }; return self.sp.LJ.XMLRPC.login(params); def getevents( self, selecttype, # day, lastn, one, syncitems, howmany=None, beforedate=None): params = { 'username': self.username, 'password': self.password, 'ver': self.LJVERSION, # required for UTF-8 'selecttype': selecttype } if (howmany != None): params['howmany'] = howmany; if (beforedate != None): params['beforedate'] = beforedate; return self.sp.LJ.XMLRPC.getevents(params); ljxr = LJxmlrpc(SERVER + URL); ljxr.ljxrSetUser(USERNAME, PASSWORD); events = ljxr.getevents('lastn', 50); lasttime = None; for event in events['events']: print ljxr.ljxrMakeFriendsOnly(event); lasttime = event['eventtime']; while lasttime != None: events = ljxr.getevents('lastn', howmany=50, beforedate=lasttime); lasttime = None; for event in events['events']: print ljxr.ljxrMakeFriendsOnly(event); lasttime = event['eventtime'];