TextPress Development Blog

crafting a weblog

Importer for Blogger.com

Thanks to the excellent importer framework in TextPress, it is relatively easy to write an importer for any arbitrary data. The system allows for importing posts, comments, labels, authors, and these make up a complete blog. The blog is enqueued and the admin can decide which components of the blog to actually import.

So all an importer needs to be able to do is instantiate textpress.importers.Blog (with the data), and call enqueue_dump on the instance. TextPress takes care of the rest.

The importer for Blogger.com was not a particular technical challenge, especially that Google have made available a Python client library for accessing their GData-based applications.

The process is:

  1. Authenticate with Google
  2. Grab and parse feeds of posts and comments
  3. Ask TextPress to dump the data

Interested in creating your own importer? Check out textpress/importers/, the base code is in __init__.py and the existing importers are there to use as examples.

2008-02-22 00:18 by Ali Afshar, 0 comments

Status of the Importers

You won’t believe it but TextPress can now import blog posts from another blog software. In that case WordPress which was the most important importer for the moment. After that we try to focus on blogger and some other online services, hopefully that is finished before the 0.1 release. The adventures that lead to the working importer can be found in my blog ;-)

Anyways. We sucessfully imported three blogs (mine, s0undt3ch’s and mikas), one with a dump of roughly 7 megabytes and four years of entries. Here a screenshot as proof:

mikas blog converted to textpress

2008-02-19 00:32 by Armin Ronacher, 0 comments

Where We Are Right Now...

Let me give you a brief overview about the current TextPress status. Right now all the core features and administration work and we have about ten plugins that implement various features such as automatic typographic quote setting, file uploads, static pages and support for markdown, creole and HTML with automatic paragraphs.

Here a list of completed features:

  • Automatic Paragraph setting and HTML cleanup
  • support for multiple authors
  • extensible plugin interface for themes, parsers, event driven plugins, APIs and widgets
  • theme-able, both templates and CSS files of course
  • basic anti-spam capabilities thanks to the akismet plugin
  • Atom feeds
  • Pingback-support
  • a mixture of tags and categories*
  • threaded and flat comments
  • database support for at least SQLite, Postgres and MySQL

* I’m not quite happy with that right now, we should probably split it into categories and tags like most recent WordPress installations.

What’s missing for the initial 0.1 release are converters for at least WordPress and RSS/Atom feeds and an improved comment moderation system that keeps spam comments and unmoderated comments apart.

2008-02-16 22:37 by Armin Ronacher, 4 comments

Welcome!

Welcome to the new TextPress development blog. Until 0.1 is released you can read about the latest code changes here and also discuss them. If you don’t know TextPress (which is very likely as it wasn’t announced anywhere so far) let me introduce you to it :-)

TextPress is a WordPress clone developed in Python with a tight focus on security and extensibility. The code and the installation is separated so you can upgrade multiple blogs in one go once we have a stable release.

If you want to give it a try yourself, head over to #pocoo on irc.freenode.net and give feedback. Google knows the link to the repository ;-) Be warned. So far we don’t recommend TextPress for production environments because there are still some rough edges.

If you are a python developer and interested in the project, here some development details. It’s written for Python 2.4 and higher, uses Werkzeug for the WSGI interface, Jinja as template engine, SQLAlchemy for the database layer and will use Babel for internationalization and localization. So far there are no converters so that’s one of the first things where we need help.

Updates will follow on a regular basis, so stay tuned.

2008-02-16 14:21 by Armin Ronacher, 6 comments