#!/usr/bin/env python

import re
import os
import sys

rxcountpages = re.compile(r"/Type\s*/Page([^s]|$)", re.MULTILINE|re.DOTALL)
 
def count_pages(filename):
    data = file(filename,"rb").read()
    return len(rxcountpages.findall(data))

def main(rootDir):
    page_sum = 0
    # TODO: Make recursive walk an option
    for dirName, subdirList, fileList in os.walk(rootDir):
        for infile in fileList:
            if infile.endswith('.pdf'):
                page_count = str(count_pages(dirName+'/'+infile))
                print "".join([infile, " = ", page_count])
                page_sum += int(page_count)
    print "No: of pages: "+str(page_sum)

if __name__ == '__main__':
    if len(sys.argv)<2:
    	# TODO: Show help when no argument provided
        main(".".encode('utf-8'))
    else:
        main(sys.argv[1].encode('utf-8'))
        