def find(self, id): result = self._database.execute('select * from %s where id = %d' % (self._table, int(id))) row = result.fetchone() logo = Logo(path=row.logo.encode('utf8'), color=row.color) company = Company(id=row.id, name=row.name, logo=logo) return company
def findAll(self): result = self._database.execute('select * from %s' % (self._table)) companies = [] for row in result: logo = Logo(path=row.logo.encode('utf8'), color=row.color) company = Company(id=row.id, name=row.name, logo=logo) companies.append(company) return companies
def create(self): company_name = self.request.form['name'] logo_path = self.request.form['logo'].encode('utf8') logo = Logo(path=logo_path) company = Company(name=company_name, logo=logo) company.logo.set_color_to_dominant_color_if_not_already_set() company = self.company_repository.save(company) return self.redirect(self.url_for('company.edit', id=company.id))
def update(self, id): company_name = self.request.form['name'] logo_path = self.request.form['logo'].encode('utf8') logo_color = self.request.form['color'] company = self.company_repository.find(id) company.name = company_name company.logo = Logo(path=logo_path, color=logo_color) company = self.company_repository.save(company) return self.redirect(self.url_for('company.edit', id=company.id))
def test_logo_does_get_its_colors_extracted_if_color_is_not_supplied_in_constructor( self, mock_is_valid, mock_config, mock_logo_palette): mock_is_valid.return_value = True Logo(path="").color assert mock_logo_palette.called
def test_logo_has_property_for_where_to_reach_stored_logo_over_http( self, mock_isValid, mock_config): mock_config.get.return_value = "http://website.no/logos/" mock_isValid.return_value = True logoURL = Logo(path="/Users/user/store/logos/here/wee.png").url self.assertEqual(logoURL, "http://website.no/logos/wee.png")
def test_logo_does_not_raise_error_if_width_is_smaller_than_500px( self, mock_config): path = os.path.abspath(os.path.join(__file__, '..', '..', 'fixtures')) mock_config.get.return_value = path Logo(path='500x500-logo.png')
def test_logo_does_not_raise_error_if_file_does_exist(self, mock_config): path = os.path.abspath(os.path.join(__file__, '..', '..', 'fixtures')) mock_config.get.return_value = path Logo(path='existent-logo.png')