mirror of
https://github.com/netinvent/npbackup.git
synced 2025-10-14 23:46:37 +08:00
Add gui option to create a windows scheduled task
This commit is contained in:
parent
fa28343084
commit
00c30c1731
7 changed files with 65 additions and 6 deletions
|
@ -2,6 +2,7 @@
|
|||
- Added a full auto-upgrade solution:
|
||||
- Aupgrade client integrated into NPBackup, that can be called manually via --auto-upgrade or automatically run every n backups
|
||||
- Upgrade server which servers files and their metadata
|
||||
- Added a gui to create a scheduled task under Windows
|
||||
- Improved setup.py to provide launch scripts for both Linux and Windows platforms
|
||||
- Made windows cloud file filter optional (enabled by default)
|
||||
- Added default configuration settings
|
||||
|
|
2
TODO.md
2
TODO.md
|
@ -30,4 +30,4 @@ rest:https://user:***@good.example.tld/user/
|
|||
|
||||
- Linux installer script
|
||||
- Windows installer GUI
|
||||
- Create task from GUI
|
||||
|
||||
|
|
|
@ -10,11 +10,13 @@ __license__ = "GPL-3.0-only"
|
|||
__build__ = "2023020101"
|
||||
|
||||
|
||||
import sys
|
||||
import os
|
||||
from logging import getLogger
|
||||
import PySimpleGUI as sg
|
||||
import npbackup.configuration as configuration
|
||||
from npbackup.core.i18n_helper import _t
|
||||
from npbackup.windows.task import create_scheduled_task
|
||||
from npbackup.path_helper import CURRENT_EXECUTABLE
|
||||
|
||||
|
||||
logger = getLogger(__intname__)
|
||||
|
@ -315,6 +317,18 @@ def config_gui(config_dict: dict, config_file: str):
|
|||
],
|
||||
]
|
||||
|
||||
scheduled_task_col = [
|
||||
[
|
||||
sg.Text(_t("config_gui.create_scheduled_task_every")),
|
||||
sg.Input(key="scheduled_task_interval", size=(4, 1)),
|
||||
sg.Text(_t("generic.minutes")),
|
||||
sg.Button(_t("generic.create"), key="create_task")
|
||||
],
|
||||
[
|
||||
sg.Text(_t("config_gui.scheduled_task_explanation"))
|
||||
]
|
||||
]
|
||||
|
||||
buttons = [
|
||||
[
|
||||
sg.Text(" " * 135),
|
||||
|
@ -369,6 +383,15 @@ def config_gui(config_dict: dict, config_file: str):
|
|||
element_justification="C",
|
||||
)
|
||||
],
|
||||
[
|
||||
sg.Tab(
|
||||
_t("generic.scheduled_task"),
|
||||
scheduled_task_col,
|
||||
font="helvetica 16",
|
||||
key="--tab-scheduled_task--",
|
||||
element_justification="C",
|
||||
)
|
||||
],
|
||||
]
|
||||
|
||||
layout = [
|
||||
|
@ -411,5 +434,14 @@ def config_gui(config_dict: dict, config_file: str):
|
|||
update_gui(window, config_dict, unencrypted=True)
|
||||
else:
|
||||
sg.PopupError(_t("config_gui.wrong_password"))
|
||||
if event == "create_task":
|
||||
if os.name == 'nt':
|
||||
result = create_scheduled_task(CURRENT_EXECUTABLE, values['scheduled_task_interval'])
|
||||
if result:
|
||||
sg.Popup(_t("config_gui.scheduled_task_creation_success"))
|
||||
else:
|
||||
sg.PopupError(_t("config_gui.scheduled_task_creation_failure"))
|
||||
else:
|
||||
sg.PopupError(_t("config_gui.scheduled_task_creation_failure"))
|
||||
window.close()
|
||||
return config_dict
|
||||
|
|
|
@ -59,3 +59,8 @@ en:
|
|||
auto_upgrade_launch: Launch auto upgrade
|
||||
auto_ugprade_will_quit: Warning, launching an upgrade procedure will quit this program without notice. You will have to wait 5 minutes before launching it again for the upgrade to complete
|
||||
auto_upgrade_failed: Auto upgrade procedure failed, see logs for further details
|
||||
|
||||
create_scheduled_task_every: Create scheduled task every
|
||||
scheduled_task_explanation: This is for Windows only. On Linux, please create a crontab entry with `npbackup --backup --config-file /etc/npbackup.conf`
|
||||
scheduled_task_creation_success: Scheduled task created successfuly
|
||||
scheduled_task_creation_failure: Scheduled task could not be created. See logs for further info
|
|
@ -59,3 +59,8 @@ fr:
|
|||
auto_upgrade_launch: Lancer une mise à niveau
|
||||
auto_ugprade_will_quit: Attnetion, la procédure de mise à niveau va quitter ce programme sans notification. Vous devrez attendre 5 minutes pour laisser la procédure se terminer avant de relancer le programme
|
||||
auto_upgrade_failed: Procédure de mise à niveau échouée, veuillez consulter les journaux pour plus de détails
|
||||
|
||||
create_scheduled_task_every: Créer une tâche planifiée toutes les
|
||||
scheduled_task_explanation: Uniquement sous Windows. Sous Linux, merci de créer une entrée crontab comme `npbackup --backup --config-file /etc/npbackup.conf`
|
||||
scheduled_task_creation_success: Tâche planifiée crée avec succès
|
||||
scheduled_task_creation_failure: Impossible de créer la tâche planifiée. Veuillez consulter les journaux pour plus de détails
|
|
@ -5,11 +5,14 @@ en:
|
|||
configure: Configure
|
||||
about: About
|
||||
options: Options
|
||||
create: Create
|
||||
|
||||
_yes: Yes
|
||||
_no: No
|
||||
|
||||
seconds: seconds
|
||||
minutes: minutes
|
||||
hours: hours
|
||||
|
||||
group: Group
|
||||
|
||||
|
@ -29,4 +32,9 @@ en:
|
|||
decrypt: Decrypt
|
||||
encrypt: Encrypt
|
||||
|
||||
is_uptodate: Program Uptodateu
|
||||
is_uptodate: Program Uptodate
|
||||
|
||||
succes: Succes
|
||||
failure: Failure
|
||||
|
||||
scheduled_task: Scheduled task
|
|
@ -5,11 +5,14 @@ fr:
|
|||
configure: Configurer
|
||||
about: A propos
|
||||
options: Options
|
||||
create: Créer
|
||||
|
||||
_yes: Oui
|
||||
_no: Non
|
||||
|
||||
seconds: secondes
|
||||
minutes: minutes
|
||||
hours: heures
|
||||
|
||||
group: Groupe
|
||||
|
||||
|
@ -30,3 +33,8 @@ fr:
|
|||
encrypt: Chiffrer
|
||||
|
||||
is_uptodate: Logiciel à jour
|
||||
|
||||
succes: Succès
|
||||
failure: Echec
|
||||
|
||||
scheduled_task: Tâche planifiée
|
Loading…
Add table
Reference in a new issue