aboutsummaryrefslogtreecommitdiff
path: root/tools/trac2down.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2021-02-14 01:35:10 +0000
committerRob Austein <sra@hactrn.net>2021-02-14 01:35:10 +0000
commit23bb68fe7e9cc8af176ff60b56e8a51a70f05a89 (patch)
tree27c87a0c157e6eb343518031c4c3afd1e95bc488 /tools/trac2down.py
parentfa8b4d0e872d182ee878020fb1b066ce0da621ae (diff)
Now generating pages directly from sqlite3
Diffstat (limited to 'tools/trac2down.py')
-rw-r--r--tools/trac2down.py61
1 files changed, 0 insertions, 61 deletions
diff --git a/tools/trac2down.py b/tools/trac2down.py
deleted file mode 100644
index c66a201..0000000
--- a/tools/trac2down.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env python2
-
-# Untested code from https://gist.githubusercontent.com/sgk/1286682/raw/b744dd2e47a68d60373ad39df87cfe8256f517af/trac2down.py
-
-# vim:set fileencoding=utf-8 sw=2 ai:
-
-import sqlite3
-import datetime
-import re
-
-SQL = '''
- select
- name, version, time, author, text
- from
- wiki w
- where
- version = (select max(version) from wiki where name = w.name)
-'''
-
-conn = sqlite3.connect('../trac.db')
-result = conn.execute(SQL)
-for row in result:
- name = row[0]
- version = row[1]
- time = row[2]
- author = row[3]
- text = row[4]
-
- text = re.sub('\r\n', '\n', text)
- text = re.sub(r'{{{(.*?)}}}', r'`\1`', text)
- def indent4(m):
- return '\n ' + m.group(1).replace('\n', '\n ')
- text = re.sub(r'(?sm){{{\n(.*?)\n}}}', indent4, text)
- text = re.sub(r'(?m)^====\s+(.*?)\s+====$', r'#### \1', text)
- text = re.sub(r'(?m)^===\s+(.*?)\s+===$', r'### \1', text)
- text = re.sub(r'(?m)^==\s+(.*?)\s+==$', r'## \1', text)
- text = re.sub(r'(?m)^=\s+(.*?)\s+=$', r'# \1', text)
- text = re.sub(r'^ * ', r'****', text)
- text = re.sub(r'^ * ', r'***', text)
- text = re.sub(r'^ * ', r'**', text)
- text = re.sub(r'^ * ', r'*', text)
- text = re.sub(r'^ \d+. ', r'1.', text)
-
- a = []
- for line in text.split('\n'):
- if not line.startswith(' '):
- line = re.sub(r'\[(https?://[^\s\[\]]+)\s([^\[\]]+)\]', r'[\2](\1)', line)
- line = re.sub(r'\[(wiki:[^\s\[\]]+)\s([^\[\]]+)\]', r'[\2](/\1/)', line)
- line = re.sub(r'\!(([A-Z][a-z0-9]+){2,})', r'\1', line)
- line = re.sub(r'\'\'\'(.*?)\'\'\'', r'*\1*', line)
- line = re.sub(r'\'\'(.*?)\'\'', r'_\1_', line)
- a.append(line)
- text = '\n'.join(a)
-
- fp = file('%s.md' % name, 'w')
- print >>fp, '<!-- Name: %s -->' % name
- print >>fp, '<!-- Version: %d -->' % version
- print >>fp, '<!-- Last-Modified: %s -->' % datetime.datetime.fromtimestamp(time).strftime('%Y/%m/%d %H:%M:%S')
- print >>fp, '<!-- Author: %s -->' % author
- fp.write(text.encode('utf-8'))
- fp.close()