Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorent Pigout <florent.pigout@gmail.com>2011-10-14 10:16:06 (GMT)
committer Florent Pigout <florent.pigout@gmail.com>2011-10-14 10:16:06 (GMT)
commit1e2efa9c4fc5362578e6154d2c7da99ff17cf66f (patch)
tree9f3b16a419a39edef95e7acd977180ccd3ac0003
parent36465cbbcefbf8f242b41bc6e957ee4337b1edea (diff)
add db key required parameters x, y, duration, loop
-rw-r--r--atoidejouer/db/story.py29
-rw-r--r--tests/test_db_story.py12
2 files changed, 26 insertions, 15 deletions
diff --git a/atoidejouer/db/story.py b/atoidejouer/db/story.py
index fd937f5..ed7c40b 100644
--- a/atoidejouer/db/story.py
+++ b/atoidejouer/db/story.py
@@ -13,19 +13,26 @@ from atoidejouer.tools import storage
class Key(object):
- def __init__(self, id=None, name=None, type=None, time=-1, layer=-1, media=None):
+ def __init__(self, id=None, name=None, type=None, media=None, **kargs):
+ """
+ """
self.id, self.name, self.type, self.media = id, name, type, media
- self.time = 0 if time is None else time
- self.layer = 0 if layer is None else layer
+ # ensure value if select row returns None value
+ for arg in ['time', 'layer', 'x', 'y', 'duration', 'loop']:
+ setattr(self, arg, kargs[arg] if arg in kargs and kargs[arg] else 0)
def __repr__(self):
- return "name=%s|type=%s|time=%s|layer=%s|media=%s"\
- % (self.name, self.type, self.time, self.layer, self.media)
+ return "%s|name=%s|type=%s|media=%s|time=%s|layer=%s|"\
+ "x=%s|y=%s|dur=%s|loop=%s"\
+ % (self.id, self.name, self.type, self.media,
+ self.time, self.layer,
+ self.x, self.y,
+ self.duration, self.loop)
def __cmp__(self, other):
return cmp(
- (self.name, self.type, self.time, self.layer, self.media),
- (other.name, other.type, other.time, other.layer, other.media)
+ (self.name, self.type, self.media, self.time, self.layer),
+ (other.name, other.type, self.media, other.time, other.layer)
)
def create(self):
@@ -33,15 +40,19 @@ class Key(object):
"id integer primary key autoincrement not null,"\
"name text,"\
"type text,"\
+ "media text,"\
"time integer,"\
"layer integer,"\
- "media text"\
+ "x integer,"\
+ "y integer,"\
+ "duration integer,"\
+ "loop integer"\
")"
def insert(self):
columns = list()
values = list()
- for c in ['name', 'type', 'time', 'layer', 'media']:
+ for c in ['name', 'type', 'media', 'time', 'layer']:
v = getattr(self, c)
if v and v != -1:
columns.append(c)
diff --git a/tests/test_db_story.py b/tests/test_db_story.py
index 08a8e71..941372d 100644
--- a/tests/test_db_story.py
+++ b/tests/test_db_story.py
@@ -24,14 +24,14 @@ class TestDBStory(unittest.TestCase):
def test_add(self):
# second row
- key = story.Key(None, 'helo', 'image', 0, 1, 'helo.png')
+ key = story.Key(None, 'helo', 'image', 'helo.png')
story.DB().add(key)
all = [r for r in story.DB().all()]
self.assertEqual(len(all), 1,
"should have 1 row! found: %s" % len(all))
self.assertEqual(all[0], key, "not the same row: %s" % all[0])
# second row
- key = story.Key(None, 'hola', 'image', 0, 2, 'hola.png')
+ key = story.Key(None, 'hola', 'image', 'hola.png')
story.DB().add(key)
all = [r for r in story.DB().all()]
self.assertEqual(len(all), 2,
@@ -39,7 +39,7 @@ class TestDBStory(unittest.TestCase):
self.assertEqual(all[1], key, "not the same row: %s" % all[1])
def test_get(self):
- key = story.Key(None, 'helo', 'image', 0, 1, 'helo.png')
+ key = story.Key(None, 'helo', 'image', 'helo.png')
story.DB().add(key)
all = [r for r in story.DB().get(story.Key(name='helo'))]
self.assertEqual(len(all), 1,
@@ -47,15 +47,15 @@ class TestDBStory(unittest.TestCase):
self.assertEqual(all[0], key, "not the same row: %s" % all[0])
def test_update(self):
- key = story.Key(None, 'helo', 'image', 0, 1, 'helo.png')
+ key = story.Key(None, 'helo', 'image', 'helo.png', layer=1)
story.DB().add(key)
all = [r for r in story.DB().all()]
- key = story.Key(id=all[0].id, name='hola', layer=2, media='hola.png')
+ key = story.Key(id=all[0].id, name='hola', media='hola.png', layer=2)
story.DB().update(key)
all = [r for r in story.DB().all()]
self.assertEqual(len(all), 1,
"should have 1 row! found: %s" % len(all))
- exp_key = story.Key(None, 'hola', 'image', 0, 2, 'hola.png')
+ exp_key = story.Key(None, 'hola', 'image', 'hola.png', layer=2)
self.assertEqual(all[0], exp_key, "not the same row: %s" % all[0])
def suite():