Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/atoidejouer/db/story.py
diff options
context:
space:
mode:
Diffstat (limited to 'atoidejouer/db/story.py')
-rw-r--r--atoidejouer/db/story.py43
1 files changed, 31 insertions, 12 deletions
diff --git a/atoidejouer/db/story.py b/atoidejouer/db/story.py
index a0392c7..d386563 100644
--- a/atoidejouer/db/story.py
+++ b/atoidejouer/db/story.py
@@ -13,34 +13,49 @@ from atoidejouer.tools import storage
class Key(object):
- def __init__(self, id=None, name=None, type=None, media=None, **kargs):
+ def __init__(self, id=None, name=None, mime_type=None, timestamp=None, **kargs):
"""
"""
- self.id, self.name, self.type, self.media = id, name, type, media
+ self.id, self.name, self.mime_type, self.timestamp = id, name, mime_type, timestamp
# ensure value if select row returns None value
- for arg in ['time', 'layer', 'x', 'y', 'duration', 'loop']:
+ for arg in ['time', 'layer', 'x', 'y', 'duration', 'loop', 'path']:
setattr(self, arg, kargs[arg] if arg in kargs and kargs[arg] else 0)
+ def get_path(self):
+ if self.path == 0:
+ _ds_obj = None
+ for _ds_obj in storage.journal_query({
+ 'mime_type': self.mime_type,
+ 'timestamp': self.timestamp,
+ 'title': self.name
+ }):
+ break
+ self.path = _ds_obj.file_path if _ds_obj else 0
+ return self.path
+
+ def set_path(self, path):
+ self.path = path
+
def __repr__(self):
- return "%s|name=%s|type=%s|media=%s|time=%s|layer=%s|"\
+ return "%s|name=%s|mime_type=%s|timestamp=%s|time=%s|layer=%s|"\
"x=%s|y=%s|dur=%s|loop=%s"\
- % (self.id, self.name, self.type, self.media,
+ % (self.id, self.name, self.mime_type, self.timestamp,
self.time, self.layer,
self.x, self.y,
self.duration, self.loop)
def __cmp__(self, other):
return cmp(
- (self.name, self.type, self.media, self.time, self.layer),
- (other.name, other.type, self.media, other.time, other.layer)
+ (self.name, self.mime_type, self.timestamp, self.time, self.layer),
+ (other.name, other.mime_type, self.timestamp, other.time, other.layer)
)
def create(self):
return "create table story("\
"id integer primary key autoincrement not null,"\
"name text,"\
- "type text,"\
- "media text,"\
+ "mime_type text,"\
+ "timestamp text,"\
"time integer,"\
"layer integer,"\
"x integer,"\
@@ -52,7 +67,7 @@ class Key(object):
def insert(self):
columns = list()
values = list()
- for c in ['name', 'type', 'media', 'time', 'layer']:
+ for c in ['name', 'mime_type', 'timestamp', 'time', 'layer']:
v = getattr(self, c)
if v and v != -1:
columns.append(c)
@@ -62,9 +77,9 @@ class Key(object):
",".join(values)
)
- def _params(self, crit, joiner=" "):
+ def _params(self, crit, joiner=" and "):
values = list()
- for c in ['name', 'type', 'time', 'layer', 'media']:
+ for c in ['name', 'mime_type', 'time', 'layer', 'timestamp']:
v = getattr(self, c)
if v and v != -1:
v = v if v in ['time', 'layer'] else "'%s'" % v
@@ -150,6 +165,10 @@ class DB(object):
yield obj
cur.close()
+ def one(self, obj):
+ for one in self.get(obj):
+ return one
+
def get_layout_max(self):
return 10