-
Notifications
You must be signed in to change notification settings - Fork 221
Add backup / restore admin commands #747
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple small things, mostly seems good to me though
group.add_argument( | ||
"--backup-prefs", | ||
help="Tell the destination node to create a backup preferences file." | ||
"Location: 0 for local flash, 1 for SD card.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be nice if we allow people to pass FLASH
and SD
here. I think we could do that by trying to parse as an int, and if it fails, throw it at something like admin_pb2.AdminMessage.BackupLocation.__getattr__('FLASH')
to convert.
I think this could be done by adding a helper function and passing it as type
to these add_argument calls:
def backup_location(string):
try:
return int(string)
except ValueError:
return admin_pb2.AdminMessage.BackupLocation.__getattr__(string)
I'm a bit tired so hopefully I'm relaying this properly, heh.
default=admin_pb2.AdminMessage.BackupLocation.FLASH, | ||
nargs="?", | ||
const=0, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You probably want default
to stay None
(that's what's passed if the argument isn't passed on the command line at all) and to set the admin_pb2.<...>
value as const
(which is what's passed if the argument is passed bare, without a real value).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds new admin commands to backup, restore, and remove preference backups, along with updating the project version.
- Updated version in pyproject.toml.
- Added backupPreferences, restorePreferences, and removePreferencesBackups methods in meshtastic/node.py.
- Updated main.py to support new admin commands via argparse.
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
pyproject.toml | Version bump to 2.6.0a1 supporting new features. |
meshtastic/node.py | Introduced new admin commands for backup/restore actions. |
meshtastic/main.py | Extended the CLI with new arguments for backup operations. |
|
||
group.add_argument( | ||
"--restore-prefs", | ||
help="Tell the destination node to remove backup preferences files." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The help message for --restore-prefs is incorrect; it should describe restoring preferences rather than removing backup files. Consider changing it to something like "Tell the destination node to restore preferences from backup. Location: 0 for local flash, 1 for SD card."
help="Tell the destination node to remove backup preferences files." | |
help="Tell the destination node to restore preferences from a backup." |
Copilot uses AI. Check for mistakes.
No description provided.