diff options
Diffstat (limited to 'atoidejouer/db/story.py')
-rw-r--r-- | atoidejouer/db/story.py | 29 |
1 files changed, 20 insertions, 9 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) |