config command can get values now
This commit is contained in:
		@@ -1,3 +1,4 @@
 | 
			
		||||
#include <cstdlib>
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <vector>
 | 
			
		||||
 | 
			
		||||
@@ -18,5 +19,30 @@ void cellar::bottles::config_command(int argc, vector<string> argv) {
 | 
			
		||||
    }
 | 
			
		||||
    string command = argv[1];
 | 
			
		||||
 | 
			
		||||
    output::statement(command);
 | 
			
		||||
    // BULLSHIT: switch can't be used for strings, according to gcc
 | 
			
		||||
    if (command == "get") {
 | 
			
		||||
        if (argc < 3) {
 | 
			
		||||
            output::error("usage: " + argv[0] + " get <key>");
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // TEMP
 | 
			
		||||
        string homedir = getenv("HOME");
 | 
			
		||||
        Bottle active_bottle = Bottle(homedir + "/.wine");
 | 
			
		||||
        active_bottle.load_config();
 | 
			
		||||
 | 
			
		||||
        string value = active_bottle.get_config(argv[2]);
 | 
			
		||||
        if (value != "") {
 | 
			
		||||
            output::statement(argv[2] + ": " + value);
 | 
			
		||||
        } else {
 | 
			
		||||
            output::error(argv[2] + " is not defined");
 | 
			
		||||
        }
 | 
			
		||||
    } else if (command == "set") {
 | 
			
		||||
        output::statement("usage: " + argv[0] + " set <key> <value>");
 | 
			
		||||
    } else {
 | 
			
		||||
        output::statement("usage is one of:");
 | 
			
		||||
        output::statement("\t" + argv[0] + " get <key>");
 | 
			
		||||
        output::statement("\t" + argv[0] + " set <key> <value>");
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -47,3 +47,16 @@ bool Bottle::save_config() {
 | 
			
		||||
    configstream << this->config.dump(4);
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
string Bottle::get_config(string key) {
 | 
			
		||||
    if (this->config.find(key) != this->config.end()) {
 | 
			
		||||
        return this->config[key];
 | 
			
		||||
    } else {
 | 
			
		||||
        return "";
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool Bottle::set_config(string key, string value) {
 | 
			
		||||
    this->config[key] = value;
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user