From ec6398d9884404e4b375ffe1b6964132bba71503 Mon Sep 17 00:00:00 2001 From: Rob Gaddi Date: Sun, 18 Jun 2017 16:05:40 -0700 Subject: [PATCH 1/3] Modified installation to support python2 and python3. --- bin/rst2ansi | 26 -------------------------- rst2ansi/__main__.py | 34 ++++++++++++++++++++++++++++++++++ setup.py | 4 +++- 3 files changed, 37 insertions(+), 27 deletions(-) delete mode 100755 bin/rst2ansi create mode 100755 rst2ansi/__main__.py diff --git a/bin/rst2ansi b/bin/rst2ansi deleted file mode 100755 index 435c7ed..0000000 --- a/bin/rst2ansi +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env python - -import sys -from rst2ansi import rst2ansi -import argparse -import io - -parser = argparse.ArgumentParser(description='Prints a reStructuredText input in an ansi-decorated format suitable for console output.') -parser.add_argument('file', type=str, nargs='?', help='A path to the file to open') - -args = parser.parse_args() - -def process_file(f): - out = rst2ansi(f.read()) - if out: - try: - print(out) - except UnicodeEncodeError: - print(out.encode('ascii', errors='backslashreplace').decode('ascii')) - -if args.file: - with io.open(args.file, 'rb') as f: - process_file(f) -else: - process_file(sys.stdin) - diff --git a/rst2ansi/__main__.py b/rst2ansi/__main__.py new file mode 100755 index 0000000..a1d02c8 --- /dev/null +++ b/rst2ansi/__main__.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python + +from __future__ import print_function + +import sys +from rst2ansi import rst2ansi +import argparse +import io + +def main(argv=None): + if argv is None: + argv = sys.argv[1:] + + parser = argparse.ArgumentParser(description='Prints a reStructuredText input in an ansi-decorated format suitable for console output.') + parser.add_argument('file', type=str, nargs='?', help='A path to the file to open') + + args = parser.parse_args(argv) + + def process_file(f): + out = rst2ansi(f.read()) + if out: + try: + print(out) + except UnicodeEncodeError: + print(out.encode('ascii', errors='backslashreplace').decode('ascii')) + + if args.file: + with io.open(args.file, 'rb') as f: + process_file(f) + else: + process_file(sys.stdin) + +if __name__ == '__main__': + main() diff --git a/setup.py b/setup.py index 46727b8..0682ab0 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,9 @@ def read(fname): url="https://github.com/Snaipe/python-rst-to-ansi", packages=['rst2ansi'], requires=['docutils'], - scripts=['bin/rst2ansi'], + entry_points = { + 'console_scripts': ['rst2ansi=rst2ansi.__main__:main'], + }, data_files=[], classifiers=[ "Development Status :: 4 - Beta", From 2380732778dfac76269633c4bfe78ce1a2e39ce7 Mon Sep 17 00:00:00 2001 From: Rob Gaddi Date: Sun, 18 Jun 2017 16:09:21 -0700 Subject: [PATCH 2/3] Using entry_points requires setuptools only, not distutils --- setup.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 0682ab0..48cdb14 100644 --- a/setup.py +++ b/setup.py @@ -2,10 +2,7 @@ import os import sys -try: - from setuptools import setup -except ImportError: - from distutils.core import setup +from setuptools import setup def read(fname): return open(os.path.join(os.path.dirname(__file__), fname)).read() From a485d0983c2f588a9a85535d754748d7c0b62efb Mon Sep 17 00:00:00 2001 From: Rob Gaddi Date: Sun, 18 Jun 2017 16:13:54 -0700 Subject: [PATCH 3/3] Switched old requires to install_requires --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 48cdb14..72cf419 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ def read(fname): keywords="rst restructuredtext ansi console code converter", url="https://github.com/Snaipe/python-rst-to-ansi", packages=['rst2ansi'], - requires=['docutils'], + install_requires=['docutils'], entry_points = { 'console_scripts': ['rst2ansi=rst2ansi.__main__:main'], },