#! /usr/bin/env python
# -*- python -*-

####################################################################################################
#
# PyOpenGLng - An OpenGL Python Wrapper with a High Level API.
# Copyright (C) 2013 Salvaire Fabrice
#
####################################################################################################

""" Gather data from the xml files of the OpenGL API manual and generate a pickle file.
"""

####################################################################################################

import argparse
import cPickle as pickle

####################################################################################################

from PyOpenGLng.GlApi.ManualParser import make_manual

####################################################################################################
#
# Options
#

argument_parser = argparse.ArgumentParser(
    description='Gather data from the xml files of the OpenGL API manual and generate a pickle file',
    formatter_class=argparse.ArgumentDefaultsHelpFormatter,
    )

argument_parser.add_argument('manual_path',
                             metavar='ManualPath',
                             help='manual path')

argument_parser.add_argument('pickle_file',
                             metavar='FILE.pickle',
                             help='output pickle file')

args = argument_parser.parse_args()

####################################################################################################

manual = make_manual(args.manual_path)
with open(args.pickle_file, 'w') as f:
    pickle.dump(manual, f, pickle.HIGHEST_PROTOCOL)

####################################################################################################
# 
# End
# 
####################################################################################################
