]> www.wagner.pp.ru Git - oss/ljdump.git/blobdiff - convertdump.py
Added convertier of dump into static pages
[oss/ljdump.git] / convertdump.py
index 937403b43bf1b137fa8ecca42e795298613efd2f..0f59e8282d6dc9e2e9fa481a1312201b6468c2bf 100755 (executable)
@@ -175,11 +175,39 @@ def addCommentsForId(outDoc, entry, username, id):
         if(parentId != ""): 
             appendTextNode(outDoc, outComment, "parent_itemid", parentId)
 
+
+# regular expressions used in replaceLJTags()
+#   (global for later reuse - suggestion by jparise)
+
+userRE = re.compile('<lj user="(.*?)" ?/?>', re.IGNORECASE)
+commRE = re.compile('<lj comm="(.*?)" ?/?>', re.IGNORECASE)
+namedCutRE = re.compile('<lj-cut +text="(.*?)" ?/?>', 
+                        re.IGNORECASE|re.DOTALL)
+cutRE = re.compile('<lj-cut>', re.IGNORECASE)
+cutRE = re.compile('</lj-cut>', re.IGNORECASE)
+embedRE = re.compile('<lj-embed id="[0-9]+">', re.IGNORECASE)
+
 def replaceLJTags(entry):
-    # regex to replace <lj user="jeebus" /> tags
-    fixedUserTags = re.sub("<lj user=\"(.*?)\" ?/?>", "<a href=\"http://\\1.livejournal.com/\" class=\"lj-user\">\\1</a>", entry)
+    rv = entry
+
+    # replace lj user tags
+    rv = re.sub(userRE, '<a href="http://www.livejournal.com/users/\\1" class="lj-user">\\1</a>', rv) 
+
+    # replace lj comm tags
+    rv = re.sub(commRE, '<a href="http://community.livejournal.com/\\1/" class="lj-comm">\\1</a>', rv) 
+
+    # replace lj-cut tags
+    rv = re.sub(namedCutRE, '<!--more \\1-->', rv)
+    rv = re.sub(cutRE, '<!--more-->', rv)
+    rv = re.sub(cutRE, '', rv)
+
+    # replace lj-embed tags
+    # this doesn't actually work.  LJ doesn't include the embedded content
+    # when ljdump calls 'getevents', but instead includes an lj-embed tag
+    # with an id and nothing else.
+    #rv = re.sub(embedRE, '', rv)
 
-    return fixedUserTags
+    return rv
 
 
 def usage():