Edgewall Software

TracWiki: mediawiki2trac.py

File mediawiki2trac.py, 1.1 kB (added by lio@…, 3 years ago)

Small conversion script to help in migration from MediaWiki to Trac; use at own risk!

Line 
1#!/usr/bin/python
2#
3# This script is provided AS IS, without any warranty!
4# Copyright lio@lunesu.com, placed in the public domain
5#
6import os
7import _mysql
8# open the mediawiki sql db
9db = _mysql.connect("localhost","wikiuser","twin","wikidb")
10db.query("SELECT cur_title,cur_text from cur where cur_namespace < 3;")
11rs = db.use_result()
12while 1:
13    row = rs.fetch_row()
14    if row == ():
15        break
16    filename = row[0][0]
17    wiki = row[0][1]
18    # convert mediawiki to tracwiki
19    wiki = wiki.replace("\n***","\n   *")
20    wiki = wiki.replace("\n**", "\n  *")
21    wiki = wiki.replace("\n*",  "\n *")
22    wiki = wiki.replace("[[","wiki:")
23    wiki = wiki.replace("]]","")
24    wiki = wiki.replace("<br>","[[BR]]")
25    wiki = wiki.replace("\n:","\n ")
26    # todo: change titles?
27    # fixme: could use piping to import (no temp files)
28    #os.system("trac-admin /tracroot/iv wiki remote" & filename)
29    # write to file
30    f = open( filename, "w")
31    f.write( wiki )
32    f.close
33# import all wiki pages
34os.system("trac-admin /tracroot/iv wiki load .")
35# todo: remove files
36db.close()