#!/usr/bin/env python

from __future__ import print_function
import argparse
import os
import re
import string
import sys

from lxml import etree, html

################################################################
### main program
################################################################

parser = argparse.ArgumentParser(description="combine multiple hOCR documents into one")
parser.add_argument("files", help="hOCR files", type=argparse.FileType('r'),  nargs='+')
args = parser.parse_args()

doc = html.parse(args.files[0])
pages = doc.xpath("//*[@class='ocr_page']")
container = pages[-1].getparent()

for fname in args.files[1:]:
    doc2 = html.parse(fname)
    pages = doc2.xpath("//*[@class='ocr_page']")
    for page in pages:
        container.append(page)

print(etree.tostring(doc, pretty_print=True).decode('UTF-8'))
