Maximilian Bösing
|
a3cf445c93
|
Bugfix: No such file or directory: '/data/homeassistant/home-assistant_v2.db-shm' (#1795)
* Do not use `tar_file.add` to recursively add backup folder
As the folders might contain files which are being removed temporarily (e.g. shared memory file of sqlite database), relying on `tar_file.add` becomes problematic as it crashes the whole backup process if a file does not exist anymore.
This becomes annoying, if the file which causes the error should be excluded by the filter.
To workaround this issue, we manually iterating over the files/directories and apply filters before passing the file or directory to the `tar_file.add` method. As per [documentation](https://docs.python.org/3/library/pathlib.html#pure-paths), pure path does not access the file system.
Fixes #779
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Remove unused import
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Applied code review suggestions
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Applied codestyle
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Remove `pathlib` util and move `is_excluded_by_filter` into `tar` utils
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Rename method
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Rename `origin_dir` to `origin_path` and apply `Path` typehint
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Codestyle
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Add comment why we add the directory even if we are iterating over all its items
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Use `atomic_contents_add` from tar utils to archive addon data
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Remove unused function `exclude_filter`
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Remove unsecure default list value
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Some more codestyle
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Lowercase method name `Path.joinpath`
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Fix codestyle and use proper variable
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Add test for `_is_excluded_by_filter`
Signed-off-by: Maximilian Bösing <2189546+boesing@users.noreply.github.com>
* Update addon.py
Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
|
2020-06-26 11:36:49 +02:00 |
|
Franck Nijhof
|
1d83c0c77a
|
Update isort configuration and sorts imports in codebase (#1739)
* Add known first party to isort configuration
* Run isort on supervisor and tests folder
|
2020-05-21 13:30:54 +02:00 |
|
Martin Hjelmare
|
53fa8e48c0
|
Delint tests (#1720)
* Delint tarfile test
* Delint tests
|
2020-05-11 20:41:09 +02:00 |
|
Pascal Vizeli
|
4ac7f7dcf0
|
Rename Hass.io -> Supervisor (#1522)
* Rename Hass.io -> Supervisor
* part 2
* fix lint
* fix auth name
|
2020-02-21 17:55:41 +01:00 |
|
Pascal Vizeli
|
11811701d0
|
Add snapshot_exclude option (#1337)
* Add snapshot tar filter
* Add filter to add-on
* Fix bug
* Fix
|
2019-10-21 14:48:24 +02:00 |
|
Pascal Vizeli
|
05c8022db3
|
Check path on extractall (#1336)
* Check path on extractall
* code cleanup
* Add logger
* Fix issue
* Add tests
|
2019-10-21 12:23:00 +02:00 |
|