Compare commits

...

20 Commits
nsis ... master

Author SHA1 Message Date
Aaron Gorodetzky
6ffd3edb5d Revert :quit to previous behavior, remove -all, alias :q to :close 2018-07-12 06:10:01 -04:00
Aaron Gorodetzky
49b9144cf0 Change quit to only close the current window.
Adds the --all option to quit to behave the same as before.
Also changes wq to wqa to reflect the change.
2018-07-12 06:10:01 -04:00
Florian Bruhin
0a882739c8 Update changelog 2018-07-10 16:08:32 +02:00
Florian Bruhin
14205ae14f Make link_pyqt work with PyQt 5.11 2018-07-10 16:07:58 +02:00
Florian Bruhin
727b418d8b Allow PyQt 5.10 to fail on Travis
See #4055
2018-07-10 16:01:25 +02:00
Florian Bruhin
b3adbec23e Revert "travis: Try to install a font for PyQt 5.10"
This reverts commit 689f87d596.
Doesn't seem to help...
2018-07-10 15:55:53 +02:00
Florian Bruhin
689f87d596 travis: Try to install a font for PyQt 5.10
For some reason, since a while this fails with a font related assertion error...
2018-07-10 15:25:13 +02:00
Florian Bruhin
048d8ef794 Go back to a release version of PyYAML
There's 3.13 now which supports Python 3.7
2018-07-10 15:22:51 +02:00
Florian Bruhin
53afa4275c Merge remote-tracking branch 'origin/pr/4051' 2018-07-10 15:21:56 +02:00
Florian Bruhin
e24c723700 Update changelog 2018-07-10 15:16:33 +02:00
Florian Bruhin
3b59c35b35 Merge remote-tracking branch 'origin/pr/4048' 2018-07-10 15:14:23 +02:00
murchik
a5c1903247 OTP for qute-pass. 2018-07-10 20:42:28 +08:00
pyup-bot
40057c26f5 Update pyyaml from 3.13b1 to 4.2b4 2018-07-09 19:25:23 +02:00
pyup-bot
94f2b6bdb8 Update tox from 3.0.0 to 3.1.1 2018-07-09 19:25:21 +02:00
pyup-bot
df3e41db9b Update vulture from 0.27 to 0.28 2018-07-09 19:25:20 +02:00
pyup-bot
d817818fb8 Update vulture from 0.27 to 0.28 2018-07-09 19:25:18 +02:00
pyup-bot
45da910d23 Update pytest from 3.6.2 to 3.6.3 2018-07-09 19:25:17 +02:00
pyup-bot
d1093d1c1d Update hypothesis from 3.65.0 to 3.66.1 2018-07-09 19:25:15 +02:00
pyup-bot
ea026b5ecb Update cheroot from 6.3.2 to 6.3.2.post0 2018-07-09 19:25:14 +02:00
pyup-bot
e102551f9f Update setuptools from 39.2.0 to 40.0.0 2018-07-09 19:25:12 +02:00
12 changed files with 63 additions and 19 deletions

View File

@@ -65,6 +65,10 @@ matrix:
env: TESTENV=shellcheck
services: docker
fast_finish: true
allow_failures:
# https://github.com/qutebrowser/qutebrowser/issues/4055
- os: linux
env: TESTENV=py36-pyqt510
cache:
directories:

View File

@@ -18,10 +18,24 @@ breaking changes (such as renamed commands) can happen in minor releases.
v1.5.0 (unreleased)
-------------------
Added
~~~~~
- The qute-pass userscript now has optional OTP support.
v1.4.1 (unreleased)
-------------------
Fixed
~~~~~
- Rare crash when an error occurs in downloads.
- Newlines are now stripped from the :version pastebin URL.
- There's a new `mkvenv-pypi-old` environment in `tox.ini` which installs an
older Qt, which is needed on Ubuntu 16.04.
- Worked around a Qt issue which redirects to a `chrome-error://` page when
trying to use U2F.
- The `link_pyqt.py` script now works correctly with PyQt 5.11.
v1.4.0
------

View File

@@ -3,6 +3,6 @@
appdirs==1.4.3
packaging==17.1
pyparsing==2.2.0
setuptools==39.2.0
setuptools==40.0.0
six==1.11.0
wheel==0.31.1

View File

@@ -1,9 +1,7 @@
Jinja2
Pygments
pyPEG2
PyYAML!=4.1
PyYAML
colorama
cssutils
attrs
#@ filter: PyYAML != 4.1

View File

@@ -2,7 +2,7 @@
attrs==18.1.0
beautifulsoup4==4.6.0
cheroot==6.3.2
cheroot==6.3.2.post0
click==6.7
# colorama==0.3.9
coverage==4.5.1
@@ -11,7 +11,7 @@ fields==5.0.0
Flask==1.0.2
glob2==0.6
hunter==2.0.2
hypothesis==3.65.0
hypothesis==3.66.1
itsdangerous==0.24
# Jinja2==2.10
Mako==1.0.7
@@ -22,7 +22,7 @@ parse-type==0.4.2
pluggy==0.6.0
py==1.5.4
py-cpuinfo==4.0.0
pytest==3.6.2
pytest==3.6.3
pytest-bdd==2.21.0
pytest-benchmark==3.1.1
pytest-cov==2.5.1
@@ -36,5 +36,5 @@ pytest-travis-fold==1.3.0
pytest-xvfb==1.1.0
PyVirtualDisplay==0.2.1
six==1.11.0
vulture==0.27
vulture==0.28
Werkzeug==0.14.1

