Commit Graph

791 Commits

Author SHA1 Message Date
Ted Lawson 15fa46ff85
Improve SSH key process. By @bigtedde (#1802) 2023-09-26 14:22:54 +01:00
Ted Lawson cff00ad8e1
Add '.log' suffix to log files. By @bigtedde (#1710) 2023-09-25 22:51:17 +01:00
Ted Lawson 43140beda1
Refactor archive context menu. By @bigtedde (#1793) 2023-09-19 11:09:55 +01:00
Pradyot Ranjan 3573bdbc78
Minor: README type. By @prady0t (#1822) 2023-09-19 10:02:47 +01:00
Ted Lawson 4350f78de5
Prevent borg operation while renaming. By @bigtedde (#1791) 2023-09-11 20:29:07 +01:00
Sam 7d2b3634f1
Changed label and tooltip for startup setting of Vorta (#1804)
This makes the setting easier to comprehend and removes ambiguity between the autostart setting.

* modifed foreground label and tooltip
2023-09-09 07:18:09 +00:00
Sam 8c82c4069d
Changed title of adding `new repo` and `existing repo`. By @SAMAD101 (#1810) 2023-09-06 09:48:55 +02:00
Ted Lawson 567a3546ae
Reduce number of tests. By @bigtedde (#1780) 2023-08-21 20:31:51 +01:00
Ted Lawson e5c9b2245a
Improve import/export feature test coverage. By @bigtedde (#1774) 2023-08-17 18:05:42 +01:00
jetchirag 3bfa78bf04
Fix health indicator always being green in extract view.
Fixes #1776. Now the indicator is red for unhealthy files.

* src/vorta/views/extract_dialog.py (ExtractTree.data): Set red instead of green colour for unhealthy files.
2023-08-17 18:49:17 +02:00
Ted Lawson 2caa093541
Source tab test improvements. By @bigtedde (#1772) 2023-08-17 11:09:00 +01:00
Ted Lawson 81920ea3f0
Repo test improvements. By @bigtedde (#1771) 2023-08-17 11:08:03 +01:00
Ted Lawson e85ec38c65
Add diff tests. By @bigtedde (#1770) 2023-08-17 11:06:36 +01:00
Ted Lawson ee71bcae9a
DRY tests, increase coverage. By @bigtedde (#1769) 2023-08-17 11:05:52 +01:00
Ted Lawson fb42614524
Add test utility functions (#1768) 2023-08-17 11:04:33 +01:00
Divyansh Singh 30c572250f
Inline archive renaming. By @diivi (#1734) 2023-08-15 12:38:51 +01:00
Manu 92f285f623
Add full font licenses, add Google icons to README. (#1740) 2023-08-13 19:53:12 +01:00
Ted Lawson b58ffb6aed
Setting for number format in archive tab. By @bigtedde (#1719) 2023-08-11 12:22:10 +01:00
jetchirag b015368fee
Integration Tests for Borg (#1716)
Move existing tests into subfolder `tests/unit`. Write integration tests that actually run the installed borg executable. Those tests can be found in `tests/integration`.  Those pytest fixtures that are the same for both kinds of tests remain in `tests/conftest.py`. The others can be found in `tests/integration/conftest.py` or `tests/unit/conftest.py`. This adds nox to the project and configures it to run the tests with different borg versions. This also updates the ci workflow to run the integration tests using nox.

* noxfile.py : Run pytest with a matrix of borg versions OR a specific borg version

* Makefile : Run using nox. Add phonies `test-unit` and `test-integration`.

* tests/conftest.py : Move some fixtures/functions to `tests/unit/conftest.py`.

* tests/test_*.py --> tests/unit/ : Move unittests and assets into subfolder

* tests/integration/ : Write integration tests.

* requirements.d/dev.txt: Add `nox` and `pkgconfig`. The latter is needed for installing new borg versions.

* .github/actions/setup/action.yml : Update to install pre-commit and nox when needed. The action now no longer installs Vorta.

* .github/actions/install-dependencies/action.yml : Install system deps of borg with this new composite action.

* .github/workflows/test.yml : Rename `test` ci to `test-unit` and update it for the new test setup.
                                              Implement `test-integration` ci.

Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-08-05 13:49:45 +00:00
Sam 0e37e1cf90
Correct homebrew path on arm macOS. By @sammcj (#1760) 2023-07-30 21:22:28 +01:00
jetchirag 25b4cc0b8b
Introduced password input widget (#1662)
Move existing code for password input widgets into common classes to increase maintainability and reusability alongside reducing redundancy. This implements a `PasswordLineEdit` that can show a red border when an invalid password is entered. It also features a button for showing/hiding the password entered. When combining two of these entries for setting a new password `PasswordInput` can be used from now on. It combines a form for entering and confirming a password with a label to show a message when there is an issue with the password. It also checks the entered password against some rules regarding its length. This PR replaces existing widgets for entering passwords with these two new widgets.

* src/vorta/views/partials/password_input.py : Implement common input widgets/classes

* src/vorta/views/repo_add_dialog.py : Use new widgets.
* src/vorta/assets/UI/repoadd.ui : ^^^
2023-07-28 07:39:10 +00:00
Divyansh Singh 157ac373a9
Run actions on multiple archives. By @diivi (#1723) 2023-07-05 11:28:09 +01:00
yfprojects ec1dfcd803
Add profile name to error notification. (#1728)
In a similar fashion like #1637 the commit adds the profile name to the error notification.

* src/vorta/scheduler.py

Co-authored-by: herrwusel <herrwusel@noreply.github.com>
2023-06-28 19:25:08 +00:00
Punyam Singh d087654eb3
Update GSoC notice in README (#1739)
* README.md
2023-06-27 09:30:41 +00:00
Manu 50be34cabe
Use maintained stale action (#1737) 2023-06-25 21:53:29 +01:00
Divyansh Singh 92608f9eaa
Assign names to repos. By @diivi (#1665) 2023-06-24 20:57:46 +01:00
Divyansh Singh f76195e47d
Disable compact button for older borg versions. By @diivi (#1727) 2023-06-23 20:20:23 +01:00
Divyansh Singh c56c6700ca
Show trigger (user/scheduled) in Archive tab. By @diivi (#1732) 2023-06-23 14:21:54 +01:00
Manu 210a968f91
Replace CC-BY Vaadin icon (#1735) 2023-06-21 09:09:38 +01:00
Manu 70ad554e03
Replace Font Awesome icons with Fork Awesome and others (#1729) 2023-06-19 08:16:37 +01:00
ratchek 2cb9afd4d5
Add a dev mode that allows for local storing of config files and logs (#1682)
Allows vorta to be called with the command-line flag `--development` or `-D` that will make it use a directory in the project tree to store all the settings, logs, and cache. This default directory will be called `.dev_config` and placed in the projects root.
Also allows for a custom directory path allowing for multiple "configuration" folders at once.
This can be used to prevent the vorta instance that a developer is working on from accessing the configuration files that they have set up for their personal backups.

* .gitignore : Add `.dev_config`.

* src/vorta/utils.py (parse_args): Add `--development` flag. The default will be `DEFAULT_DIR_FLAG`.

* src/vorta/utils.py : Add `DEFAULT_DIR_FLAG`.

* src/vorta/config.py : Add methods for populating the config directories exposed by this module.

* src/vorta/__main__.py (main): Handle `--development` flag and update config directories if its specified.

* Access config constants through the `config` module instead of importing them directly with `from .config import`.

---------
Co-authored-by: yfprojects <62463991+real-yfprojects@users.noreply.github.com>
2023-05-30 10:43:20 +00:00
yfprojects 5a3a7cf58e
Run pre-commit in lint ci and polish ci setup. (#1712)
Fix phonies in Makefile and run pre-commit for lint target.
Instead of running black, flake8 and ruff the lint phony now runs pre-commit which has these tools configured as hooks.

* Makefile

Define common composite action for setting up pre-commit and python.

* .github/actions/setup/action.yml

* .github/workflows/test.yml

Update codecov/codecov-action used in test ci to v3.

* .github/workflows/test.yml
2023-05-28 15:41:58 +00:00
Aaditya Sinha d7634e8719
Clear contents of `log_text` after successfull backup (#1626)
Currently the label `logText` is not cleared after a borg command finished. When creating a backup the label will show the path of the last backuped file even after backup completion.

This changes that and clears `logText` after the backup.

* src/vorta/borg/create.py (BorgCreateJob.process_result)

---------

Co-authored-by: yfprojects <62463991+real-yfprojects@users.noreply.github.com>
2023-05-18 19:29:59 +00:00
real-yfprojects 82270adf4f
Add re-format with ruff to `.git-blame-ignore.revs`.
* .git-blame-ignore-revs
2023-05-01 10:30:01 +02:00
real-yfprojects 24e1dd5c56
Run pre-commit (with newly added ruff) on code base.
Includes all changes by `pre-commit --all-files` including the changes introduced by ruff.
2023-05-01 10:28:11 +02:00
Divyansh Singh f0a5a36275
ci: Add ruff including print checks
Adds ruff replacing isort. Ruff comes with all flake8 rules and additional rules for print statements.

* .github/workflows/test.yml : Replace isort with ruff in comment

* .editorconfig : Update `yml` config to apply to all yaml files.

* Makefile (lint): Run ruff, remove isort

* .pre-commit-config.yaml : Remove isort, run ruff

* pyproject.toml : Configure ruff. Remove isort config.

* requirements.d/dev.txt : Add ruff, remove isort

* setup.cfg : Extend flake8 file ignore

* src/vorta/__main__.py : Add *noqa* for print statement.
2023-05-01 10:25:14 +02:00
Manu 4d65912d65
Fix pyobjc imports, bump minimum Python version (#1698) 2023-04-29 12:26:01 +01:00
Manu 20b7b4936c
hostname and fqdn template var consistent with Borg (#1697) 2023-04-17 22:14:19 +01:00
i1sm3ky 7535f92ac8
PyQt6 Upgrade (#1685)
This puts Vorta on PyQt6 and starts a new main branch 0.9.

---------

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
Co-authored-by: Manu <3916435+m3nu@users.noreply.github.com>
Co-authored-by: yfprojects <62463991+real-yfprojects@users.noreply.github.com>
2023-04-17 11:17:01 +01:00
Hofer-Julian 8571ef6cb8 Remove paramiko from dependencies 2023-04-09 16:00:55 +01:00
Manu 7c1b9535b2 Bump version to v0.8.11 2023-04-09 14:44:24 +01:00
Divyansh Singh b51b1ef85e
Save list view as setting. By @diivi (#1621)
* feat: add a setting for files list views

* separate logic from data class

* make mode optional

* rename display mode methods

* refactor

* move code above connect signals comment

* reorder code

---------

Co-authored-by: yfprojects <62463991+real-yfprojects@users.noreply.github.com>
Co-authored-by: Manu <3916435+m3nu@users.noreply.github.com>
2023-04-05 12:20:42 +01:00
yfprojects 828e02953b
Use `pf` pattern format for extract. By @real-yfprojects (#1625)
* src/vorta/borg/extract.py : The pattern file passed to borg now contains `pf`-style patterns for included paths.
2023-04-05 12:08:06 +01:00
jetchirag 6d5e738107
Retain source tab sort settings. By @jetchirag (#1649) 2023-04-04 13:18:50 +01:00
bigtedde a64493d254
Setting for Full Disk Access check. By @bigtedde (#1653) 2023-04-04 12:49:34 +01:00
Henry Spanka e3451ed49e
Handle ctime and mtime diff changes (#1675)
Borg v1.2.4 added new change types called `mtime` and `ctime` for the modification and the creation time of a file.
Our diff json parser doesn't support these changes yet.
The plain text parser doesn't need to be updated since it is only used for earlier versions of borg.
This also extends the tooltip in the diff view to show changes in `ctime` or `mtime` in a localised manner.

* src/vorta/views/diff_result.py (ChangeType): Add `CTIME` and `MTIME` linking to `MODIFIED`.

* src/vorta/views/diff_result.py (DiffData): Add fields `ctime_change` and `mtime_change`.

* src/vorta/views/diff_result.py (parse_diff_json): Parse the new change types.

* src/vorta/views/diff_result.py (DiffTree.data): Add time changes to tooltip in a human readable format.

* tests/test_diff.py : Update test data to include new change types. Add additional test cases for unittesting the new change types.
2023-04-03 10:16:09 +02:00
Henry Spanka f407032a76
Revert "Added --content-only flag for borg 1.2.4 in diff view"
This reverts commit e0fe766051.
2023-04-01 20:13:31 +02:00
Chirag Aggarwal e0fe766051 Added --content-only flag for borg 1.2.4 in diff view
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-03-30 18:40:31 +01:00
Nkwuda Sunday Cletus d0245977d2
Disable Archive tab buttons during backup. By @sunny775 (#1587)
* Disable archive action buttons when running backup.
* Disable archive action buttons only individually.
* Fix enabling.
* fixup! Fix enabling.

---------

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
Co-authored-by: Manu <3916435+m3nu@users.noreply.github.com>
2023-03-23 14:15:07 +00:00
Divyansh Singh 3ebb078409
feat: add profile name to log messages (#1637)
* feat: add profile name to log messages

* update tests

* add profile name to all occurences of backup progress event emit

* update tests

* merge with logs link code

---------

Co-authored-by: Hofer-Julian <30049909+Hofer-Julian@users.noreply.github.com>
2023-03-22 12:16:46 +01:00