To ensure properties are updated this is a simple open and save with the
glade designer. Always a bit messy with the diff but should not
change functionality.
- Switch from pynotify to gi libnotify binding.
- Ideally would drop libnotify for [GNotification] but requires more
work with the desktop file needing renamed to DNS format.
e.g. `org.deluge-torrent.deluge`
[GNotification]: https://developer.gnome.org/GNotification/
Co-authored-by: Calum Lind calumlind+deluge@gmail.com
- Added new svg icons for cleaner look.
- Use widget get_allocated_width and get_allocated_height instead of window size.
- Tweaked margins to fix spacing issues.
- Removed yellow background from 'slow settings' and applied only to label.
Co-authored-by: Calum Lind <calumlind+deluge@gmail.com>
All of the non-standard docstring file headers were being added to
minified files, increasing the file size. Replace with jsdoc `/**`.
Remove ext-extensions from git as will be generated by minify script.
- When running pre-commit on all files it is picking up minified js and
css files. Since prettier will format correctly the source files ignore
them in end-of-file fixer.
- The template files in web docs can be ignored too.
- Removed the unneeded `pre-commit-hooks` dependency as pre-commit
resolves that itself.
- Include files fixed by pre-commit.
The move to using auto-formatter makes it easier to read, submit and
speeds up development time. https://github.com/ambv/black/
Although I would prefer 79 chars, the default line length of 88 chars
used by black suffices. The flake8 line length remains at 120 chars
since black does not touch comments or docstrings and this will require
another round of fixes.
The only black setting that is not standard is the use of double-quotes
for strings so disabled any formatting of these. Note however that
flake8 will still flag usage of double-quotes. I may change my mind on
double vs single quotes but for now leave them.
A new pyproject.toml file has been created for black configuration.
* In Py3 base64.encodestring is deprecated so rather than use the
Py3 only encodebytes instead use b64encode. The other advantage is
that with issue a consistent TypeError is raised that we can catch.
Some new flake8 checkers were added so fix these new warnings and
any issues uncovered.
Use add-trailing-comma to fix missing trailing commas. It does not
format it as well as I would like however it was fast to change and
helps with git changes in future.
Removed pylint from tox due to large number of warnings.
The synchonous add torrent method was replaced with async but this
break backward compatibility with 3rd party plugins and clients.
Added a new add_torrent_file_async method for adding single torrent.
Torrent manager has a new add_async method and split up code to prevent
duplication.
Update any use of add_torrent_file to add_torrent_file_async. Future
refactoring could use add_torrent_files instead.
There are some blocklists with encoded names that break upon importing
so decode lines to unicode.
Need to use decode_bytes as not all encoded lines are utf8!
* The changes to core api now return a deferred instead of torrent_id
so need to update autoadd to use callbacks.
* Minor refactor to save one indentation level and reuse fail callback.
* Add exception handler for any errors from label plugin.
Using common.resource_filename broke plugins so need to find a better solution for non-ascii dirs.
This reverts commit bdb3b509adf5915efa938be3871e65ee8a817093.
- Use a BASE_PATH constant.
- pkg_resources caches the files in python_egg_cache which is not
required for plugins and causes issues with non-ascii paths.
* Continuation of updating code to Python 3 with Python 2 fallback.
* Using io.open allows files to be encoded and decoded automatically on write and read. This
maintains the python boundaries of unicode in code and bytes for output/files so less
explicit encoding or decoding.
* io.StringIO is the replacement for StringIO and will only accept unicode strings.
* io.BytesIO is used where bytes output is required by the enclosing method.
* Update bencode for full compatibility.