Commit Graph

820 Commits

Author SHA1 Message Date
real-yfprojects 5e046386d7 Specify archive using `-a` for borg v2 `mount`.
* src/vorta/views/archive_tab.py : Move all command building logic into `mount.py`.

* src/vorta/borg/mount.py (BorgMountJob.prepare): Add command building logic previously in other places.

* src/vorta/borg/mount.py (BorgMountJob.prepare): Use `-a` command line option to select a single archive.

* src/vorta/utils.py (SHELL_PATTERN_ELEMENT): A pattern that can be used to detect shell pattern syntax.

* src/vorta/utils.py (get_mount_points): Implement parsing a borg v2 cmd.
2023-01-21 21:18:05 +01:00
yfprojects b4a7c5494e Move umount logic from `archive_tab.py` into existing `BorgUmountJob`. By @real-yfprojects (#1404)
* src/vorta/borg/umount.py (BorgUmountJob.prepare): Add parameters `mount_point` and optional `archive_name`.
	Handle them correctly.

* src/vorta/views/archive_tab.py : Remove code that can now be found in `umount.py`.
	Translate error messages returned by `BorgUmountJob.prepare`.

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
2023-01-21 21:18:05 +01:00
real-yfprojects e275215c71 Specify the use of a `sh:`-style pattern when pruning with borg v2.
With borg v2.0.0b3 the default pattern style was changed to identical matching.

* src/vorta/borg/prune.py (BorgPruneJob.prepare)
2023-01-21 21:18:05 +01:00
Manu ba5c7c5511 Move rename logic for arguments into `BorgRenameJob`.
* src/vorta/borg/rename.py
* src/vorta/views/archive_tab.py
2023-01-21 21:18:05 +01:00
Manu f9d1260316 Remove compression field. Don't store timezone in db.
* src/vorta/borg/create.py (BorgCreateJob.process_result): Remove timezone from snapshot time.
	Don't save compressed size.

* src/vorta/borg/info_repo.py (BorgInfoRepoJob.process_result): Remove compressed size.

* src/vorta/borg/list_repo.py (BorgListRepoJob.process_result): Remove timezone from archive time.
2023-01-21 21:18:05 +01:00
real-yfprojects 2b2d61baa5 Implement borg v2 compatibility for most commands.
Adjust available encryptions for borg v2.
Use `-r` for all/most commands. Implement `rinfo`.
Use `ssh://` style URL as a placeholder.
Implement compatibility for `borg extract`.
Adjust for beta3, use --match-archives for deletions

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
Co-authored-by: Manu <manu@snapdragon.cc>
2023-01-21 21:18:05 +01:00
real-yfprojects fa3a6cf7e6 Add borg v2 compatibility item.
* src/vorta/borg/_compatibility.py: Add `V2` level starting with `2.0.0b1`.
2023-01-21 21:18:05 +01:00
real-yfprojects 78ec74a72c
Fix tray menu on XFCE.
The menu is build ones before the tray icon is clicked so that it is registered correctly.

* src/vorta/tray_menu.py (TrayMenu): Rename `on_user_click` to `build_menu`.

* src/vorta/tray_menu.py (TrayMenu.__init__): Call `build_menu`.
2023-01-21 19:51:56 +01:00
real-yfprojects a6f75775ed
Fix dynamic colouring.
Fixes the paste icon so that vorta can invert the its colour. Fixes #1556.
Updates icons in main window and source tab correctly when the colour palette changes.

* src/vorta/assets/icons/paste.svg : Remove fill of `path` item.

* src/vorta/views/source_tab.py : Connect `QApplication.paletteChange` to `set_icons`.
* src/vorta/views/main_window.py
2023-01-21 11:04:13 +01:00
yfprojects c620c0d9ac
Handle empty path in `FileTreeModel.addItem`. (#1552) 2023-01-20 12:51:53 +00:00
Manu ef297bbf4b
Avoid autostart warning when autostart disabled (#1549) 2023-01-20 12:25:58 +01:00
yfprojects 66340bc2a8
Add support for `--paths-from-command` to extra borg arguments. (#1538)
Backups will run although no sources are specified if `--paths-from-command` is supplied.
Also arguments after `--` will be appended to the end of the command after all other arguments.
Closes #1537.

* src/vorta/borg/create.py

* tests/test_create.py : Add test for using `--path-from-commands`.

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
2023-01-18 15:57:23 +00:00
Sam bf9285a171 Fix typo in issue bug template 2023-01-18 10:54:29 +01:00
yfprojects cb4e3a11b6
Update usage of deprecated features in test.yml. (#1539) 2023-01-16 19:57:28 +01:00
endumiuz cace0778ac Run `borg compact` with the `--progress` option 2023-01-08 08:29:33 +01:00
real-yfprojects 84fdbe547d Pass int to `QPoint` constructor.
Before a float was passed to `QPoint(int, int)`. While this worked fine, on some machines it lead to an error.
Fixes #1535.

* src/vorta/views/main_window.py : cast division value to int.
2023-01-07 17:38:01 +01:00
real-yfprojects b80e617f25
Change label `Folders On Top` to `Folders First` in Extract and Diff view.
* src/vorta/assets/UI/diffresult.ui
* src/vorta/assets/UI/extractdialog.ui
2023-01-06 19:54:32 +01:00
yfprojects 7e7abafb3e
Catch `ProcessLookupError` in `BorgJob.cancel`. (#1520)
Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
2022-12-25 17:52:24 +01:00
endumiuz 225e84f115
Show progress on repo check (#1513)
Start `borg check` with option `--progress` and handle the progress messages. Now the long repo check phase won't look like a freeze in vorta because vorta will show status updates. Fixes #1497.

Co-authored-by: yfprojects <62463991+real-yfprojects@users.noreply.github.com>
2022-12-25 12:55:03 +00:00
Manu af8b146acc Bump build- and test versions 2022-12-23 21:52:36 +01:00
Manu 6779baecff
Use new ssh://-style URL format as placeholder and in test (#1473) 2022-12-16 11:19:34 +01:00
fixmeee 667f3b3779
Restart timers after hibernation/sleep (#1511)
Schedules get missed, if system has been in hibernation/sleep state as
described in https://github.com/borgbase/vorta/issues/1214
Although, timers should be refreshed every 15min, it seems that all timers get
deranged by sleep state and schedules is still missed in most cases. This seems
to be a general issue with the underlying QTimer implementation.

This fix doesn't distinguish host OS and has only by tested on Linux.
If 'org.freedesktop.login1.Manager' is not available, Vorta simple doesn't
get notified if system awakes again. No no impact on other OS is expected

Co-authored-by: yfprojects <62463991+real-yfprojects@users.noreply.github.com>
2022-12-16 11:10:40 +01:00
real-yfprojects b072496b31
Populate repo info from profile after populating dropdowns.
* src/vorta/views/repo_tab.py (RepoTab.__init__): Move call to `populate_from_profile` from the beginning to the end.
2022-11-24 17:55:10 +01:00
real-yfprojects 031a498ee0
Don't close temp file before running `borg extract`.
Fixes #1488.
Closing deletes the temp file. This will be done by `BorgJob.run` after running the command.

* src/vorta/borg/extract.py (BorgExtractJob.prepare): Remove call to `close` of temporary file.
2022-11-10 20:19:58 +01:00
Julian Hofer 648c916adb Update flatpak install rule
- Add the necessary flag `--no-build-isolation`
- Use `FLATPAK_DEST` instead of hardcoding `/app`
- Rename FLATPAK_XML to APPSTREAM_METADATA
2022-11-08 12:31:23 +01:00
Julian Hofer d7aff48822 Remove flatpak folder
The building happens at flathub, and we don't use this one for anything at the moment
2022-11-08 12:31:23 +01:00
Manu 99eb2871d7 Add Dutch language update 2022-11-05 20:10:59 +01:00
Manu 7550ae5b29 Pin pyobjc to v8 branch 2022-11-05 20:07:02 +01:00
Manu 9ad57d9ec6 Bump version to v0.8.9 2022-11-05 19:45:32 +01:00
real-yfprojects 722a8414ab Supply repository and archive name to borg in `BorgListArchiveJob`.
This reverts wrong modifications introduced in 0188b753b4.

* src/vorta/borg/list_archive.py (BorgListArchiveJob.prepare)
2022-11-05 15:36:52 +01:00
real-yfprojects 14a1de8c62 Add missing brackets fixing `BorgListArchiveJob`.
In python `+` takes precedence over the `if-else` operator.
Therefore brackets are needed around the latter.

* src/vorta/borg/list_archive.py (BorgListArchiveJob.prepare)
2022-11-05 15:36:52 +01:00
Manu 1ced42a878 Bump version to v0.8.8 2022-11-04 10:24:09 +01:00
Manu c3db61d74a Update translations 2022-11-04 10:23:23 +01:00
real-yfprojects b95da02b97 Fix sorting of diff results.
* src/vorta/views/diff_result.py (DiffSortProxyModel.choose_data): Return correct data for column `2`.
2022-11-03 21:12:40 +01:00
real-yfprojects c5034e171b Remove legacy `tree_view` (tree model) implementation.
* src/vorta/views/partials/tree_view.py : Delete.
2022-11-03 21:12:40 +01:00
real-yfprojects 2126ef769d Remove *unset* repository value from combobox when a repo is selected.
* src/vorta/views/repo_tab.py (init_repo_stats): Remove *unset* item from combobox.

* src/vorta/views/repo_tab.py (populate_from_profile): Move into `populate_repositories`.

* src/vorta/views/repo_tab.py (repo_unlink_action): Update unset condition. And repopulate repo combobox.

* src/vorta/views/repo_tab.py populate_repositories -> populate_from_profile
* src/vorta/views/main_window.py

* tests/test_repo.py : Fix tests.
2022-11-03 20:47:52 +01:00
real-yfprojects 14d587876e Replace `--prefix` with `-a` for borg v1.2.2 also.
* src/vorta/borg/prune.py (BorgPruneJob.prepare)
2022-11-02 17:05:03 +01:00
real-yfprojects 0188b753b4 Use `isomtime` instead of `mtime` from borg v1.2.2 on.
* src/vorta/borg/list_archive.py (BorgListArchiveJob.prepare)

* src/vorta/views/extract_dialog.py (parse_json_lines)
2022-11-02 17:05:03 +01:00
real-yfprojects ceb1a3bd3b Add compatibility feature `V122`.
* src/vorta/borg/_compatibility.py (MIN_BORG_FOR_FEATURE)
2022-11-02 17:05:03 +01:00
yfprojects 055338af2c
Link to report form chooser for critical errors. (#1451)
Currently the link will open an empty issue. Now the user can choose one of the templates.

* src/vorta/__main__.py : Replace link.
2022-10-31 17:50:32 +01:00
yfprojects ddcd3c7b0e
Update `actions/checkout` to v3. (#1433)
The second version of the checkout action is no longer supported by Github Actions because it uses Node.js 12.

* .github/workflows/build-macos.yml
* .github/workflows/test.yml
2022-10-15 13:53:29 +02:00
yfprojects 93307d278d
Add default `unset` value to repo combobox. By @real-yfprojects (#1429)
First element with index 0 is always the 'unset' option with data `None`.

* src/vorta/views/repo_tab.py (RepoTab.set_repos): Add element.

* src/vorta/views/repo_tab.py (RepoTab.repo_unlink_action): Handle the first element as unset.

* src/vorta/views/repo_tab.py (RepoTab.copy_URL_action): Handle unset state.

* tests/test_repo.py (test_repo_unlink): Fix test.

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
2022-10-13 13:12:20 +02:00
Manu 496acfde99
Enhance community docs and bug reporting. By @real-yfprojects (#1419) 2022-09-18 21:06:40 +02:00
real-yfprojects 17cf8102f0
Add pull request template.
* .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
2022-09-18 08:46:53 +02:00
real-yfprojects be194d92d9
Add CONTRIBUTING file.
* .github/CONTRIBUTING.md
2022-09-18 08:31:04 +02:00
yfprojects 3b40ce8e01
Create feature_request.md
* .github/ISSUE_TEMPLATE/feature_request.md
2022-09-18 08:31:03 +02:00
yfprojects 52b1e65c92
Create bug_form.yaml 2022-09-18 08:31:03 +02:00
yfprojects ff0b8883f8
Create config.yml
Link docs, discussions and FAQ on the issue page.

* .github/ISSUE_TEMPLATE/config.yml
2022-09-18 08:31:02 +02:00
yfprojects fd2d2d69cf
Update bug_report.md 2022-09-18 08:31:02 +02:00
yfprojects 62ba92a0ed
Log the error when parsing a file in `~/.ssh` fails. (#1410)
This should help debugging #1304.

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
Co-authored-by: Manu <3916435+m3nu@users.noreply.github.com>
2022-08-27 21:51:31 +02:00