View File

@@ -3,5 +3,5 @@
pluggy==0.6.0
py==1.5.4
six==1.11.0
tox==3.0.0
tox==3.1.1
virtualenv==16.0.0

View File

@@ -1,3 +1,3 @@
# This file is automatically generated by scripts/dev/recompile_requirements.py
vulture==0.27
vulture==0.28

View File

@@ -25,9 +25,17 @@ demonstration can be seen here: https://i.imgur.com/KN3XuZP.gif.
USAGE = """The domain of the site has to appear as a segment in the pass path, for example: "github.com/cryzed" or
"websites/github.com". How the username and password are determined is freely configurable using the CLI arguments. The
login information is inserted by emulating key events using qutebrowser's fake-key command in this manner:
[USERNAME]<Tab>[PASSWORD], which is compatible with almost all login forms."""
[USERNAME]<Tab>[PASSWORD], which is compatible with almost all login forms.
EPILOG = """Dependencies: tldextract (Python 3 module), pass.
Suggested bindings similar to Uzbl's `formfiller` script:
config.bind('<z><l>', 'spawn --userscript qute-pass')
config.bind('<z><u><l>', 'spawn --userscript qute-pass --username-only')
config.bind('<z><p><l>', 'spawn --userscript qute-pass --password-only')
config.bind('<z><o><l>', 'spawn --userscript qute-pass --otp-only')
"""
EPILOG = """Dependencies: tldextract (Python 3 module), pass, pass-otp (optional).
For issues and feedback please use: https://github.com/cryzed/qutebrowser-userscripts.
WARNING: The login details are viewable as plaintext in qutebrowser's debug log (qute://log) and might be shared if
@@ -66,6 +74,7 @@ argument_parser.add_argument('--merge-candidates', '-m', action='store_true',
group = argument_parser.add_mutually_exclusive_group()
group.add_argument('--username-only', '-e', action='store_true', help='Only insert username')
group.add_argument('--password-only', '-w', action='store_true', help='Only insert password')
group.add_argument('--otp-only', '-o', action='store_true', help='Only insert OTP code')
stderr = functools.partial(print, file=sys.stderr)
@@ -98,11 +107,19 @@ def find_pass_candidates(domain, password_store_path):
return candidates
def pass_(path, encoding):
process = subprocess.run(['pass', path], stdout=subprocess.PIPE)
def _run_pass(command, encoding):
process = subprocess.run(command, stdout=subprocess.PIPE)
return process.stdout.decode(encoding).strip()
def pass_(path, encoding):
return _run_pass(['pass', path], encoding)
def pass_otp(path, encoding):
return _run_pass(['pass', 'otp', path], encoding)
def dmenu(items, invocation, encoding):
command = shlex.split(invocation)
process = subprocess.run(command, input='\n'.join(items).encode(encoding), stdout=subprocess.PIPE)
@@ -169,6 +186,9 @@ def main(arguments):
fake_key_raw(username)
elif arguments.password_only:
fake_key_raw(password)
elif arguments.otp_only:
otp = pass_otp(selection, arguments.io_encoding)
fake_key_raw(otp)
else:
# Enter username and password using fake-key and <Tab> (which seems to work almost universally), then switch
# back into insert-mode, so the form can be directly submitted by hitting enter afterwards

View File

@@ -681,7 +681,6 @@ class Quitter:
@cmdutils.argument('session', completion=miscmodels.session)
def quit(self, save=False, session=None):
"""Quit qutebrowser.
Args:
save: When given, save the open windows even if auto_save.session
is turned off.

View File

@@ -3,8 +3,9 @@
aliases:
default:
w: session-save
q: quit
wq: quit --save
q: close
qa: quit
wqa: quit --save
type:
name: Dict
keytype:

View File

@@ -7,4 +7,4 @@ Jinja2==2.10
MarkupSafe==1.0
Pygments==2.2.0
pyPEG2==2.15.2
PyYAML==3.13b1 # rq.filter: != 4.1
PyYAML==3.13

View File

@@ -136,7 +136,15 @@ def link_pyqt(executable, venv_path):
executable: The python executable where the source files are present.
venv_path: The path to the virtualenv site-packages.
"""
sip_file = get_lib_path(executable, 'sip')
try:
get_lib_path(executable, 'PyQt5.sip')
except Error:
# There is no PyQt5.sip, so we need to copy the toplevel sip.
sip_file = get_lib_path(executable, 'sip')
else:
# There is a PyQt5.sip, it'll get copied with the PyQt5 dir.
sip_file = None
sipconfig_file = get_lib_path(executable, 'sipconfig', required=False)
pyqt_dir = os.path.dirname(get_lib_path(executable, 'PyQt5.QtCore'))