#!/usr/bin/env python3 import argparse import json import sys import csv import subprocess parser = argparse.ArgumentParser() parser.add_argument('input') parser.add_argument('-t', default='json', choices=['csv', 'json']) args = parser.parse_args() data = subprocess.check_output(['pdftotext', args.input, '-'], text=True).splitlines() users = [] user = {} i = 0 while i < len(data): if not data[i].startswith('URL'): i = i + 1 continue user = { 'Name': (data[i+1].split(': ')[1]).strip(), 'Klasse': (data[i+2].split(': ')[1]).strip(), 'Benutzername': (data[i+3].split(': ')[1]).strip(), 'Passwort': (data[i+4].split(': ')[1]).strip(), } users.append(user) i = i + 5 if args.t == 'json': json.dump(users, sys.stdout) elif args.t == 'csv': w = csv.writer(sys.stdout) w.writerows([user.values() for user in users])