forked from johnjh/vamps_mobedac_ws
/
sampleorm.py
69 lines (52 loc) · 1.97 KB
/
sampleorm.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from sqlalchemy import *
import MySQLdb
from sqlalchemy.dialects.mysql import MEDIUMTEXT
from sqlalchemy import Column, Integer, String, DateTime, func
from basemobedac import BaseMoBEDAC
from sqlalchemy import Table, ForeignKey
from sqlalchemy.orm import relationship, backref
from dec_base import Base
from libraryorm import LibraryORM
class SampleORM(Base, BaseMoBEDAC):
__tablename__ = 'sample'
PROJECT = "project"
LIBRARY_IDS = "libraries"
id = Column(String(64), primary_key=True)
name = Column(String(256))
about = Column(String(1024))
url = Column(String(512))
version = Column(Integer)
mbd_metadata = Column('metadata',MEDIUMTEXT)
creation = Column(DateTime)
project = "" #Column(String(64), ForeignKey('project.id'))
# libraries = relationship("LibraryORM",secondary=sample_library_table)
# libraries = relationship("LibraryORM")
@classmethod
def get_REST_sub_path(cls):
return "sample"
@classmethod
def mobedac_name(self):
return "Sample"
@classmethod
def mobedac_collection_name(self):
return "samples"
def __init__(self, arg_dict):
pass
def get_one(self):
pass
def __repr__(self):
return "<SampleORM('%s','%s', '%s','%s','%s', '%s')>" % (self.name, self.about, self.url, self.version, self.mbd_metadata, self.creation)
def from_json(self, is_create, json_obj, sess_obj):
# do base attrs
self.base_from_json(is_create, json_obj)
self.set_attrs_from_json(json_obj, SampleORM.PROJECT)
return self
def to_json(self, sess_obj):
base_json = BaseMoBEDAC.to_json(self, sess_obj)
parts = [base_json]
# dump derived parts here
self.dump_attr(parts,self.project, self.PROJECT)
#self.dump_collection_attr(parts, self.libraries, 'libraries')
result = ",".join(parts)
print result
return result