Florian Bruhin
86b12a302e
Add a jinja.render helper
...
This simplifies some code and will make #1362 possible.
2016-03-25 14:29:30 +01:00
Daniel Schadt
9676eab592
qutescheme: call base __init__ in QuteSchemeError
2016-02-05 15:18:27 +01:00
Daniel Schadt
59c782f383
qutescheme: handle pdfjs failures more gracefully
...
Now the browser does not crash anymore if an invalid pdfjs resource is
requested, instead it will reply with a 404 error.
2016-02-05 01:43:56 +01:00
Florian Bruhin
7fa0dc68bf
flake8: Add flake8-pep3101 plugin.
...
Checks for old string formatting.
https://pypi.python.org/pypi/flake8-pep3101/
2016-01-22 19:40:10 +01:00
Florian Bruhin
58fb2826ee
flake8: Add flake8-putty plugin.
...
Apply a bit of putty to flake8.
https://pypi.python.org/pypi/flake8-putty/
2016-01-22 17:33:58 +01:00
Florian Bruhin
fccde768ed
flake8: Add pep8-naming plugin.
...
Check PEP-8 naming conventions, plugin for flake8
https://pypi.python.org/pypi/pep8-naming/
2016-01-22 17:33:58 +01:00
Florian Bruhin
9d520b7312
Avoid trying to load .netrc if $HOME isn't set.
...
This logged an error on Windows:
ERROR misc networkmanager:on_authentication_required:269 Unable to read the netrc file
Traceback (most recent call last):
File "c:\python34\Lib\netrc.py", line 27, in __init__
file = os.path.join(os.environ['HOME'], ".netrc")
File "C:\Users\florian\buildbot\slave\win8\build\.tox\py34\lib\os.py", line 633, in __getitem__
raise KeyError(key) from None
KeyError: 'HOME'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\florian\buildbot\slave\win8\build\qutebrowser\browser\network\networkmanager.py", line 262, in on_authentication_required
net = netrc.netrc()
File "c:\python34\Lib\netrc.py", line 29, in __init__
raise OSError("Could not find .netrc: $HOME is not set")
Since this case is pretty common, we don't want to log it - and checking the
variable beforehand is easier than parsing the exception message.
This should fix the failing tests on Windows.
2016-01-15 06:57:43 +01:00
Florian Bruhin
0203bb3ed5
Add a :debug-clear-ssl-errors command.
2016-01-13 21:05:48 +01:00
Florian Bruhin
6b7f9fad9e
Fix ssl-strict = ask.
...
This was introduced in b13f2aa6f0
.
2016-01-13 15:54:25 +01:00
Florian Bruhin
b13f2aa6f0
Also deduplicate SSL errors with ssl-strict false.
...
Otherwise, on OS X we got the same SSL error logged twice as on_ssl_errors is
called twice. This means the tests only marked one as expected, and it failed
because of the other one.
2016-01-13 07:52:12 +01:00
Florian Bruhin
00f5b3cf74
Log debug information on SSL errors.
2016-01-13 07:52:12 +01:00
Florian Bruhin
a97ba9aa09
Merge branch 'pdfjs' of https://github.com/Kingdread/qutebrowser into Kingdread-pdfjs
2016-01-05 07:21:26 +01:00
Florian Bruhin
a5f2ac5f03
Adjust copyright years.
2016-01-04 07:12:39 +01:00
Daniel Schadt
c0b3160676
qutescheme: guess mimetype instead of 'text/html'
...
Since we're now using qute:// to serve files other than html
(see: pdfjs), it's a good idea to change the mimetype accordingly. This
also prevents warnings in the console, as QWebKit will complain e.g.
when stylesheets are served with 'text/html'.
2015-12-20 19:24:41 +01:00
Daniel Schadt
d7d577b1fa
Fix pep8/pylint
2015-12-20 19:24:41 +01:00
Daniel Schadt
9eb72bf08a
pdfjs: use system-wide installation if available
2015-12-20 19:24:41 +01:00
Daniel Schadt
ef85d1af4c
Move pdfjs and use original files
...
* No modified pdfjs installation needed
-> Groundwork for using a system-wide installation
* Script update_3rdparty.py to download and upack the latest pdfjs
release
2015-12-20 19:24:41 +01:00
Daniel Schadt
60b9d7e6c3
Fix lints
2015-12-20 19:24:41 +01:00
Daniel Schadt
0ee13392e1
Basic pdfjs support
...
Working, but not very well.
Todo:
- remove pdf_file.html debug file
- set URL correctly
2015-12-20 19:24:41 +01:00
Florian Bruhin
eff0e4c7cc
pylint: Enable useless-suppression globally.
...
We deactivate it locally where needed, i.e. where we are sure it's some
platform-specific thing.
2015-12-01 23:01:09 +01:00
Florian Bruhin
150a83d8f4
pylint: Remove unneeded supressions.
2015-12-01 22:03:58 +01:00
Florian Bruhin
31265b80b6
pylint: Add WORKAROUND to some comments.
2015-12-01 21:56:38 +01:00
Florian Bruhin
8be04e4f6c
pylint: Disable non-callable in SslError.
...
This wasn't hashable (and thus __hash__ wasn't callable) with Qt < 5.4.
2015-12-01 07:50:08 +01:00
Samuel Loury
0298fcc841
Use credentials from netrc when available
2015-11-18 16:44:45 +01:00
Florian Bruhin
65648da1ad
Fix #889 during a webpage shutdown.
...
If we're in the middle of closing a WebPage, the webview will still be
registered, but already deleted by Qt - so we get a RuntimeError/TypeError
there.
2015-11-09 18:22:35 +01:00
Florian Bruhin
b59a56921e
Fix crashes with downloads in a closed tab.
...
When a download was redirected or failed after a tab was closed, there was a
KeyError in the object registry.
Fixes #889 . This is a regression introduced in
976f758da1
/ #731 .
2015-11-09 07:46:22 +01:00
Florian Bruhin
939e95b344
Add missing decorator for qute:version.
2015-11-04 17:45:12 +01:00
Florian Bruhin
3525659b90
Fix pep8 issues.
2015-11-04 17:41:33 +01:00
Felix Van der Jeugt
8354894838
rename the add_handler function everywhere
2015-11-04 09:49:46 +01:00
Felix Van der Jeugt
896ac0a7e9
fix the comments on style/typos
2015-11-03 23:15:07 +01:00
Felix Van der Jeugt
84c498b638
use global variable in place of class variable
2015-11-03 23:12:38 +01:00
Felix Van der Jeugt
0233423d9a
using a class method is cleaner
2015-11-03 22:54:59 +01:00
Felix Van der Jeugt
a923572341
replace global constant with class variable and decorators
2015-11-03 22:54:59 +01:00
Florian Bruhin
c8346a11fc
Merge branch 'jinja' of https://github.com/meles5/qutebrowser into meles5-jinja
2015-10-17 19:04:36 +02:00
meles5
ff4c002096
A few changes
2015-10-17 17:33:05 +02:00
Florian Bruhin
11961db72c
Add maxlen argument to ErrorNetworkReply.readData.
...
This was missing before, causing a (hidden) exception with Python < 3.5, and
this with 3.5:
TypeError: readData() takes 1 positional argument but 2 were given
During handling of the above exception, another exception occurred:
SystemError: PyEval_EvalFrameEx returned a result with an error set
Fixes #969 .
2015-09-29 08:41:20 +02:00
meles5
8bcc0e4b92
filescheme.py & dirbrowser.html updated
2015-09-25 14:49:03 +02:00
Florian Bruhin
ee2b9adce4
Move checking if an URL is blocked to adblock.py.
2015-09-17 06:46:27 +02:00
Daniel
dd679c6c14
Fix is_whitelisted_domain docstring
2015-09-16 17:16:35 +02:00
Daniel
fc806525a2
Move whitelist host code to networkmanager
...
This means no :adblock-update after modifying the whitelist.
2015-09-16 17:10:03 +02:00
Florian Bruhin
79c1867e6c
Don't save cookies when starting in private mode.
...
Whoops... :(
Fixes #903 .
2015-08-30 23:17:48 +02:00
Florian Bruhin
7ce78bb560
networkreply: Add is{Running,Finished} methods.
2015-08-17 07:15:55 +02:00
Florian Bruhin
d94c1736db
Use a proper file:// URL for dirbrowser icons.
2015-08-16 19:04:54 +02:00
Florian Bruhin
97a9255400
Don't import function in filescheme.
2015-08-16 18:52:54 +02:00
Antoni Boucher
149ca68853
Renamed setReferer to set_referer.
2015-08-14 08:24:13 -04:00
Antoni Boucher
abeb7e3390
Fixed issues.
2015-08-13 19:54:23 -04:00
Antoni Boucher
814841200a
Fixes issues.
2015-08-12 17:24:01 -04:00
Antoni Boucher
77190554cc
Merge branch 'master' into feature/directory-browser
2015-08-12 16:57:45 -04:00
Florian Bruhin
aed915b1ec
Handle invalid URLs when checking for same domain.
...
The old code only checked whether current_url is invalid, but the request URL
can be invalid as well, e.g. on http://www.playstation.com/
/cc @Carpetsmoker
2015-08-09 18:52:11 +02:00
Antoni Boucher
052d18147e
Added permission check.
2015-08-09 11:29:18 -04:00
Antoni Boucher
0896d7a8b3
Fixed file scheme handler.
2015-08-08 19:45:00 -04:00
Antoni Boucher
14ae308279
Added a file:// scheme.
2015-08-08 15:16:48 -04:00
Florian Bruhin
8314f7f93c
Fix referer handling with generic download NAMs.
...
This broke e.g. :adblock-update as tab_id for those is set to None.
2015-08-01 14:54:46 +02:00
Florian Bruhin
52d7a5693f
Fix lint.
2015-08-01 13:47:42 +02:00
Florian Bruhin
44d109ca92
Save referer-header setting.
2015-08-01 13:32:11 +02:00
Florian Bruhin
976f758da1
Fix getting of the current URL.
2015-08-01 13:29:25 +02:00
Florian Bruhin
27f65be860
Merge branch 'referer-header' of https://github.com/Carpetsmoker/qutebrowser into Carpetsmoker-referer-header
...
Conflicts:
tests/utils/test_urlutils.py
2015-08-01 12:44:57 +02:00
Florian Bruhin
4cef4012e5
Catch OSError when loading qute:help.
...
Fixes #763 .
2015-07-02 22:08:41 +02:00
Martin Tournoij
a346644c71
Changed:
...
- same_domain: If the tld is unknown, only return True if the hostnames are the same
- Fix when starting without an open page
2015-06-27 21:15:54 +02:00
Martin Tournoij
f806eefba6
Merge branch 'master' into referer-header
2015-06-27 20:43:54 +02:00
Florian Bruhin
c64d9520ff
Fix lint.
...
Thanks to @Carpetsmoker for spotting this in #705 .
2015-06-18 08:10:14 +02:00
Florian Bruhin
b6349437f7
Fix broken check for changing js on qute:settings.
...
See #727 .
2015-06-08 20:29:55 +02:00
Florian Bruhin
2ff6dbd482
Remove unused import.
2015-06-07 21:44:45 +02:00
Florian Bruhin
f85ca19cef
Use <noscript> tag for qute:settings without JS.
...
There was already a noscript tag, this just removes the special check and makes
it a bit more obvious.
See #727 .
2015-06-07 21:38:44 +02:00
Florian Bruhin
a82b0d007d
Enforce a Qt with SSL support.
2015-06-07 10:47:28 +02:00
Martin Tournoij
463e85ff5d
Add referer-header setting, #712
2015-06-05 18:00:21 +02:00
Martin Tournoij
78e159cb27
Add referer-header settng, #712
2015-06-04 01:26:00 +02:00
Florian Bruhin
e780efb3d9
Handle javascript in qute:settings more gracefully.
...
Fixes #727 .
2015-06-03 15:03:04 +02:00
Florian Bruhin
36803cba06
Switch from flake8 to pytest-{mccabe,flakes,pep8}.
2015-06-02 20:51:06 +02:00
Florian Bruhin
269676318b
urlutils: Raise exception on errors in host_tuple.
2015-05-20 13:36:40 +02:00
Florian Bruhin
024549e3b0
Use a namedtuple for authentication prompts.
2015-05-06 11:05:17 +02:00
Florian Bruhin
842c69dfdd
Cache proxy authentication credentials.
2015-05-06 10:46:42 +02:00
Florian Bruhin
71ffe8f656
Use config.get() for qute:settings.
...
Fixes #628 .
2015-04-16 22:20:38 +02:00
Florian Bruhin
9381aac501
Merge {Pastebin,PyPIVersion}Client into HTTPClient.
2015-04-13 20:42:28 +02:00
Florian Bruhin
8ebac8d38c
Various spelling fixes.
2015-03-31 21:11:47 +02:00
Florian Bruhin
2f629befc3
Add an option to disable host blocking.
2015-03-30 18:33:10 +02:00
Florian Bruhin
82322beb03
Fix pep257 issues.
2015-03-26 07:08:54 +01:00
Florian Bruhin
21d2bb2291
Simplify some unneeded lambdas.
2015-03-23 07:04:50 +01:00
Florian Bruhin
8811947f50
Re-enable some pylint checks.
2015-03-23 07:04:41 +01:00
Florian Bruhin
218822d6e8
Clear rejected SSL questions when reloading page.
...
Fixes #565 .
2015-03-19 21:21:40 +01:00
Florian Bruhin
e8e6d8409b
Adjust pylint exceptions.
2015-03-11 20:14:39 +01:00
Florian Bruhin
4b6d49e926
Make QSslError hashable for Qt <= 5.4.
...
PyQt uses qHash() for __hash__, and qHash for QSslError was added with Qt 5.4.
This means 2da45e98ca
raised TypeError there as
QSslError is unhashable.
For those older Qt versions, we implement __hash__ ourselves which does about
the same thing as Qt does, combining the DER (binary) representation of the
certificate and the error() (which is just a QEnum, hashable as int).
2015-03-10 08:29:56 +01:00
Florian Bruhin
2da45e98ca
Auto-handle equal SSL errors for the same host.
...
For every (scheme, host, port) tuple, we save all SSL errors we asked the user
about, and if everything matches (scheme, host, port, error, certificate), we
don't ask the user again.
Fixes #422 .
2015-03-10 07:58:40 +01:00
Florian Bruhin
6a16875f50
Fix retrying of downloads from closed tabs.
...
Fixes #502 .
2015-03-09 07:39:40 +01:00
Florian Bruhin
31d9018fc4
Disable insecure SSL ciphers (< 128bit) for Qt 5.2.
...
This is only an issue for the users which are stuck on Ubuntu Trusty.
2015-02-25 21:07:44 +01:00
Florian Bruhin
b721a0e992
Clean up NetworkManager after downloads finished.
...
Fixes #490 .
2015-01-28 22:52:24 +01:00
Florian Bruhin
4c87287f4e
Don't set up on_ssl_errors slot without SSL.
2015-01-26 13:23:41 +01:00
Florian Bruhin
2203db298d
Abort blocking questions when new page is loaded.
...
Fixes #430 .
Fixes #431 .
Hopefully fixes #354 .
Hopefully fixes #434 .
2015-01-03 22:21:47 +01:00
Florian Bruhin
f811f511fa
Use self._win_id in QNetworkManager._ask.
2015-01-03 22:04:56 +01:00
Florian Bruhin
450d1ab70d
Update copyright years
2015-01-03 15:51:31 +01:00
Florian Bruhin
3cc1134e82
Fix AttributeError on HTTP/proxy authentications.
...
This is a regression introduced in cafb487ac9
.
Fixes #355 .
See #333 .
2014-12-17 13:40:15 +01:00
Florian Bruhin
512d7c4448
Simplify config exception tree and handling.
...
Also make sure we catch all config-related errors in all related places.
Fixes #324 .
2014-12-17 11:17:18 +01:00
Florian Bruhin
655ab31d48
Add a network -> proxy-dns-requests option.
...
Closes #330 .
2014-12-16 23:27:55 +01:00
Florian Bruhin
cafb487ac9
Abort questions in NetworkManager on destroyed.
...
Hopefully fixes #333 .
2014-12-16 17:22:01 +01:00
Florian Bruhin
06ec1a3885
Big file tree reorganisation.
...
Closes #255 .
Should make a lot more sense now ;)
2014-12-13 17:28:50 +01:00