Index: head/www/ljdump/Makefile =================================================================== --- head/www/ljdump/Makefile (revision 439026) +++ head/www/ljdump/Makefile (revision 439027) @@ -1,27 +1,32 @@ # Created by: Alexey Dokuchaev # $FreeBSD$ PORTNAME= ljdump PORTVERSION= 1.5 +PORTREVISION= 1 CATEGORIES= www python MASTER_SITES= http://hewgill.com/ljdump/ MAINTAINER= ports@FreeBSD.org COMMENT= Tool to download LiveJournal entries and comments +LICENSE= ZLIB + PORTSCOUT= skipv:1.5.1 # 1.5.1 is identical to 1.5 + our patches +USES= python:run shebangfix +SHEBANG_FILES= ljdump.py NO_BUILD= yes -USES= python:run +NO_ARCH= yes PLIST_FILES= bin/ljdump etc/ljdump.config.sample post-patch: @${REINPLACE_CMD} -e 's,%%LOCALBASE%%,${LOCALBASE}, ; \ s,%%PREFIX%%,${PREFIX},' ${WRKSRC}/ljdump.py do-install: ${INSTALL_SCRIPT} ${WRKSRC}/ljdump.py ${STAGEDIR}${PREFIX}/bin/ljdump ${INSTALL_DATA} ${WRKSRC}/ljdump.config.sample ${STAGEDIR}${PREFIX}/etc .include Index: head/www/ljdump/files/patch-ljdump.py =================================================================== --- head/www/ljdump/files/patch-ljdump.py (revision 439026) +++ head/www/ljdump/files/patch-ljdump.py (revision 439027) @@ -1,58 +1,52 @@ --- ljdump.py.orig +++ ljdump.py -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!%%LOCALBASE%%/bin/python - # - # ljdump.py - livejournal archiver - # Greg Hewgill http://hewgill.com @@ -24,7 +24,7 @@ # # Copyright (c) 2005-2009 Greg Hewgill -import codecs, md5, os, pickle, pprint, re, shutil, sys, urllib2, xml.dom.minidom, xmlrpclib +import codecs, os, pickle, pprint, re, shutil, sys, urllib2, xml.dom.minidom, xmlrpclib from xml.sax import saxutils MimeExtensions = { @@ -33,8 +33,14 @@ "image/png": ".png", } +try: + from hashlib import md5 +except ImportError: + import md5 as _md5 + md5 = _md5.new + def calcchallenge(challenge, password): - return md5.new(challenge+md5.new(password).hexdigest()).hexdigest() + return md5(challenge+md5(password).hexdigest()).hexdigest() def flatresponse(response): r = {} @@ -157,7 +163,8 @@ 'getpickwurls': 1, }, Password)) userpics = dict(zip(map(str, r['pickws']), r['pickwurls'])) - userpics['*'] = r['defaultpicurl'] + if r['defaultpicurl']: + userpics['*'] = r['defaultpicurl'] while True: r = server.LJ.XMLRPC.syncitems(dochallenge(server, { @@ -345,8 +352,12 @@ print "%d errors" % errors if __name__ == "__main__": - if os.access("ljdump.config", os.F_OK): - config = xml.dom.minidom.parse("ljdump.config") + for file in [ "%%PREFIX%%/etc/ljdump.config", "ljdump.config", "/"]: + if os.access(file, os.F_OK): + break + if file != "/": + print "Using configuration file %s" % file + config = xml.dom.minidom.parse(file) server = config.documentElement.getElementsByTagName("server")[0].childNodes[0].data username = config.documentElement.getElementsByTagName("username")[0].childNodes[0].data password = config.documentElement.getElementsByTagName("password")[0].childNodes[0].data