From 678ffdbceccfae1079325ad0a999c187bf72f45a Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Thu, 20 Feb 2020 14:34:07 +0200 Subject: Add: initial version --- etherpad2git | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ pads.txt | 4 ++++ 2 files changed, 53 insertions(+) create mode 100755 etherpad2git create mode 100644 pads.txt diff --git a/etherpad2git b/etherpad2git new file mode 100755 index 0000000..5e9891c --- /dev/null +++ b/etherpad2git @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 + +import os +import subprocess +import sys + +import requests + + +base_url = 'https://etherpad.wikimedia.org/p' +savedir = os.path.expanduser('~/wmf/etherpads') + +def load_names(filename): + return open(filename).read().splitlines() + + +def pad_url(base_url, name): + return '{}/{}/export/txt'.format(base_url, name) + + +def get_pad(url): + r = requests.get(url) + if not r.ok: + raise Exception( + 'Failed to GET {}: {} {}'.format(url, r.status_code, r.text)) + return r.text + + +def save_text(savedir, name, text): + with open(os.path.join(savedir, name), 'w') as f: + f.write(text) + + +for filename in sys.argv[1:]: + names = load_names(filename) + for name in names: + url = pad_url(base_url, name) + text = get_pad(url) + save_text(savedir, name, text) + + +output = subprocess.check_output( + ['git', 'status', '--porcelain'], cwd=savedir) +if output: + subprocess.check_call(['git', 'add', '.'], cwd=savedir) + subprocess.call(['git', 'commit', '-qm', 'Autoadd', '.'], cwd=savedir) + print('OK. Added new and changed files to git.') +else: + print('OK. Nothing to do.') diff --git a/pads.txt b/pads.txt new file mode 100644 index 0000000..77dbc41 --- /dev/null +++ b/pads.txt @@ -0,0 +1,4 @@ +T238224-announcement +wmf-go +wmf-rust +RelEngTeam-Weekly -- cgit v1.2.1