# HG changeset patch # User Jeff Hammel # Date 1478041573 25200 # Node ID c00f27542710495dc3e52d79fdd935a92986f614 initial commit diff -r 000000000000 -r c00f27542710 README.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.txt Tue Nov 01 16:06:13 2016 -0700 @@ -0,0 +1,11 @@ +validate-yaml +=========== + +validate yaml + +---- + +Jeff Hammel + + + diff -r 000000000000 -r c00f27542710 setup.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/setup.py Tue Nov 01 16:06:13 2016 -0700 @@ -0,0 +1,43 @@ +""" +setup packaging script for validate-yaml +""" + +import os + +version = "0.0" +dependencies = ['PyYAML'] + +# allow use of setuptools/distribute or distutils +kw = {} +try: + from setuptools import setup + kw['entry_points'] = """ + [console_scripts] + validate-yaml = validateyaml.main:main +""" + kw['install_requires'] = dependencies +except ImportError: + from distutils.core import setup + kw['requires'] = dependencies + +try: + here = os.path.dirname(os.path.abspath(__file__)) + description = file(os.path.join(here, 'README.txt')).read() +except IOError: + description = '' + + +setup(name='validate-yaml', + version=version, + description="validate yaml", + long_description=description, + classifiers=[], # Get strings from http://www.python.org/pypi?%3Aaction=list_classifiers + author='Jeff Hammel', + author_email='k0scist@gmail.com', + url='', + license='', + packages=['validateyaml'], + include_package_data=True, + zip_safe=False, + **kw + ) diff -r 000000000000 -r c00f27542710 validateyaml/__init__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/validateyaml/__init__.py Tue Nov 01 16:06:13 2016 -0700 @@ -0,0 +1,2 @@ +# + diff -r 000000000000 -r c00f27542710 validateyaml/main.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/validateyaml/main.py Tue Nov 01 16:06:13 2016 -0700 @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +validate yaml +""" + +# imports +import argparse +import sys +import yaml + +class ValidateYAMLParser(argparse.ArgumentParser): + """CLI option parser""" + def __init__(self, **kwargs): + kwargs.setdefault('formatter_class', argparse.RawTextHelpFormatter) + kwargs.setdefault('description', __doc__) + argparse.ArgumentParser.__init__(self, **kwargs) + self.add_argument('yaml_file', type=argparse.filetype('r')) + self.options = None + + def parse_args(self, *args, **kw): + options = argparse.ArgumentParser.parse_args(self, *args, **kw) + self.validate(options) + self.options = options + return options + + def validate(self, options): + """validate options""" + +def main(args=sys.argv[1:]): + """CLI""" + + # parse command line options + parser = ValidateYAMLParser() + options = parser.parse_args(args) + + yaml.load(options.yaml_file) + +if __name__ == '__main__': + main() + +