Well the inevitable has happened. I have the urge to move my site from a Wordpress page to a custom Django site. Unfortunately, this means migrating.
I searched for good Wordpress to Django migration scripts but couldn't find any, so I decided to write one and release it for everyone else to use.
Its in a very early state but it should help you get the job done. I wrote exactly what I needed, which didn't include comments, excerpts or other less used meta data.
It should be fairly easy to expand however, so fork it and give it a shot.
Download at GitHub: http://github.com/bradjasper/django-wordpress-parser/tree/master
Exactly 4 weeks ago classes ended. I knew I wanted to create a small website over Winter break, but I didn't know what. I started with a completely different idea, and switched twice before sticking with Hosting Choice, a hosting review site. Its midnight, the night before classes start--but I'm launching the site on schedule.
The concept was simple, create a hosting review site that was run by the users. It would rely entirely on user ratings to rank hosts. This would allow me to step away from the editorial side and keep the site unbiased.
I took a week and a half vacation during the break and worked lots of overtime at my full-time job, so Hosting Choice was created in the wee hours of the night after a long days work.
But overall I'm satisfied with the result. The best part of the process was deciding which features to not put on the site. By having a firm deadline I was able to cut away a lot of unnecessary features that would have delayed the launch for weeks or months.
If you have some time, please visit Hosting Choice and add reviews for any hosts you've used.
Its time to put the nose to the grindstone again, classes start in 10 hours.
I've had some issues getting LibTidy and uTidyLib (Python wrapper) installed and figured I would post my solution as I saw zero Google results on this.
The error I kept getting was:
OSError: Couldn't find libtidy, please make sure it is installed.
Here's how I found how to get around this, if you have a better solution please post in comments.
First install LibTidy from source:
cvs -z3 -d:pserver:anonymous@tidy.cvs.sourceforge.net:/cvsroot/tidy co -P tidy cd tidy sh build/gnuauto/setup.sh ./configure make && sudo make install
This places LibTidy in /usr/local/lib. Unfortunately uLibTidy doesn't recognize the generated library. A simple symlink will fix the problem:
sudo ln -s /usr/local/lib/libtidy.dylib /usr/local/lib/libtidy.so
Now uLibTidy is able to find LibTidy:
In [1]: import tidy
Good luck! If you're still having issues make sure /usr/local/lib is in your $PATH environment variable.
Update 10/11/09: Google has changed the way Insights works and now requires a user to login to download this information. This is planned, but hasn't been implemented yet.
Google Insights provides a lot of interesting information to see search trends over time. It provides information like general search volume, related keywords, top countries and much more.
I was working on a project that needed access to this data, so I developed a simple python module for querying a given keyword. I'm releasing it here because I thought others may find this data useful.
Here are some examples on how you would use this plugin:
>>> import insights, pprint
>>> oInsights = insights.Insights('guitar strings')
>>> oInsights.section('trend')
{'2004-01-04': '74',
'2004-01-11': '71',
'2004-01-18': '82',
'2004-01-25': '74',
...
...
}
>>> pprint.pprint( oInsights.section('related') )
{'12 strings guitar': '10',
'7 strings guitar': '5',
'acoustic guitar': '90',
'acoustic guitar strings': '85',
...
>>> pprint.pprint( oInsights.section('cities') )
{'Atlanta (United States)': '81',
'Birmingham (United Kingdom)': '97',
'Chicago (United States)': '90',
'London (United Kingdom)': '88',
'Los Angeles (United States)': '100',
...
>>> pprint.pprint( oInsights.section('rising') )
{'7 strings guitar': '+20%',
'classic guitar strings': '+20% ',
'dr guitar strings': '+40% ',
'dr strings': '+30% ',
...
Its important to note this module only works with one keyword. It would be fairly simple to get it working with multiple keywords, but my project only required one.
Also, I'm releasing this under Beerware License.
That's all there is to it. Any questions/bugs please submit in comments.
I sold MacTips. I may have more thoughts on this in the future. Lots of lessons from MacTips.