Florian Bruhin
ea06c64ed4
Fix typos.
2015-11-23 11:17:26 +01:00
Panagiotis Ktistakis
f3f0ef9841
Remove unnecessary 'usage:' from argument parser.
2015-11-23 01:10:35 +02:00
larryhynes
706a4e3d39
Change error to warning for text not found on page
2015-11-21 23:47:00 +00:00
Daniel Schadt
c12011c84d
Style fixes
2015-11-21 00:10:49 +01:00
Florian Bruhin
2727f3c2a8
Hide QObject::connect stateChanged warning.
2015-11-20 22:01:21 +01:00
Daniel Schadt
b776aeac84
Use same representation in webview and quteprocess
...
Otherwise the "page loaded" message will not be recognized.
Also use percent-encoding to avoid unicode-related bugs on different
systems.
2015-11-20 19:11:20 +01:00
Florian Bruhin
af875f4b8f
Add a :fake-key command.
...
Closes #556 .
See #551 .
2015-11-20 19:06:06 +01:00
Daniel Schadt
d5bc962046
mhtml: Current index != Current tab_id
2015-11-20 18:15:03 +01:00
Daniel Schadt
b38a3caa4c
Hide dest-old in the documentation of download
2015-11-20 16:34:27 +01:00
Florian Bruhin
1ec03462c8
Add a utils.parse_keystring.
2015-11-20 07:06:16 +01:00
xd1le
b9163c5079
doc: Document <unbound> in keys.conf.
...
Closes #1117 .
2015-11-20 00:55:33 +11:00
Florian Bruhin
271cb47f87
Merge branch 'netrc' of https://github.com/Konubinix/qutebrowser into Konubinix-netrc
2015-11-18 20:38:57 +01:00
Florian Bruhin
c7f386cec0
Avoid logging in signal handlers.
...
If we don't do that, we can get this:
--- Logging error ---
Traceback (most recent call last):
File ".../python3.5/logging/__init__.py", line 984, in emit
self.flush()
File ".../python3.5/logging/__init__.py", line 964, in flush
self.stream.flush()
RuntimeError: reentrant call inside <_io.BufferedWriter name='<stderr>'>
Call stack:
[...]
File ".../qutebrowser/app.py", line 122, in qt_mainloop
return qApp.exec_()
File ".../qutebrowser/utils/objreg.py", line 118, in on_destroyed
log.destroy.debug("schedule removal: {}".format(name))
File ".../python3.5/logging/__init__.py", line 1267, in debug
self._log(DEBUG, msg, args, **kwargs)
File ".../python3.5/logging/__init__.py", line 1415, in _log
self.handle(record)
File ".../python3.5/logging/__init__.py", line 1425, in handle
self.callHandlers(record)
File ".../python3.5/logging/__init__.py", line 1487, in callHandlers
hdlr.handle(record)
File ".../python3.5/logging/__init__.py", line 855, in handle
self.emit(record)
File ".../python3.5/logging/__init__.py", line 984, in emit
self.flush()
File ".../python3.5/logging/__init__.py", line 964, in flush
self.stream.flush()
File ".../qutebrowser/misc/crashsignal.py", line 365, in interrupt
log.destroy.info("Do the same again to forcefully quit.")
Message: 'Do the same again to forcefully quit.'
Arguments: ()
2015-11-18 20:21:23 +01:00
Daniel Schadt
3438a45b19
Merge branch 'master' into download-page
2015-11-18 19:27:26 +01:00
Samuel Loury
0298fcc841
Use credentials from netrc when available
2015-11-18 16:44:45 +01:00
Florian Bruhin
f20ffca540
Merge branch 'issue923' of https://github.com/lamarpavel/qutebrowser into lamarpavel-issue923
2015-11-17 19:43:35 +01:00
Florian Bruhin
726525b26a
bdd: Add some more tests for scrolling with floats.
2015-11-17 06:57:33 +01:00
Florian Bruhin
40e2258ef3
Don't accept floats for :scroll-px.
2015-11-17 06:57:13 +01:00
Florian Bruhin
bbaab24ce8
Fix lint.
2015-11-16 20:24:27 +01:00
Florian Bruhin
b68adf1245
Merge _scroll_percent into scroll_perc.
2015-11-16 19:05:05 +01:00
Florian Bruhin
a4d15b550e
Abort :back/:forward at beginning/end of history.
2015-11-16 19:03:07 +01:00
Florian Bruhin
eeab4d41ba
Make it possible to pass a count via command name.
...
This is only used for tests so far and not intended for general usage (and thus
undocumented).
2015-11-15 19:55:01 +01:00
Florian Bruhin
7de206e350
Fix :scroll-perc 0/100 0.
2015-11-15 16:38:56 +01:00
Lamar Pavel
46d335cdee
Update list of user agents with new script.
2015-11-14 16:06:45 +01:00
Lamar Pavel
d745819715
Improve script to print entries grouped by browser
...
The ua_fetch.py has been re-written entirely to find specific entries for
each browser based on diversity rather than sole popularity. The output
is now formatted to print the entries for each browser grouped together.
2015-11-14 15:57:24 +01:00
Florian Bruhin
1da7996c3b
Style fixes.
2015-11-13 22:27:41 +01:00
Daniel Schadt
aef26e7779
mhtml: Recognize more files as css
2015-11-12 20:11:36 +01:00
Daniel Schadt
30e2afb59d
mhtml: reduce test flakiness
...
Waiting for "All assets downloaded" may lead to race conditions when
the output file is read before qute wrote it, so the test fails.
2015-11-12 13:17:10 +01:00
Daniel Schadt
c759bf7a2f
Move common filename-ask-code to a function
...
This should reduce code/logic-duplication regarding asking for download
filenames.
2015-11-12 00:12:51 +01:00
Daniel Schadt
18da73227b
Don't shadow built-in "dir"
2015-11-11 21:20:04 +01:00
Daniel Schadt
62b0c4d178
Merge branch 'download-page-tests' of https://github.com/The-Compiler/qutebrowser into download-page
2015-11-11 21:03:36 +01:00
Daniel Schadt
4e3cd8b9e8
Don't prompt if not storage->prompt-download-dir
2015-11-11 20:39:35 +01:00
Daniel Schadt
0f8ec73c55
mhtml: also check dir before starting the download
...
Otherwise the downloads will be useless anyway.
2015-11-11 20:05:42 +01:00
Daniel Schadt
43c3a38938
mhtml: Don't crash if output dir doesn't exist
2015-11-11 20:00:20 +01:00
Florian Bruhin
7cddd52b2d
Merge branch 'download-page' of https://github.com/Kingdread/qutebrowser into Kingdread-download-page
2015-11-10 22:39:07 +01:00
Florian Bruhin
d99f9a3a20
Improve :set error messages.
2015-11-10 22:09:36 +01:00
Florian Bruhin
54e2cea460
Fix some corner cases with :set.
2015-11-10 21:27:42 +01:00
Florian Bruhin
7701bf602a
Add --append argument to :set-cmd-text.
2015-11-10 19:21:54 +01:00
Florian Bruhin
250f0e7410
Merge branch 'test-browser-cache-more' of https://github.com/lamarpavel/qutebrowser into lamarpavel-test-browser-cache-more
2015-11-10 18:57:28 +01:00
Florian Bruhin
374b448e51
Get rid of unnecessary file.readline() calls.
2015-11-10 18:44:42 +01:00
Daniel
a5ee39c35e
Fix PEP 8
2015-11-10 09:45:01 +01:00
Daniel
c0535727ef
Only download elements with rel={stylesheet,icon}
...
Websites may set the rel attribute to whatever they want, so we just
care about stylesheets and icons and not the other stuff like wss
links (looking at you, GitHub), RSS-feeds, ...
2015-11-09 22:57:31 +01:00
Florian Bruhin
2fc1612bd4
Fix removing of automatic downloads w/ -1 timeout.
...
With ui -> remove-finished-downloads set to -1, when a download was started
with auto_remove=True (like with :adblock-update), there was a QTimer set up
with timeout -1, which causes this instead of doing something sane:
WARNING: QTimer::singleShot: Timers cannot have negative timeouts
2015-11-09 22:45:51 +01:00
Florian Bruhin
566f94111c
Don't warn if element vanished on mouse release.
...
This happens somewhat reliably on Ubuntu Trusty with the hint test, and more
reliably on Travis.
2015-11-09 22:12:24 +01:00
Florian Bruhin
6579866abe
Quote weird Qt functions for logging.
2015-11-09 19:55:05 +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
f3d76b5af6
Fix :follow-hint with an invalid keystring.
2015-11-09 18:20:23 +01:00
Florian Bruhin
35c36725f2
Disallow :follow-hint outside of hint mode.
...
Fixes #1105 .
2015-11-09 18:20:23 +01:00
Daniel
f79722975f
Fix _download_dir reference
2015-11-09 17:14:04 +01:00
Daniel
a1bc020fec
mhtml: Sanitize default filename suggestion
2015-11-09 17:01:08 +01:00
Daniel
4f01382c64
mhtml: Ignore non-http(s) assets
2015-11-09 17:01:08 +01:00
Daniel
71533b3456
mhtml: Add comments describing the hostblock check
2015-11-09 17:01:08 +01:00
Daniel
9694b3b548
downloads: Remove safety check in on_reply_error
...
Probably not needed after the last commit.
2015-11-09 17:01:08 +01:00
Daniel
252dc9a8bd
mhtml: Don't attempt to download hostblocked urls
2015-11-09 17:01:08 +01:00
Daniel
f34161423c
Fix "line too long"
2015-11-09 17:01:08 +01:00
Daniel
a780325a3a
Allow directories to be entered as destination
...
The filename will then default to 'page title.mht'
2015-11-09 17:01:08 +01:00
Daniel
ae8a9b8798
Handle non-ASCII in headers/url better
2015-11-09 17:01:08 +01:00
Daniel
8bb887ddab
Specify window and tab instead of 'current'
2015-11-09 17:01:08 +01:00
Daniel
a1e0ccb787
Fix spelling/style.
2015-11-09 17:01:08 +01:00
Daniel
3a2bb2d348
Add cssutils to README and utils/version.py
2015-11-09 17:01:08 +01:00
Daniel
12a9deb9bc
Fix lints
2015-11-09 17:01:08 +01:00
Daniel
d1f8d29c20
Add --mhtml flag to :download
...
And remove :download-whole command.
2015-11-09 17:01:08 +01:00
Daniel
8cf0af004f
Deprecate :download [url] [dest], add --dest param
...
:download --dest [dest] [url] is the new syntax.
2015-11-09 17:00:46 +01:00
Daniel
b17d74452f
Expand $HOME before checking if file exists
...
Otherwise we might accidentally overwrite a file.
2015-11-09 16:59:16 +01:00
Daniel
919365dfa1
Remove dead code mhtml.py:MHTMLWriter:remove_file
2015-11-09 16:59:16 +01:00
Daniel
1902e4858f
Also catch re.error on cssutils import
...
cssutils 1.0 and earlier are broken on Python 3.5 due to a bad regex
escape.
2015-11-09 16:59:16 +01:00
Daniel
957d68c477
Revert "Remove cssutils from mhtml.py"
...
This reverts commit 22a0f0952704d284846ab2572790d99a85515c57.
2015-11-09 16:59:16 +01:00
Daniel
ce1a99cc7c
Remove cssutils from mhtml.py
2015-11-09 16:59:16 +01:00
Daniel
706b8c6600
Shorten line
2015-11-09 16:59:16 +01:00
Daniel
6601df14a3
mhtml: ask before overwriting dest
2015-11-09 16:59:16 +01:00
Daniel
420c087373
use cssutils
2015-11-09 16:59:16 +01:00
Daniel
749b1c02cc
Style changes for mhtml and test_mhtml
2015-11-09 16:59:16 +01:00
Daniel
b05a0d191d
Fix module path in test_mhtml
...
Also fix docstring for _get_css_imports
2015-11-09 16:59:16 +01:00
Daniel
2eeace1c2c
Move misc.mhtml to browser.mhtml
2015-11-09 16:59:16 +01:00
Daniel
a092ef1fe6
String quote style changes
...
"" for user facing strings
'' for internal strings
except when quotes appear inside a string, to avoid escaping them
2015-11-09 16:59:16 +01:00
Daniel
366916a8bf
Use more specific selectors to filter webelements
2015-11-09 16:59:16 +01:00
Daniel
bf90c8c06b
Add tests for mhtml
...
This also makes the output of MHTMLWriter deterministic, by
1) Setting the boundary at object creation, allowing uuid.uuid4 to be
monkey patched
2) Outputting the files in sorted order (sorted by location), as python
dicts are unordered by default.
2015-11-09 16:59:16 +01:00
Daniel
5fcbc839bb
Allow many spaces and tabs after @import in CSS
2015-11-09 16:59:16 +01:00
Daniel
afa2f339e6
mhtm: use downloads logger instead of misc
2015-11-09 16:59:16 +01:00
Daniel
cb477a2623
Decode headers with ISO-8859-1 instead of ASCII
2015-11-09 16:59:16 +01:00
Daniel
a63aed5965
Use email.encoders instead of own encoder function
2015-11-09 16:59:16 +01:00
Daniel
ba81332d45
_get_css_imports now works on strings only
...
This also means that it returns strings, making the calls to .decode
unneeded.
2015-11-09 16:59:16 +01:00
Daniel
d3a21927f2
Remove default values in MHTMLWriter.__init__
2015-11-09 16:59:16 +01:00
Daniel
e5bfb9884b
Use WebElementWrapper instead of QWebElement
...
* also don't derive from object
* also set the _used flag on _Downloader
2015-11-09 16:59:16 +01:00
Daniel
a3cc71e317
Don't from-import functions/classes
2015-11-09 16:59:16 +01:00
Daniel
83aee4fad5
Rename on_meta_data_change to on_meta_data_changed
2015-11-09 16:59:16 +01:00
Daniel
8593144fa7
Make _path_suggestion public
2015-11-09 16:59:16 +01:00
Daniel
f58f6f24ee
Use email.mime instead of manually writing the msg
2015-11-09 16:59:16 +01:00
Daniel
64c74bde90
Fix pylint for _NoCloseBytesIO
2015-11-09 16:59:16 +01:00
Daniel
05cc4b9650
Change boundary
...
This version contains a sequence that is illegal in quoted-printable
and thus safe from accidentally appearing in a website.
2015-11-09 16:59:16 +01:00
Daniel
8eafa1a105
Also scan CSS in <style> tags and inline CSS
...
As both may contain external links too (@import, url(...))
2015-11-09 16:59:16 +01:00
Daniel
02c1fa1232
Save mhtml if no assets need to be downloaded
2015-11-09 16:59:16 +01:00
Daniel
991b6d4fc9
Remove urljoin import
2015-11-09 16:59:16 +01:00
Daniel
5c6b715720
Use QUrl.resolved instead of urlparse.urljoin
2015-11-09 16:59:16 +01:00
Daniel
11ed60620a
Also load assets referenced in css files
...
Things like "@import stylesheet.css" and "url(...)".
2015-11-09 16:59:16 +01:00
Daniel
6b086d159d
Ask for filename when none is given
2015-11-09 16:59:16 +01:00
Daniel
679ab65b5f
Message on finished download
2015-11-09 16:59:16 +01:00
Daniel
fd7820ea16
occurs -> occurred
2015-11-09 16:59:16 +01:00
Daniel
111feebf89
Refactor start_download to a class
2015-11-09 16:59:16 +01:00
Daniel
49a32f0041
First round of lint fixes
2015-11-09 16:59:16 +01:00