From d0f416386a0ba9c562c0af1b3c0c53d15062d0e5 Mon Sep 17 00:00:00 2001 From: Eivind Uggedal Date: Sun, 18 Jan 2015 22:32:50 +0000 Subject: [PATCH 01/12] INSTALL: instructions for Void Linux --- doc/INSTALL.asciidoc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/INSTALL.asciidoc b/doc/INSTALL.asciidoc index c39714ddd..f75b09e26 100644 --- a/doc/INSTALL.asciidoc +++ b/doc/INSTALL.asciidoc @@ -80,6 +80,16 @@ in your `PYTHON_TARGETS` (`/etc/portage/make.conf`) and rebuild your system # emerge -av qutebrowser ---- +On Void Linux +------------- + +qutebrowser is available in the official repositories and can be installed +with: + +---- +# xbps-install qutebrowser +---- + On Windows ---------- From 380537d49c1ce04d184ab424a893559e6b0a6d5b Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 19 Jan 2015 00:42:39 +0100 Subject: [PATCH 02/12] run_checks: Run pep257 via subprocess. --- scripts/run_checks.py | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/scripts/run_checks.py b/scripts/run_checks.py index a577468c4..d7181c22e 100755 --- a/scripts/run_checks.py +++ b/scripts/run_checks.py @@ -99,27 +99,6 @@ def run(name, target=None): return status -def check_pep257(target): - """Run pep257 checker with args passed.""" - # pylint: disable=assignment-from-no-return,no-member - args = _get_args('pep257') - sys.argv = ['pep257', target] - if args is not None: - sys.argv += args - try: - if hasattr(pep257, 'run_pep257'): - # newer pep257 versions - status = pep257.run_pep257() - else: - # older pep257 versions - status = pep257.main(*pep257.parse_options()) - print() - return status - except Exception: - traceback.print_exc() - return None - - def check_unittest(): """Run the unittest checker.""" suite = unittest.TestLoader().discover('.') @@ -248,7 +227,7 @@ def _get_checkers(): # "Dynamic" checkers which exist once for each target. for target in config.get('DEFAULT', 'targets').split(','): checkers[target] = collections.OrderedDict([ - ('pep257', functools.partial(check_pep257, target)), + ('pep257', functools.partial(run, 'pep257', target)), ('flake8', functools.partial(run, 'flake8', target)), ('vcs', functools.partial(check_vcs_conflict, target)), ('pylint', functools.partial(run, 'pylint', target)), From 1e8729eac7a6496e7b7039aa8d0d1eb9f129b87e Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 19 Jan 2015 00:45:01 +0100 Subject: [PATCH 03/12] run_checks: Add a --print-version argument. --- scripts/run_checks.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/scripts/run_checks.py b/scripts/run_checks.py index d7181c22e..e65bb44a5 100755 --- a/scripts/run_checks.py +++ b/scripts/run_checks.py @@ -78,18 +78,21 @@ def _adjusted_pythonpath(name): del os.environ['PYTHONPATH'] -def run(name, target=None): +def run(name, target=None, print_version=False): """Run a checker via distutils with optional args. Arguments: name: Name of the checker/binary target: The package to check + print_version: Whether to print the checker version. """ # pylint: disable=too-many-branches args = _get_args(name) if target is not None: args.append(target) with _adjusted_pythonpath(name): + if print_version: + subprocess.call([name, '--version']) try: status = subprocess.call([name] + args) except OSError: @@ -211,7 +214,7 @@ def _get_args(checker): return args -def _get_checkers(): +def _get_checkers(args): """Get a dict of checkers we need to execute.""" # "Static" checkers checkers = collections.OrderedDict([ @@ -220,17 +223,18 @@ def _get_checkers(): ('git', check_git), ])), ('setup', collections.OrderedDict([ - ('pyroma', functools.partial(run, 'pyroma')), - ('check-manifest', functools.partial(run, 'check-manifest')), + ('pyroma', functools.partial(run, 'pyroma', args.version)), + ('check-manifest', functools.partial(run, 'check-manifest', + args.version)), ])), ]) # "Dynamic" checkers which exist once for each target. for target in config.get('DEFAULT', 'targets').split(','): checkers[target] = collections.OrderedDict([ - ('pep257', functools.partial(run, 'pep257', target)), - ('flake8', functools.partial(run, 'flake8', target)), + ('pep257', functools.partial(run, 'pep257', target, args.version)), + ('flake8', functools.partial(run, 'flake8', target, args.version)), ('vcs', functools.partial(check_vcs_conflict, target)), - ('pylint', functools.partial(run, 'pylint', target)), + ('pylint', functools.partial(run, 'pylint', target, args.version)), ]) return checkers @@ -254,6 +258,8 @@ def _parse_args(): parser.add_argument('-q', '--quiet', help="Don't print unnecessary headers.", action='store_true') + parser.add_argument('-V', '--version', + help="Print checker versions.", action='store_true') parser.add_argument('checkers', help="Checkers to run (or 'all')", default='all', nargs='?') return parser.parse_args() @@ -269,7 +275,7 @@ def main(): exit_status_bool = {} args = _parse_args() - checkers = _get_checkers() + checkers = _get_checkers(args) groups = ['global'] groups += config.get('DEFAULT', 'targets').split(',') From dc9263a77ce3892f944b2ea08dc79e8e2f44d895 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 19 Jan 2015 00:50:18 +0100 Subject: [PATCH 04/12] Revert "run_checks: Run pep257 via subprocess." This reverts commit 380537d49c1ce04d184ab424a893559e6b0a6d5b. Conflicts: scripts/run_checks.py This is needed because it seems pep257 doesn't install a binary on Windows. --- scripts/run_checks.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/scripts/run_checks.py b/scripts/run_checks.py index e65bb44a5..1fb7f9d04 100755 --- a/scripts/run_checks.py +++ b/scripts/run_checks.py @@ -102,6 +102,27 @@ def run(name, target=None, print_version=False): return status +def check_pep257(target): + """Run pep257 checker with args passed.""" + # pylint: disable=assignment-from-no-return,no-member + args = _get_args('pep257') + sys.argv = ['pep257', target] + if args is not None: + sys.argv += args + try: + if hasattr(pep257, 'run_pep257'): + # newer pep257 versions + status = pep257.run_pep257() + else: + # older pep257 versions + status = pep257.main(*pep257.parse_options()) + print() + return status + except Exception: + traceback.print_exc() + return None + + def check_unittest(): """Run the unittest checker.""" suite = unittest.TestLoader().discover('.') @@ -231,7 +252,7 @@ def _get_checkers(args): # "Dynamic" checkers which exist once for each target. for target in config.get('DEFAULT', 'targets').split(','): checkers[target] = collections.OrderedDict([ - ('pep257', functools.partial(run, 'pep257', target, args.version)), + ('pep257', functools.partial(check_pep257, target)), ('flake8', functools.partial(run, 'flake8', target, args.version)), ('vcs', functools.partial(check_vcs_conflict, target)), ('pylint', functools.partial(run, 'pylint', target, args.version)), From aa6750ac1b9202fc521cb31083e04ef0ea20888e Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 19 Jan 2015 00:51:33 +0100 Subject: [PATCH 05/12] run_checks: Add a comment for check_pep257. --- scripts/run_checks.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/run_checks.py b/scripts/run_checks.py index 1fb7f9d04..9c3e3f99e 100755 --- a/scripts/run_checks.py +++ b/scripts/run_checks.py @@ -103,7 +103,11 @@ def run(name, target=None, print_version=False): def check_pep257(target): - """Run pep257 checker with args passed.""" + """Run pep257 checker with args passed. + + We use this rather than run() because on some systems (e.g. Windows) no + pep257 binary is available. + """ # pylint: disable=assignment-from-no-return,no-member args = _get_args('pep257') sys.argv = ['pep257', target] From 18443a6880f0ba140fe45845f34c274103062f3a Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 19 Jan 2015 00:53:05 +0100 Subject: [PATCH 06/12] run_checks: Support print_version for check_pep257. --- scripts/run_checks.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/run_checks.py b/scripts/run_checks.py index 9c3e3f99e..d84b598dc 100755 --- a/scripts/run_checks.py +++ b/scripts/run_checks.py @@ -102,13 +102,15 @@ def run(name, target=None, print_version=False): return status -def check_pep257(target): +def check_pep257(target, print_version=False): """Run pep257 checker with args passed. We use this rather than run() because on some systems (e.g. Windows) no pep257 binary is available. """ # pylint: disable=assignment-from-no-return,no-member + if print_version: + print(pep257.__version__) args = _get_args('pep257') sys.argv = ['pep257', target] if args is not None: @@ -256,7 +258,7 @@ def _get_checkers(args): # "Dynamic" checkers which exist once for each target. for target in config.get('DEFAULT', 'targets').split(','): checkers[target] = collections.OrderedDict([ - ('pep257', functools.partial(check_pep257, target)), + ('pep257', functools.partial(check_pep257, target, args.version)), ('flake8', functools.partial(run, 'flake8', target, args.version)), ('vcs', functools.partial(check_vcs_conflict, target)), ('pylint', functools.partial(run, 'pylint', target, args.version)), From c30978be2f9022b8a0db7ee1e0709a196426846a Mon Sep 17 00:00:00 2001 From: Peter Vilim Date: Mon, 19 Jan 2015 13:17:17 -0600 Subject: [PATCH 07/12] Add quotes for empty default value --- qutebrowser/completion/models/completion.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qutebrowser/completion/models/completion.py b/qutebrowser/completion/models/completion.py index e2940de92..09263970a 100644 --- a/qutebrowser/completion/models/completion.py +++ b/qutebrowser/completion/models/completion.py @@ -116,8 +116,10 @@ class SettingValueCompletionModel(base.BaseCompletionModel): value = '""' self.cur_item, _descitem, _miscitem = self.new_item(cur_cat, value, "Current value") - self.new_item(cur_cat, configdata.DATA[section][option].default(), - "Default value") + default_value = configdata.DATA[section][option].default() + if not default_value: + default_value = '""' + self.new_item(cur_cat, default_value, "Default value") if hasattr(configdata.DATA[section], 'valtype'): # Same type for all values (ValueList) vals = configdata.DATA[section].valtype.complete() From 6a7e454789b8b47ad58b8261b32a69f9f0bc592c Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 19 Jan 2015 23:50:01 +0100 Subject: [PATCH 08/12] Add proper virtualenv support to run_checks.py --- scripts/run_checks.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/run_checks.py b/scripts/run_checks.py index d84b598dc..0e0b97bb7 100755 --- a/scripts/run_checks.py +++ b/scripts/run_checks.py @@ -91,10 +91,15 @@ def run(name, target=None, print_version=False): if target is not None: args.append(target) with _adjusted_pythonpath(name): + # for virtualenvs + executable = os.path.join(os.path.dirname(sys.executable), name) + if not os.path.exists(executable): + # in $PATH + executable = name if print_version: - subprocess.call([name, '--version']) + subprocess.call([executable, '--version']) try: - status = subprocess.call([name] + args) + status = subprocess.call([executable] + args) except OSError: traceback.print_exc() status = None From f4479a81405ad19f2f2ada4f91045356ce3f7c73 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 20 Jan 2015 00:02:16 +0100 Subject: [PATCH 09/12] Fix adding epilogue in src2asciidoc.py. --- scripts/src2asciidoc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/src2asciidoc.py b/scripts/src2asciidoc.py index 8f9b0eaf5..a459ad8ff 100755 --- a/scripts/src2asciidoc.py +++ b/scripts/src2asciidoc.py @@ -389,7 +389,7 @@ def regenerate_manpage(filename): options = '\n'.join(groups) # epilog if parser.epilog is not None: - options.append(parser.epilog) + options += parser.epilog _format_block(filename, 'options', options) From 532ec30d00ddc0a1da31e3fecb542efcb04a781b Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 20 Jan 2015 22:56:25 +0100 Subject: [PATCH 10/12] Fix executing of virtualenv pylint on Windows. 6a7e454789b8b47ad58b8261b32a69f9f0bc592c broke executing pylint on Windows, because there was a pylint Python script in vev\Scripts, and subprocess tried to execute that instead of the .exe. --- scripts/run_checks.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/run_checks.py b/scripts/run_checks.py index 0e0b97bb7..d648f1abd 100755 --- a/scripts/run_checks.py +++ b/scripts/run_checks.py @@ -91,8 +91,12 @@ def run(name, target=None, print_version=False): if target is not None: args.append(target) with _adjusted_pythonpath(name): + if os.name == 'nt': + exename = name + '.exe' + else: + exename = name # for virtualenvs - executable = os.path.join(os.path.dirname(sys.executable), name) + executable = os.path.join(os.path.dirname(sys.executable), exename) if not os.path.exists(executable): # in $PATH executable = name From 4f20d6123c29088fdebd672cc907565cb7c1c568 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 21 Jan 2015 07:14:48 +0100 Subject: [PATCH 11/12] Update AUTHORS --- README.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.asciidoc b/README.asciidoc index 3cca31379..d6a01f1b7 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -130,8 +130,8 @@ Contributors, sorted by the number of commits in descending order: // QUTE_AUTHORS_START * Florian Bruhin * Claude -* John ShaggyTwoDope Jenkins * Peter Vilim +* John ShaggyTwoDope Jenkins * rikn00 * Martin Zimmermann * Joel Torstensson From 8da4e2b6f44ad68f65c8a155e30750bbe43c4422 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 21 Jan 2015 07:16:29 +0100 Subject: [PATCH 12/12] Update AUTHORS --- README.asciidoc | 1 + 1 file changed, 1 insertion(+) diff --git a/README.asciidoc b/README.asciidoc index d6a01f1b7..63dfbc965 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -145,6 +145,7 @@ Contributors, sorted by the number of commits in descending order: * Matthias Lisin * Helen Sherwood-Taylor * HalosGhost +* Eivind Uggedal * Andreas Fischer // QUTE_AUTHORS_END