Skip to content

Instantly share code, notes, and snippets.

@xyb
Created August 18, 2013 11:17
Show Gist options
  • Save xyb/6261157 to your computer and use it in GitHub Desktop.
Save xyb/6261157 to your computer and use it in GitHub Desktop.
import ohlife export content to nikola ( https://github.com/ralsina/nikola )
#!/usr/bin/env python
# coding: utf-8
import datetime
import os
import sys
post = ''
prev_date = ''
posts = []
def dateconvert(s):
try:
return datetime.datetime.strptime(s, '%Y-%m-%d')
except:
return None
for line in sys.stdin.readlines():
date = dateconvert(line.rstrip())
if date:
if prev_date:
date = dateconvert(prev_date)
posts.append({'text': post.strip(), 'date': date.date()})
post = ''
prev_date = line[:10]
else:
post += line.replace('\r\n', '\n')
if post:
date = dateconvert(prev_date)
posts.append({'text': post.strip(), 'date': date.date()})
if not os.path.exists('posts'):
os.mkdir('posts')
for entry in posts:
date = entry['date']
text = entry['text']
post = '''<!--
.. link:
.. description:
.. tags: diary, ohlife
.. date: %s 23:59:59
.. title: %s
.. slug: %s
-->
%s''' % (date.strftime('%Y/%m/%d'), date, date, text)
open('posts/%s.md' % date, 'w').write(post)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment