Working on restore command.
This commit is contained in:
parent
977e878eff
commit
b07e3830de
1
build.sh
1
build.sh
@ -75,6 +75,7 @@ fi
|
|||||||
# Configure with CMake
|
# Configure with CMake
|
||||||
print_status "Configuring with CMake..."
|
print_status "Configuring with CMake..."
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Debug
|
cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||||
|
#cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
|
|
||||||
# Build the project
|
# Build the project
|
||||||
print_status "Building project..."
|
print_status "Building project..."
|
||||||
|
@ -67,18 +67,17 @@ void dropshell::autocomplete(const std::vector<std::string> &args)
|
|||||||
std::string service_name = args[4];
|
std::string service_name = args[4];
|
||||||
if (cmd=="restore")
|
if (cmd=="restore")
|
||||||
{
|
{
|
||||||
std::set<std::string> backups;
|
std::set<std::string> backups = dropshell::list_backups(service_name);
|
||||||
std::vector<dropshell::ServerInfo> servers = dropshell::get_configured_servers();
|
|
||||||
for (auto server : servers)
|
|
||||||
backups.merge(dropshell::list_backups(server.name, service_name));
|
|
||||||
|
|
||||||
for (auto backup : backups)
|
for (auto backup : backups)
|
||||||
std::cout << backup << std::endl;
|
std::cout << backup << std::endl;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return; // no more autocompletion possible - don't know what the argument is for.
|
return; // no more autocompletion possible - don't know what the argument is for.
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
// args>5 - no more autocompletion possible - don't know what the argument is for.
|
||||||
|
return; // catch-all.
|
||||||
}
|
}
|
||||||
|
|
||||||
void dropshell::autocomplete_list_commands()
|
void dropshell::autocomplete_list_commands()
|
||||||
|
@ -60,7 +60,7 @@ void config::save_config()
|
|||||||
envmanager config_env(config_path);
|
envmanager config_env(config_path);
|
||||||
|
|
||||||
config_env.set_variable("local.config.directories", multi2string(mLocalConfigPaths));
|
config_env.set_variable("local.config.directories", multi2string(mLocalConfigPaths));
|
||||||
config_env.set_variable("local.backup.path", mLocalBackupPath);
|
config_env.set_variable("local.backup.directory", mLocalBackupPath);
|
||||||
config_env.save();
|
config_env.save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ int main(int argc, char* argv[]) {
|
|||||||
const std::vector<std::string> & local_config_directories = cfg->get_local_config_directories();
|
const std::vector<std::string> & local_config_directories = cfg->get_local_config_directories();
|
||||||
std::cout << "Config directories: ";
|
std::cout << "Config directories: ";
|
||||||
for (auto & dir : local_config_directories)
|
for (auto & dir : local_config_directories)
|
||||||
std::cout << "["<< dir << "] " << std::endl;
|
std::cout << "["<< dir << "] ";
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
|
|
||||||
if (cmd == "server" || cmd == "servers" || cmd == "view" || cmd == "views" || cmd == "v")
|
if (cmd == "server" || cmd == "servers" || cmd == "view" || cmd == "views" || cmd == "v")
|
||||||
|
@ -111,11 +111,11 @@ std::set<std::string> get_used_commands(const std::string &server_name, const st
|
|||||||
return commands;
|
return commands;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::set<std::string> list_backups(const std::string &server_name, const std::string &service_name)
|
std::set<std::string> list_backups(const std::string &service_name)
|
||||||
{
|
{
|
||||||
std::set<std::string> backups;
|
std::set<std::string> backups;
|
||||||
|
|
||||||
if (server_name.empty() || service_name.empty())
|
if (service_name.empty())
|
||||||
return backups;
|
return backups;
|
||||||
|
|
||||||
std::string backups_dir = get_local_backup_path();
|
std::string backups_dir = get_local_backup_path();
|
||||||
@ -126,7 +126,9 @@ std::set<std::string> list_backups(const std::string &server_name, const std::st
|
|||||||
for (const auto& entry : fs::directory_iterator(backups_dir)) {
|
for (const auto& entry : fs::directory_iterator(backups_dir)) {
|
||||||
if (fs::is_regular_file(entry) && entry.path().extension() == ".tgz")
|
if (fs::is_regular_file(entry) && entry.path().extension() == ".tgz")
|
||||||
if (entry.path().filename().string().find(service_name) != std::string::npos)
|
if (entry.path().filename().string().find(service_name) != std::string::npos)
|
||||||
|
{
|
||||||
backups.insert(entry.path().filename().string());
|
backups.insert(entry.path().filename().string());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return backups;
|
return backups;
|
||||||
|
@ -18,8 +18,8 @@ namespace dropshell {
|
|||||||
ServiceInfo get_service_info(const std::string& server_name, const std::string& service_name);
|
ServiceInfo get_service_info(const std::string& server_name, const std::string& service_name);
|
||||||
std::set<std::string> get_used_commands(const std::string& server_name, const std::string& service_name);
|
std::set<std::string> get_used_commands(const std::string& server_name, const std::string& service_name);
|
||||||
|
|
||||||
// list all backups for a given server and service
|
// list all backups for a given service (across all servers)
|
||||||
std::set<std::string> list_backups(const std::string& server_name, const std::string& service_name);
|
std::set<std::string> list_backups(const std::string& service_name);
|
||||||
|
|
||||||
bool create_service(const std::string& server_name, const std::string& template_name, const std::string& service_name);
|
bool create_service(const std::string& server_name, const std::string& template_name, const std::string& service_name);
|
||||||
} // namespace dropshell
|
} // namespace dropshell
|
||||||
|
Loading…
x
Reference in New Issue
Block a user