aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2017-06-18 18:13:33 -0700
committerMike Crute <mike@crute.us>2017-06-18 18:13:33 -0700
commit1d5ab590662037438d14cf842e744683eb210b3b (patch)
treeaf32a98ab26746382e54ce0007edc175712ce6bb
parent0b550bdaf4c7bc4bd176c5ee7aae112deb1cc211 (diff)
downloadpydora-1d5ab590662037438d14cf842e744683eb210b3b.tar.bz2
pydora-1d5ab590662037438d14cf842e744683eb210b3b.tar.xz
pydora-1d5ab590662037438d14cf842e744683eb210b3b.zip
Configurator freshens keys if config exists
-rw-r--r--pydora/configure.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/pydora/configure.py b/pydora/configure.py
index 824ab03..01de8df 100644
--- a/pydora/configure.py
+++ b/pydora/configure.py
@@ -108,8 +108,12 @@ class Configurator(object):
108 self.builder = PydoraConfigFileBuilder() 108 self.builder = PydoraConfigFileBuilder()
109 109
110 self.cfg = ConfigParser() 110 self.cfg = ConfigParser()
111 self.cfg.add_section("user") 111
112 self.cfg.add_section("api") 112 if self.builder.file_exists:
113 self.read_config()
114 else:
115 self.cfg.add_section("user")
116 self.cfg.add_section("api")
113 117
114 def fail(self, message): 118 def fail(self, message):
115 print(Screen.print_error(message)) 119 print(Screen.print_error(message))
@@ -124,7 +128,7 @@ class Configurator(object):
124 128
125 def get_partner_config(self): 129 def get_partner_config(self):
126 try: 130 try:
127 return PandoraKeysConfigParser().load()["ios"] 131 return PandoraKeysConfigParser().load()["android"]
128 except: 132 except:
129 self.fail("Error loading config file. Unable to continue.") 133 self.fail("Error loading config file. Unable to continue.")
130 134
@@ -141,13 +145,20 @@ class Configurator(object):
141 for key, value in config.items(): 145 for key, value in config.items():
142 self.cfg.set("api", key, value) 146 self.cfg.set("api", key, value)
143 147
148 def read_config(self):
149 with open(self.builder.path) as file:
150 self.cfg.read_file(file)
151
144 def write_config(self): 152 def write_config(self):
145 with Umask(0o077), open(self.builder.path, "w") as file: 153 with Umask(0o077), open(self.builder.path, "w") as file:
146 self.cfg.write(file) 154 self.cfg.write(file)
147 155
148 def configure(self): 156 def configure(self):
149 if self.builder.file_exists: 157 if self.builder.file_exists:
150 self.finished("You already have a pydora config!") 158 self.print_message("You already have a pydora config.")
159 self.add_partner_config(self.get_partner_config())
160 self.write_config()
161 self.finished("Freshened your API keys!")
151 162
152 self.print_message("Welcome to Pydora, let's configure a few things") 163 self.print_message("Welcome to Pydora, let's configure a few things")
153 self.add_partner_config(self.get_partner_config()) 164 self.add_partner_config(self.get_partner_config())