diff options
Diffstat (limited to 'pym')
| -rw-r--r-- | pym/gentoolkit/equery/list_.py | 6 | ||||
| -rw-r--r-- | pym/gentoolkit/errors.py | 11 |
2 files changed, 13 insertions, 4 deletions
diff --git a/pym/gentoolkit/equery/list_.py b/pym/gentoolkit/equery/list_.py index 8c4b871..92b3c1e 100644 --- a/pym/gentoolkit/equery/list_.py +++ b/pym/gentoolkit/equery/list_.py @@ -19,7 +19,7 @@ from getopt import gnu_getopt, GetoptError import gentoolkit import gentoolkit.pprinter as pp -import gentoolkit.errors as errors +from gentoolkit import errors from gentoolkit.equery import format_options, mod_usage, CONFIG from gentoolkit.helpers import get_installed_cpvs from gentoolkit.helpers import get_bintree_cpvs @@ -193,14 +193,14 @@ def main(input_args): print() # if we are in quiet mode, do not raise GentoolkitNoMatches exception - # TODO: Return a non-zero exit status + # instead we raise GentoolkitNonZeroExit to exit with an exit value of 3 try: matches = query.smart_find(**QUERY_OPTS) except errors.GentoolkitNoMatches: if CONFIG['verbose']: raise else: - continue + raise errors.GentoolkitNonZeroExit(3) # Find duplicate packages if QUERY_OPTS["duplicates"]: diff --git a/pym/gentoolkit/errors.py b/pym/gentoolkit/errors.py index 152f660..15fef24 100644 --- a/pym/gentoolkit/errors.py +++ b/pym/gentoolkit/errors.py @@ -16,7 +16,8 @@ __all__ = ( 'GentoolkitInvalidVersion', 'GentoolkitNoMatches', 'GentoolkitSetNotFound', - 'GentoolkitUnknownKeyword' + 'GentoolkitUnknownKeyword', + 'GentoolkitNonZeroExit' ) # ========== @@ -145,4 +146,12 @@ class GentoolkitUnknownKeyword(GentoolkitException): "'%s', KEYWORDS = '%s'\nUSE flags = '%s'" % (self.query, self.keywords, self.use)) + +class GentoolkitNonZeroExit(GentoolkitException): + """Used to signal, that a non-fatal, no warning error occurred. + The primary use case is for not returning any data.""" + def __init__(self, return_code=1, is_serious=False): + GentoolkitException.__init__(self, is_serious=is_serious) + self.return_code = return_code + # vim: set ts=4 sw=4 tw=79: |
