mirror of
				https://github.com/python-escpos/python-escpos
				synced 2025-10-23 09:30:00 +00:00 
			
		
		
		
	add version-strings into the module
The version string is in the module as __version__ available. In the doc the version will be automatically parsed. The version comes from the installed module if on read the docs or directly from setuptools_scm if you are working locally. The CLI will issue the version string if you call it with the option 'version'. The CLI does not accept commands like '--version', since this would not be conform with the rest of the interface (and argparse). The configuration for loading the version-string is adapted from pimutils/vdirsyncer. It autogenerates a version string setuptools_scm at install-time and then adds it to the __version__ member in __init__.py I adapted the GitHub-template with a fitting comment and bumped the changelog. closes #141
This commit is contained in:
		| @@ -1 +1,19 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| """ | ||||
| python-escpos enables you to manipulate escpos-printers | ||||
| """ | ||||
| from __future__ import absolute_import | ||||
| from __future__ import division | ||||
| from __future__ import print_function | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| __all__ = ["constants", "escpos", "exceptions", "printer"] | ||||
|  | ||||
| try: | ||||
|     from .version import version as __version__  # noqa | ||||
| except ImportError:  # pragma: no cover | ||||
|     raise ImportError( | ||||
|         'Failed to find (autogenerated) version.py. ' | ||||
|         'This might be because you are installing from GitHub\'s tarballs, ' | ||||
|         'use the PyPI ones.' | ||||
|     ) | ||||
|   | ||||
| @@ -17,6 +17,7 @@ import argparse | ||||
| import sys | ||||
| import six | ||||
| from . import config | ||||
| from . import version | ||||
|  | ||||
|  | ||||
| # Must be defined before it's used in DEMO_FUNCTIONS | ||||
| @@ -448,7 +449,7 @@ def main(): | ||||
|     # Allow config file location to be passed | ||||
|     parser.add_argument( | ||||
|         '-c', '--config', | ||||
|         help='Altnerate path to the configuration file', | ||||
|         help='Alternate path to the configuration file', | ||||
|     ) | ||||
|  | ||||
|     # Everything interesting runs off of a subparser so we can use the format | ||||
| @@ -491,6 +492,10 @@ def main(): | ||||
|         action='store_true', | ||||
|     ) | ||||
|  | ||||
|     parser_command_version = command_subparsers.add_parser('version', | ||||
|                                                            help='Print the version of python-escpos') | ||||
|     parser_command_version.set_defaults(version=True) | ||||
|  | ||||
|     # Get only arguments actually passed | ||||
|     args_dict = vars(parser.parse_args()) | ||||
|     if not args_dict: | ||||
| @@ -498,6 +503,12 @@ def main(): | ||||
|         sys.exit() | ||||
|     command_arguments = dict([k, v] for k, v in six.iteritems(args_dict) if v is not None) | ||||
|  | ||||
|     # If version should be printed, do this, then exit | ||||
|     print_version = command_arguments.pop('version', None) | ||||
|     if print_version: | ||||
|         print(version.version) | ||||
|         sys.exit() | ||||
|  | ||||
|     # If there was a config path passed, grab it | ||||
|     config_path = command_arguments.pop('config', None) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Patrick Kanzler
					Patrick Kanzler