Download raw (971 bytes)
# -*- coding: utf-8 -*- # Python imports import os import codecs import urllib # PyPi imports import markdown from py_etherpad import EtherpadLiteClient # Django imports from django.core.management.base import BaseCommand, CommandError # Django Apps import from etherpadlite.models import Pad, PadAuthor from ethertoff.settings import BACKUP_DIR class Command(BaseCommand): args = '' help = 'Write all pads to plain text files' def handle(self, *args, **options): for pad in Pad.objects.all(): padID = pad.group.groupID + '$' + urllib.quote_plus(pad.name.replace('::', '_')) epclient = EtherpadLiteClient(pad.server.apikey, pad.server.apiurl) text = epclient.getText(padID)['text'] backup_file_path = os.path.join(BACKUP_DIR, pad.display_slug) with open(backup_file_path.encode('utf-8'), 'w') as f: f.write(text.encode('utf-8'))