summaryrefslogtreecommitdiffstatshomepage
path: root/wordpress-xmlrpc-to-dir.py
diff options
context:
space:
mode:
authorGravatar Aleix Conchillo Flaque2010-12-23 11:16:20 +0100
committerGravatar Andy Wingo2011-02-18 23:25:59 +0100
commit280696ea06bf218f398ec1635ae416646bc83551 (patch)
tree9b25464c77e97542192d5b640cd558b431c2b214 /wordpress-xmlrpc-to-dir.py
parent736a074097c8aeeef404639ab73c3efe84629f51 (diff)
downloadtekuti-280696ea06bf218f398ec1635ae416646bc83551.tar.gz
tekuti-280696ea06bf218f398ec1635ae416646bc83551.zip
wordpress-xmlrpc: added support for wp media tags youtube/googlevideo
Diffstat (limited to 'wordpress-xmlrpc-to-dir.py')
-rw-r--r--wordpress-xmlrpc-to-dir.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/wordpress-xmlrpc-to-dir.py b/wordpress-xmlrpc-to-dir.py
index 45988c1..616390c 100644
--- a/wordpress-xmlrpc-to-dir.py
+++ b/wordpress-xmlrpc-to-dir.py
@@ -2,6 +2,7 @@
import os
import pycurl
+import re
import string
import sys
import tempfile
@@ -69,6 +70,33 @@ class MyHTMLParser(HTMLParser):
curl.close()
fp.close()
+def html_media_object(service, url):
+ services = {"youtube" : '<object width="640" height="390"><param name="movie" value="%url%?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="%url%?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="390"></embed></object>',
+ "googlevideo": '<object type="application/x-shockwave-flash" data="%url%" height="330" width="400"><param name="allowScriptAccess" value="never"><param name="movie" value="%url%"><param name="quality" value="best"><param name="bgcolor" value="#ffffff"><param name="scale" value="noScale"><param name="wmode" value="opaque"></object>'}
+ html_center_start = '<p><span style="text-align: center; display: block;">'
+ html_center_end = '</span></p>'
+ html_service = services[service]
+ html_service = html_service.replace("%url%", url)
+ return html_center_start + html_service + html_center_end
+
+def analyze_media(content):
+ p_youtube = re.compile(r"\[youtube=(.+)\]")
+ p_googlevideo = re.compile(r"\[googlevideo=(.+)\]")
+ lines = content.split("\n")
+ new_lines = []
+ for line in lines:
+ m_youtube = p_youtube.search(line)
+ m_googlevideo = p_googlevideo.search(line)
+ if m_youtube:
+ html_object = html_media_object("youtube", m_youtube.group(1))
+ new_lines.append(html_object)
+ elif m_googlevideo:
+ html_object = html_media_object("googlevideo", m_googlevideo.group(1))
+ new_lines.append(html_object)
+ else:
+ new_lines.append(line)
+ return "\n".join(new_lines)
+
def make_dir(path):
os.mkdir(path)
return path + "/"
@@ -136,6 +164,7 @@ def write_post(post, categories, comments, images_url, new_images_url):
key = make_post_key(post)
d = make_dir(key)
content = string.replace(post["description"], images_url, new_images_url)
+ content = analyze_media(content)
write_file(d + "content", content)
write_file(d + "metadata", make_metadata())
if comments: