From 682b90cb6e5097635f991071d15604950df4ef70 Mon Sep 17 00:00:00 2001 From: Chen Liu Date: Fri, 31 Jan 2014 15:42:18 -0500 Subject: [PATCH 1/6] let table.delete return true/false --- dataset/persistence/table.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dataset/persistence/table.py b/dataset/persistence/table.py index 98d2ba2..6472f1a 100644 --- a/dataset/persistence/table.py +++ b/dataset/persistence/table.py @@ -181,7 +181,8 @@ class Table(object): stmt = self.table.delete(q) else: stmt = self.table.delete() - self.database.executable.execute(stmt) + rows = self.database.executable.execute(stmt) + return rows > 0 def _ensure_columns(self, row, types={}): # Keep order of inserted columns From 5b162feea7bdfd22578871d50a583f6398ae40c6 Mon Sep 17 00:00:00 2001 From: Chen Liu Date: Fri, 31 Jan 2014 15:44:39 -0500 Subject: [PATCH 2/6] add __repr__ method to Table --- dataset/persistence/table.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dataset/persistence/table.py b/dataset/persistence/table.py index 6472f1a..6da4436 100644 --- a/dataset/persistence/table.py +++ b/dataset/persistence/table.py @@ -407,3 +407,6 @@ class Table(object): print(row) """ return self.all() + + def __repr__(self): + return '' % self.table.name From 03cb294e34660a7f2cbab17e479eb12566021c66 Mon Sep 17 00:00:00 2001 From: Chen Liu Date: Fri, 31 Jan 2014 15:53:30 -0500 Subject: [PATCH 3/6] fix rows to rows.rowcount --- dataset/persistence/table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dataset/persistence/table.py b/dataset/persistence/table.py index 6da4436..2fbcee1 100644 --- a/dataset/persistence/table.py +++ b/dataset/persistence/table.py @@ -182,7 +182,7 @@ class Table(object): else: stmt = self.table.delete() rows = self.database.executable.execute(stmt) - return rows > 0 + return rows.rowcount > 0 def _ensure_columns(self, row, types={}): # Keep order of inserted columns From 58a58912b76c18684bb515ee042fa48bec5397fa Mon Sep 17 00:00:00 2001 From: Chen Liu Date: Fri, 31 Jan 2014 17:27:40 -0500 Subject: [PATCH 4/6] add test case for Table.delete --- test/test_persistence.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/test_persistence.py b/test/test_persistence.py index b3ff490..4a8f80a 100644 --- a/test/test_persistence.py +++ b/test/test_persistence.py @@ -179,11 +179,14 @@ class TableTestCase(unittest.TestCase): 'place': 'Berlin'} ) assert len(self.tbl) == len(TEST_DATA) + 1, len(self.tbl) - self.tbl.delete(place='Berlin') + assert self.tbl.delete(place='Berlin') is True, 'should return 1' assert len(self.tbl) == len(TEST_DATA), len(self.tbl) - self.tbl.delete() + assert self.tbl.delete() is True, 'should return non zero' assert len(self.tbl) == 0, len(self.tbl) + def test_delete_nonexist_entry(self): + assert self.tbl.delete(place='Berlin') is False, 'entry not exist, should fail to delete' + def test_find_one(self): self.tbl.insert({ 'date': datetime(2011, 1, 2), From c9cd4bf52238190f668d7935439762e7ca504796 Mon Sep 17 00:00:00 2001 From: Chen Liu Date: Mon, 3 Feb 2014 16:52:00 -0500 Subject: [PATCH 5/6] add test case for repr(table) --- test/test_persistence.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/test_persistence.py b/test/test_persistence.py index 4a8f80a..aede68a 100644 --- a/test/test_persistence.py +++ b/test/test_persistence.py @@ -184,6 +184,9 @@ class TableTestCase(unittest.TestCase): assert self.tbl.delete() is True, 'should return non zero' assert len(self.tbl) == 0, len(self.tbl) + def test_repr(self): + assert repr(self.tbl) == '', 'the representation should be ' + def test_delete_nonexist_entry(self): assert self.tbl.delete(place='Berlin') is False, 'entry not exist, should fail to delete' From 3d5e952395107fb036f962cd085c09b021d120ae Mon Sep 17 00:00:00 2001 From: Stefan Wehrmeyer Date: Tue, 4 Feb 2014 10:41:47 +0100 Subject: [PATCH 6/6] Switch Python Mysql Adapter --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 71f5959..d40c9d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,13 +7,13 @@ python: env: - DATABASE_URL=sqlite:///:memory: - DATABASE_URL=postgresql+psycopg2://postgres@127.0.0.1/dataset -- DATABASE_URL=mysql+pymysql://travis@127.0.0.1/dataset?charset=utf8 +- DATABASE_URL=mysql+mysqlconnector://travis@127.0.0.1/dataset?charset=utf8 install: -- pip install flake8 psycopg2 pymysql +- pip install flake8 psycopg2 mysql-connector-python before_script: - sh -c "if [ '$DATABASE_URL' = 'postgresql+psycopg2://postgres@127.0.0.1/dataset' ]; then psql -c 'DROP DATABASE IF EXISTS dataset;' -U postgres; fi" - sh -c "if [ '$DATABASE_URL' = 'postgresql+psycopg2://postgres@127.0.0.1/dataset' ]; then psql -c 'create database dataset;' -U postgres; fi" -- sh -c "if [ '$DATABASE_URL' = 'mysql+pymysql://travis@127.0.0.1/dataset?charset=utf8' ]; then mysql -e 'create database IF NOT EXISTS dataset DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;'; fi" +- sh -c "if [ '$DATABASE_URL' = 'mysql+mysqlconnector://travis@127.0.0.1/dataset?charset=utf8' ]; then mysql -e 'create database IF NOT EXISTS dataset DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;'; fi" script: - flake8 --ignore=E501,E123,E124,E126,E127,E128 dataset test - python setup.py test