aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorheather <unknown>2011-05-02 21:26:19 -0400
committerheather <unknown>2011-05-02 21:26:19 -0400
commitbe60314cc5f2c73f6361545c815e2ae065c34fac (patch)
treeb4e0f05ba0189a9093c810785fe18c80e1d833ce
parentd24ddb03f550c1915a007b4fad4910435676e6ce (diff)
downloadd2-be60314cc5f2c73f6361545c815e2ae065c34fac.tar.bz2
d2-be60314cc5f2c73f6361545c815e2ae065c34fac.tar.xz
d2-be60314cc5f2c73f6361545c815e2ae065c34fac.zip
adding map_layer table, adding structure in detail_type
-rw-r--r--lib/d2/bin/d2_db_setup.py2
-rw-r--r--lib/d2/db.py52
2 files changed, 53 insertions, 1 deletions
diff --git a/lib/d2/bin/d2_db_setup.py b/lib/d2/bin/d2_db_setup.py
index fb5ed20..139f662 100644
--- a/lib/d2/bin/d2_db_setup.py
+++ b/lib/d2/bin/d2_db_setup.py
@@ -158,7 +158,7 @@ class PopulateDetailType(object):
158 158
159 NAMES = [u'Phone Jack', u'Network Jack', u'Polycom', u'First Name', 159 NAMES = [u'Phone Jack', u'Network Jack', u'Polycom', u'First Name',
160 u'Last Name', u'Name', u'Phone Number', u'Title', u'Email', 160 u'Last Name', u'Name', u'Phone Number', u'Title', u'Email',
161 u'Department', u'Mobile', u'Fax', u'Network ID'] 161 u'Department', u'Mobile', u'Fax', u'Network ID', u'Structure']
162 162
163 def __init__(self, config): 163 def __init__(self, config):
164 self._log = config.log 164 self._log = config.log
diff --git a/lib/d2/db.py b/lib/d2/db.py
index 0a2d1b1..18866bf 100644
--- a/lib/d2/db.py
+++ b/lib/d2/db.py
@@ -90,6 +90,8 @@ class Map(Base):
90 width = Column(Integer) 90 width = Column(Integer)
91 height = Column(Integer) 91 height = Column(Integer)
92 92
93 location = relationship(Location, backref=backref('maps', order_by=id))
94
93 def __init__(self, name, filename_png, filename_svg, width, height): 95 def __init__(self, name, filename_png, filename_svg, width, height):
94 self.name = name 96 self.name = name
95 self.filename_png = filename_png 97 self.filename_png = filename_png
@@ -131,6 +133,56 @@ class Map(Base):
131 obj.location_id = data['location_id'] 133 obj.location_id = data['location_id']
132 return obj 134 return obj
133 135
136class MapLayer(Base):
137 """Database table object for storing the different map layers
138 """
139 __tablename__ = PREFIX + 'map_layer'
140 id = Column(Integer, primary_key=True)
141 map_id = Column(Integer, ForeignKey(PREFIX + 'map.id'),
142 index=True)
143 detail_type_id = Column(Integer, ForeignKey(PREFIX + 'detail_type.id'),
144 index=True)
145 filename_svg = Column(Unicode)
146 width = Column(Integer)
147 height = Column(Integer)
148
149 map = relationship(Map, backref=backref('layers', order_by=id))
150
151 def __init__(self, filename_svg, width, height):
152 self.filename_svg = filename_svg
153 self.width = width
154 self.height = height
155
156 def __repr__(self):
157 out = "<MapLayer("\
158 "filename_svg={obj.filename_svg!r}, "\
159 "width={obj.width!r}, "\
160 "height={obj.height!r}, "\
161 ")>"
162 return out.format(obj=self)
163
164 def as_dict(self):
165 out = OrderedDict()
166 out['id'] = self.id
167 out['map_id'] = self.map_id
168 out['detail_type_id'] = self.detail_type_id
169 out['filename_svg'] = self.filename_svg
170 out['width'] = self.width
171 out['height'] = self.height
172 return out
173
174 @classmethod
175 def from_dict(cls, data):
176 obj = cls(data['filename_svg'],
177 data['width'],
178 data['height'])
179 if 'id' in data:
180 obj.id = data['id']
181 if 'map_id' in data:
182 obj.map_id = data['map_id']
183 if 'detail_type_id' in data:
184 obj.detail_type_id = data['detail_type_id']
185 return obj
134 186
135class Plot(Base): 187class Plot(Base):
136 """Holds data pertaining to an area of a map. 188 """Holds data pertaining to an area of a map.