def _save(self): '''Update the database with our data.''' if bacula_tools.PASSWORD in self.keys(): if self[bacula_tools.PASSWORD] == bacula_tools.GENERATE: self[bacula_tools.PASSWORD] = bacula_tools.generate_password() if self[bacula_tools.ID]: keys = [x for x in self.keys() if not x == bacula_tools.ID] keys.sort() sql = 'UPDATE %s SET %s WHERE id = %%s' % (self.table, ', '.join( ['`%s` = %%s' % x for x in keys])) values = tuple([self[x] for x in keys] + [ self[bacula_tools.ID], ]) return self.bc.do_sql(sql, values) sql = 'INSERT INTO %s (`%s`) VALUES (%s)' % (self.table, '`,`'.join( self.keys()), ','.join(['%s' for x in self.keys()])) logging.debug('%s, %s', sql, self.values()) try: self.bc.do_sql(sql, tuple(self.values())) return self.search() except Exception as e: if e.args[0] == 1062: die('\t%s "%s" already exists. You must delete it first.' % (self.word.capitalize(), self[bacula_tools.NAME])) print(e) # pragma: no cover raise # pragma: no cover
def _save(self): '''Update the database with our data.''' if bacula_tools.PASSWORD in self.keys(): if self[bacula_tools.PASSWORD] == bacula_tools.GENERATE: self[bacula_tools.PASSWORD] = bacula_tools.generate_password() if self[bacula_tools.ID]: keys = [x for x in self.keys() if not x == bacula_tools.ID] keys.sort() sql = 'UPDATE %s SET %s WHERE id = %%s' % (self.table, ', '.join(['`%s` = %%s' % x for x in keys])) values = tuple([self[x] for x in keys] + [self[bacula_tools.ID], ]) return self.bc.do_sql(sql, values) sql = 'INSERT INTO %s (`%s`) VALUES (%s)' % ( self.table, '`,`'.join(self.keys()), ','.join(['%s' for x in self.keys()])) logging.debug('%s, %s', sql, self.values()) try: self.bc.do_sql(sql, tuple(self.values())) return self.search() except Exception as e: if e.args[0] == 1062: die('\t%s "%s" already exists. You must delete it first.' % (self.word.capitalize(), self[bacula_tools.NAME])) print(e) # pragma: no cover raise # pragma: no cover
def test_password_uniqueness(self): self.assertNotEquals(bacula_tools.generate_password(), bacula_tools.generate_password()) return
def test_length_set(self): self.assertEquals(len(bacula_tools.generate_password(22)), 22) return
def test_length(self): self.assertEquals(len(bacula_tools.generate_password()), 44) return