diff options
author | heather <unknown> | 2011-05-02 21:26:19 -0400 |
---|---|---|
committer | heather <unknown> | 2011-05-02 21:26:19 -0400 |
commit | be60314cc5f2c73f6361545c815e2ae065c34fac (patch) | |
tree | b4e0f05ba0189a9093c810785fe18c80e1d833ce | |
parent | d24ddb03f550c1915a007b4fad4910435676e6ce (diff) | |
download | d2-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.py | 2 | ||||
-rw-r--r-- | lib/d2/db.py | 52 |
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 | ||
136 | class 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 | ||
135 | class Plot(Base): | 187 | class Plot(Base): |
136 | """Holds data pertaining to an area of a map. | 188 | """Holds data pertaining to an area of a map. |