Skip to content

Instantly share code, notes, and snippets.

@jamesantrobus
Forked from tzangms/ghost2wp.py
Last active February 11, 2016 12:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jamesantrobus/877656a04e1bbc2f975c to your computer and use it in GitHub Desktop.
Save jamesantrobus/877656a04e1bbc2f975c to your computer and use it in GitHub Desktop.
"""
Requirements:
* A Wordpress Blog
* Ghost export file (json).
* Python Packages: python-wordpress-xmlrpc
>>> pip install python-wordpress-xmlrpc
WARNING:
USE THIS AT YOUR OWN RISK.
If your have any questions, please comment here below.
"""
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import NewPost
from dateutil.parser import parse
from time import sleep
import json
import datetime
xmlrpc_endpoint = 'http://foo.com/wordpress/xmlrpc.php'
username = ''
password = ''
wp = Client(xmlrpc_endpoint, username, password)
filename = 'GhostData.json'
with open(filename) as f:
text = f.read()
data = json.loads(text)
for p in data['data']['posts']:
print p['title']
date = p.get('published_at', None)
if date is None:
p.get('created_at')
post = WordPressPost()
post.slug = p['slug']
post.content = p['html']
post.title = p['title']
post.post_status = 'publish'
post.date = datetime.datetime.fromtimestamp(date / 1e3)
wp.call(NewPost(post))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment