Commit Graph

10 Commits

Author SHA1 Message Date
336731cbc2 Fix a lot of flake8 linting errors (#85)
* Restore standard ignore list for flake8

In previous version we add some checks to ignore list.

* Fix all B950 flake8 errors (line too long)

Fix the code and add 2 per-file-ignore paterns for readability reasons.

* Fix F401 flake8 errors (import not used)

* Fix E302 flake8 errors

* Fix E266 flake8 errors

* Fix D107 flake8 errors

* Fix Dxxx Flake8 errors

* Add explanation on flake8 ignored rules

* Remove pyling inline ignore rules

pylint is no more used and replaced by flake8.

* Remove D102 flake8 errors.

* Apply suggestions from code review

Co-authored-by: Quentame <polletquentin74@me.com>

Co-authored-by: Quentame <polletquentin74@me.com>
2020-10-25 19:49:10 +01:00
9622f5d314 Migrate to poetry, nox and GitHub actions (#78)
* Replace setup files with pyproject.toml

Now we can use poetry to manage the package.
poetry install to install the package in a venv
poetry run ... to launch pylint, pytest or black

* Add CI with GitHub Action

Add a tests and release workflow
Add release drafter
Add dependabot

* Remove old CI based on travis and pylint

* Add linting configuration files

Linting mainly based on flake8 and plugins.
Add specific files for darglint and mypy.

* Update .gitignore

* Add test suite with nox and pre-commit

Test suite inculde pre-commit, safety, mypy, tests, typguard and documentation
checks.

* Add .gitattributes

* Update code coverage target to 80%

* Code style update by Black

* Update poetry lock file

* Deactivate temporarly some linting tests

* Add a contributing guide

* Remove Python 3.6 in GitHub Action

* Patch noxfile.py to be able to test mypy session

* Rebase version to 1.0.0
2020-10-21 21:38:25 +02:00
212f029478 Migrate to Python 3.6+ (#70)
* Migrate to Python 3.6+

Drop support of Python < 3.6
- remove six + future deps + usage
- update deps
- remove encoding
- remove (object)

* Fix pylint

- pip3 super() style
- remove simplejson dep + usage

* Black format

* lint setup

* Travix CI py version

* Use f string

* Basic Typing

* Revert setup version bump
2020-10-15 00:48:35 +02:00
5f9c2dd96a Add DSM 5 SYNO.DSM.Network test (#45) 2020-05-02 14:56:40 +02:00
bf6c88912c Fix Storage volume_disk_temp_[X](volume_id) for SHR disks redundancy (#42)
* Fix Storage volume_disk_temp_[X] for SHR disks redundancy

* Fix pylint & black

* Add SHR2 redundancy tests
2020-05-01 13:55:02 +02:00
adba2c3084 Fix : DSM 5 storage "KeyError: 'data'" (#39) 2020-04-29 12:27:44 +02:00
4096d7886b Add DSM 5 tests + fix DSM 5 issues 2020-04-28 22:56:51 +02:00
15697152cc Populated test data from DSM 5.2-5967 Update 9 (#37)
Co-authored-by: aaska <aaska@users.noreply.github.com>

Co-authored-by: Stanislav Toropovskyi <48147949+stast1@users.noreply.github.com>
2020-04-28 13:58:29 +02:00
0622bcf560 Refactor requests (#33)
* API discovery (SYNO.API.Info) + use Exceptions

- remove dsm_version
- use SynologyDSMRequestException for failed requests

* _discover_apis any time

* simplify requests

- Add api.request(api, method, params=None)

* Add connection failed tests

* Finalized ?

* Fix SynologyDSMRequestException not beeing SynologyDSMException

* Fix SynologyDSMAPINotExistsException not beeing SynologyDSMException

* Add Virtual Machine Manager API documentation

* Can get and post request

- Add error handling by API code

* Pylint

* Add get + post tests + SynologyDSMAPIErrorException
2020-04-22 14:00:27 +02:00
e393b1282c Add SYNO.API.Info to test constants + reorganize test consts (#31) 2020-04-14 14:01:58 +02:00