#!/usr/bin/env python # -*- coding: utf-8 -*- import argparse #import locale parser = argparse.ArgumentParser(description='Get Options.') parser.add_argument('-i', type=argparse.FileType("r"),\ dest='clp', default='./My Clippings.txt',\ help='Input Clippings') parser.add_argument('-b', type=str,\ dest='book', \ help='Booktitle to search for') args=parser.parse_args() iline = args.clp.readlines() def printLines(s): pre = " " width = 80 words=s.split() line = '' for word in words: if len(word) > width and len(line) == 0: print(pre + word) else: if len(word) + len(line) < width: if len(line) == 0: line = pre + word else: line = line + " " + word else: print(line) line = pre + word if len(line) > 0: print(line) newEntry = 0 foundBook = False foundBookPast = False bookOld = "" for line in iline: if line.find("==========") == -1: if newEntry == 1: foundBook = False book = line if args.book: if book.find(args.book) != -1: foundBook = True if not foundBookPast: print("# " + line) print("## Anmerkungen") foundBookPast = True else: if bookOld != line: foundBook = True print("# " + line) print("## Anmerkungen") bookOld = line newEntry = newEntry + 1 elif foundBook: if newEntry == 2: if line.find("Seite") != -1: splt = 'Seite ' else: splt = 'Position ' page = line.split(splt)[1].split('|', 1)[0].strip() if page.find('-') != -1: if page.split('-')[0] == page.split('-')[1]: page = page.split('-')[0] if line.find("Markierung") != -1: print("- " + splt + page + ":") if line.find("Notiz") != -1: print("- Seite " + page + " (*Notiz*):") elif newEntry > 2: if line.strip() != "": printLines(line) newEntry = newEntry + 1 else: newEntry = 1