Merge lp:~richies/hypernucleus-server/UberHax_Broken_MadScientist into lp:~hypernucleus/hypernucleus-server/trunk
- UberHax_Broken_MadScientist
- Merge into trunk
Proposed by
Richie Ward
Status: | Merged |
---|---|
Merged at revision: | 75 |
Proposed branch: | lp:~richies/hypernucleus-server/UberHax_Broken_MadScientist |
Merge into: | lp:~hypernucleus/hypernucleus-server/trunk |
Diff against target: |
1072 lines (+295/-481) 16 files modified
hypernucleusserver/hypernucleusserver/model/board.py (+1/-1) hypernucleusserver/hypernucleusserver/model/content.py (+2/-1) hypernucleusserver/hypernucleusserver/model/dependencies.py (+0/-162) hypernucleusserver/hypernucleusserver/model/gamedep.py (+173/-1) hypernucleusserver/hypernucleusserver/model/games.py (+0/-159) hypernucleusserver/hypernucleusserver/model/tags.py (+3/-17) hypernucleusserver/hypernucleusserver/model/tokens.py (+1/-1) hypernucleusserver/hypernucleusserver/models.py (+20/-52) hypernucleusserver/hypernucleusserver/security.py (+2/-1) hypernucleusserver/hypernucleusserver/viewlib/boardlib.py (+3/-2) hypernucleusserver/hypernucleusserver/viewlib/contentlib.py (+3/-2) hypernucleusserver/hypernucleusserver/viewlib/gamedeplib.py (+51/-59) hypernucleusserver/hypernucleusserver/viewlib/outputlib.py (+24/-13) hypernucleusserver/hypernucleusserver/viewlib/userlib.py (+3/-1) hypernucleusserver/hypernucleusserver/views/errwarninfo.py (+5/-2) hypernucleusserver/hypernucleusserver/views/gamedep.py (+4/-7) |
To merge this branch: | bzr merge lp:~richies/hypernucleus-server/UberHax_Broken_MadScientist |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Richie Ward | Pending | ||
Review via email: mp+65409@code.launchpad.net |
Commit message
Description of the change
Huge sweeping changes to the model
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'hypernucleusserver/hypernucleusserver/model/board.py' | |||
2 | --- hypernucleusserver/hypernucleusserver/model/board.py 2011-06-18 20:38:51 +0000 | |||
3 | +++ hypernucleusserver/hypernucleusserver/model/board.py 2011-06-21 20:38:13 +0000 | |||
4 | @@ -2,7 +2,7 @@ | |||
5 | 2 | from sqlalchemy import Column, Integer, ForeignKey, Unicode, UniqueConstraint | 2 | from sqlalchemy import Column, Integer, ForeignKey, Unicode, UniqueConstraint |
6 | 3 | from sqlalchemy import DateTime | 3 | from sqlalchemy import DateTime |
7 | 4 | from sqlalchemy.orm import relationship | 4 | from sqlalchemy.orm import relationship |
9 | 5 | from hypernucleusserver.models import Tags, BBThreadTags | 5 | from hypernucleusserver.model.tags import Tags, BBThreadTags |
10 | 6 | from hypernucleusserver.models import Base as DeclarativeBase | 6 | from hypernucleusserver.models import Base as DeclarativeBase |
11 | 7 | from hypernucleusserver.model.file import Files | 7 | from hypernucleusserver.model.file import Files |
12 | 8 | from hypernucleusserver.model.auth import User | 8 | from hypernucleusserver.model.auth import User |
13 | 9 | 9 | ||
14 | === modified file 'hypernucleusserver/hypernucleusserver/model/content.py' | |||
15 | --- hypernucleusserver/hypernucleusserver/model/content.py 2011-06-20 14:35:59 +0000 | |||
16 | +++ hypernucleusserver/hypernucleusserver/model/content.py 2011-06-21 20:38:13 +0000 | |||
17 | @@ -1,7 +1,8 @@ | |||
18 | 1 | from datetime import datetime | 1 | from datetime import datetime |
19 | 2 | from sqlalchemy import ForeignKey, Column, UniqueConstraint, desc | 2 | from sqlalchemy import ForeignKey, Column, UniqueConstraint, desc |
20 | 3 | from sqlalchemy.types import Integer, Unicode, DateTime, Boolean | 3 | from sqlalchemy.types import Integer, Unicode, DateTime, Boolean |
22 | 4 | from hypernucleusserver.models import Tags, ContentTags, User | 4 | from hypernucleusserver.model.tags import Tags, ContentTags |
23 | 5 | from hypernucleusserver.model.auth import User | ||
24 | 5 | from hypernucleusserver.models import Base as DeclarativeBase | 6 | from hypernucleusserver.models import Base as DeclarativeBase |
25 | 6 | from sqlalchemy.orm import relationship | 7 | from sqlalchemy.orm import relationship |
26 | 7 | 8 | ||
27 | 8 | 9 | ||
28 | === removed file 'hypernucleusserver/hypernucleusserver/model/dependencies.py' | |||
29 | --- hypernucleusserver/hypernucleusserver/model/dependencies.py 2011-06-20 14:43:33 +0000 | |||
30 | +++ hypernucleusserver/hypernucleusserver/model/dependencies.py 1970-01-01 00:00:00 +0000 | |||
31 | @@ -1,162 +0,0 @@ | |||
32 | 1 | from datetime import datetime | ||
33 | 2 | from sqlalchemy import Column, Integer, desc | ||
34 | 3 | from sqlalchemy import ForeignKey, UniqueConstraint, Float, DateTime, Boolean | ||
35 | 4 | from sqlalchemy import Unicode | ||
36 | 5 | from sqlalchemy.orm import relationship | ||
37 | 6 | from hypernucleusserver.models import Base as DeclarativeBase | ||
38 | 7 | from hypernucleusserver.models import Tags, DependenciesTags | ||
39 | 8 | from hypernucleusserver.models import OperatingSystems | ||
40 | 9 | from hypernucleusserver.models import Architectures, GameDepModuleType | ||
41 | 10 | from hypernucleusserver.model.file import Files | ||
42 | 11 | from hypernucleusserver.model.auth import User | ||
43 | 12 | |||
44 | 13 | class DependenciesPicture(DeclarativeBase): | ||
45 | 14 | __tablename__ = 'dependenciespicture' | ||
46 | 15 | __table_args__ = (UniqueConstraint('game_id', 'file_id'), | ||
47 | 16 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
48 | 17 | |||
49 | 18 | id = Column(Integer, primary_key=True) | ||
50 | 19 | game_id = Column(Integer, ForeignKey('dependenciespage.id'), nullable=False) | ||
51 | 20 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
52 | 21 | |||
53 | 22 | class DependenciesBinaryFiles(DeclarativeBase): | ||
54 | 23 | __tablename__ = 'dependenciesbinaryfiles' | ||
55 | 24 | __table_args__ = (UniqueConstraint('binary_id', 'file_id'), | ||
56 | 25 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
57 | 26 | |||
58 | 27 | id = Column(Integer, primary_key=True) | ||
59 | 28 | binary_id = Column(Integer, ForeignKey('dependenciesbinary.id'), | ||
60 | 29 | nullable=False) | ||
61 | 30 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
62 | 31 | |||
63 | 32 | class DependenciesBinaryOperatingSystem(DeclarativeBase): | ||
64 | 33 | __tablename__ = 'dependenciesbinaryoperatingsystem' | ||
65 | 34 | __table_args__ = (UniqueConstraint('binary_id', 'operatingsystem_id'), | ||
66 | 35 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
67 | 36 | |||
68 | 37 | id = Column(Integer, primary_key=True) | ||
69 | 38 | binary_id = Column(Integer, ForeignKey('dependenciesbinary.id'), | ||
70 | 39 | nullable=False) | ||
71 | 40 | operatingsystem_id = Column(Integer, ForeignKey('operatingsystems.id'), | ||
72 | 41 | nullable=False) | ||
73 | 42 | |||
74 | 43 | class DependenciesBinaryArchitecture(DeclarativeBase): | ||
75 | 44 | __tablename__ = 'dependenciesbinaryarchitecture' | ||
76 | 45 | __table_args__ = (UniqueConstraint('binary_id', 'architecture_id'), | ||
77 | 46 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
78 | 47 | |||
79 | 48 | id = Column(Integer, primary_key=True) | ||
80 | 49 | binary_id = Column(Integer, ForeignKey('dependenciesbinary.id'), | ||
81 | 50 | nullable=False) | ||
82 | 51 | architecture_id = Column(Integer, ForeignKey('architectures.id'), | ||
83 | 52 | nullable=False) | ||
84 | 53 | |||
85 | 54 | class DependenciesBinary(DeclarativeBase): | ||
86 | 55 | __tablename__ = 'dependenciesbinary' | ||
87 | 56 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
88 | 57 | |||
89 | 58 | id = Column(Integer, primary_key=True) | ||
90 | 59 | revision_id = Column(Integer, ForeignKey('dependenciesrevision.id'), | ||
91 | 60 | nullable=False) | ||
92 | 61 | file_obj = relationship(Files, | ||
93 | 62 | secondary=DependenciesBinaryFiles.__table__, | ||
94 | 63 | uselist=False, single_parent=True, | ||
95 | 64 | cascade="all, delete, delete-orphan") | ||
96 | 65 | operatingsystem_obj = relationship(OperatingSystems, | ||
97 | 66 | secondary=DependenciesBinaryOperatingSystem.__table__, | ||
98 | 67 | uselist=False) | ||
99 | 68 | architecture_obj = relationship(Architectures, | ||
100 | 69 | secondary=DependenciesBinaryArchitecture.__table__, | ||
101 | 70 | uselist=False) | ||
102 | 71 | |||
103 | 72 | def __init__(self, file_obj, operatingsystem_obj, architecture_obj): | ||
104 | 73 | self.file_obj = file_obj | ||
105 | 74 | self.operatingsystem_obj = operatingsystem_obj | ||
106 | 75 | self.architecture_obj = architecture_obj | ||
107 | 76 | |||
108 | 77 | class DependenciesDependency(DeclarativeBase): | ||
109 | 78 | __tablename__ = 'dependenciesdependency' | ||
110 | 79 | __table_args__ = (UniqueConstraint('game_id', 'dependency_id'), | ||
111 | 80 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
112 | 81 | |||
113 | 82 | id = Column(Integer, primary_key=True) | ||
114 | 83 | game_id = Column(Integer, ForeignKey('dependenciespage.id'), | ||
115 | 84 | nullable=False) | ||
116 | 85 | dependency_id = Column(Integer, ForeignKey('dependenciespage.id'), | ||
117 | 86 | nullable=False) | ||
118 | 87 | |||
119 | 88 | class DependenciesRevisionFiles(DeclarativeBase): | ||
120 | 89 | __tablename__ = 'dependenciesrevisionfiles' | ||
121 | 90 | __table_args__ = (UniqueConstraint('revision_id', 'file_id'), | ||
122 | 91 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
123 | 92 | |||
124 | 93 | id = Column(Integer, primary_key=True) | ||
125 | 94 | revision_id = Column(Integer, ForeignKey('dependenciesrevision.id'), | ||
126 | 95 | nullable=False) | ||
127 | 96 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
128 | 97 | |||
129 | 98 | class DependenciesModuleTypeRevision(DeclarativeBase): | ||
130 | 99 | __tablename__ = 'dependenciesmoduletyperevision' | ||
131 | 100 | __table_args__ = (UniqueConstraint('revision_id', 'moduletype_id'), | ||
132 | 101 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
133 | 102 | |||
134 | 103 | id = Column(Integer, primary_key=True) | ||
135 | 104 | revision_id = Column(Integer, ForeignKey('dependenciesrevision.id'), | ||
136 | 105 | nullable=False) | ||
137 | 106 | moduletype_id = Column(Integer, ForeignKey('gamedepmoduletype.id'), | ||
138 | 107 | nullable=False) | ||
139 | 108 | |||
140 | 109 | class DependenciesRevision(DeclarativeBase): | ||
141 | 110 | __tablename__ = 'dependenciesrevision' | ||
142 | 111 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
143 | 112 | |||
144 | 113 | id = Column(Integer, primary_key=True) | ||
145 | 114 | page_id = Column(Integer, ForeignKey('dependenciespage.id'), | ||
146 | 115 | nullable=False) | ||
147 | 116 | version = Column(Float(), default=0.1, index=True, nullable=False) | ||
148 | 117 | created = Column(DateTime, default=datetime.now) | ||
149 | 118 | published = Column(Boolean, default=False, index=True) | ||
150 | 119 | page = relationship("DependenciesPage") | ||
151 | 120 | moduletype = relationship(GameDepModuleType, | ||
152 | 121 | secondary=DependenciesModuleTypeRevision.__table__, | ||
153 | 122 | uselist=False) | ||
154 | 123 | file_obj = relationship(Files, | ||
155 | 124 | secondary=DependenciesRevisionFiles.__table__, | ||
156 | 125 | uselist=False) | ||
157 | 126 | binary = relationship(DependenciesBinary, | ||
158 | 127 | cascade="all, delete") | ||
159 | 128 | |||
160 | 129 | def __init__(self, version, moduletype): | ||
161 | 130 | self.version = version | ||
162 | 131 | self.moduletype = moduletype | ||
163 | 132 | |||
164 | 133 | class DependenciesPage(DeclarativeBase): | ||
165 | 134 | __tablename__ = 'dependenciespage' | ||
166 | 135 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
167 | 136 | |||
168 | 137 | id = Column(Integer, primary_key=True) | ||
169 | 138 | name = Column(Unicode(128), index=True, unique=True, nullable=False) | ||
170 | 139 | display_name = Column(Unicode(128), index=True, nullable=False) | ||
171 | 140 | description = Column(Unicode(16384), default=u"") | ||
172 | 141 | created = Column(DateTime, default=datetime.now) | ||
173 | 142 | deleted = Column(Boolean, default=False, index=True) | ||
174 | 143 | revisions = relationship(DependenciesRevision, | ||
175 | 144 | cascade="all, delete, delete-orphan", | ||
176 | 145 | lazy="dynamic", | ||
177 | 146 | order_by=desc(DependenciesRevision.id), | ||
178 | 147 | single_parent=True) | ||
179 | 148 | tags = relationship(Tags, secondary=DependenciesTags.__table__, | ||
180 | 149 | cascade="all, delete") | ||
181 | 150 | dependencies = relationship('DependenciesPage', | ||
182 | 151 | secondary=DependenciesDependency.__table__, | ||
183 | 152 | |||
184 | 153 | primaryjoin=id == DependenciesDependency.game_id, | ||
185 | 154 | secondaryjoin=DependenciesDependency.dependency_id == id, | ||
186 | 155 | cascade="all, delete") | ||
187 | 156 | picture = relationship(Files, secondary=DependenciesPicture.__table__, | ||
188 | 157 | cascade="all, delete") | ||
189 | 158 | |||
190 | 159 | def __init__(self, name, display_name): | ||
191 | 160 | self.name = name | ||
192 | 161 | self.display_name = display_name | ||
193 | 162 | |||
194 | 163 | 0 | ||
195 | === modified file 'hypernucleusserver/hypernucleusserver/model/gamedep.py' | |||
196 | --- hypernucleusserver/hypernucleusserver/model/gamedep.py 2010-12-16 05:24:55 +0000 | |||
197 | +++ hypernucleusserver/hypernucleusserver/model/gamedep.py 2011-06-21 20:38:13 +0000 | |||
198 | @@ -1,5 +1,18 @@ | |||
200 | 1 | from sqlalchemy import Column, Integer, Unicode | 1 | from sqlalchemy import Column, Integer, desc, Unicode |
201 | 2 | from sqlalchemy import ForeignKey, UniqueConstraint, Float, DateTime, Boolean | ||
202 | 3 | from sqlalchemy.orm import relationship | ||
203 | 2 | from hypernucleusserver.models import Base as DeclarativeBase | 4 | from hypernucleusserver.models import Base as DeclarativeBase |
204 | 5 | from hypernucleusserver.model.file import Files | ||
205 | 6 | from hypernucleusserver.model.tags import Tags, GameDepTags | ||
206 | 7 | from datetime import datetime | ||
207 | 8 | class GameDepType(DeclarativeBase): | ||
208 | 9 | __tablename__ = 'gamedeptype' | ||
209 | 10 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
210 | 11 | id = Column(Integer, primary_key=True) | ||
211 | 12 | name = Column(Unicode(128), index=True, unique=True, nullable=False) | ||
212 | 13 | |||
213 | 14 | def __init__(self, name): | ||
214 | 15 | self.name = name | ||
215 | 3 | 16 | ||
216 | 4 | class GameDepModuleType(DeclarativeBase): | 17 | class GameDepModuleType(DeclarativeBase): |
217 | 5 | __tablename__ = 'gamedepmoduletype' | 18 | __tablename__ = 'gamedepmoduletype' |
218 | @@ -37,3 +50,162 @@ | |||
219 | 37 | def __init__(self, name, display_name): | 50 | def __init__(self, name, display_name): |
220 | 38 | self.name = name | 51 | self.name = name |
221 | 39 | self.display_name = display_name | 52 | self.display_name = display_name |
222 | 53 | |||
223 | 54 | |||
224 | 55 | |||
225 | 56 | class GameDepPicture(DeclarativeBase): | ||
226 | 57 | __tablename__ = 'gamedeppicture' | ||
227 | 58 | __table_args__ = (UniqueConstraint('game_id', 'file_id'), | ||
228 | 59 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
229 | 60 | |||
230 | 61 | id = Column(Integer, primary_key=True) | ||
231 | 62 | game_id = Column(Integer, ForeignKey('gamedeppage.id'), nullable=False) | ||
232 | 63 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
233 | 64 | |||
234 | 65 | class GameDepBinaryFiles(DeclarativeBase): | ||
235 | 66 | __tablename__ = 'gamedepbinaryfiles' | ||
236 | 67 | __table_args__ = (UniqueConstraint('binary_id', 'file_id'), | ||
237 | 68 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
238 | 69 | |||
239 | 70 | id = Column(Integer, primary_key=True) | ||
240 | 71 | binary_id = Column(Integer, ForeignKey('gamedepbinary.id'), | ||
241 | 72 | nullable=False) | ||
242 | 73 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
243 | 74 | |||
244 | 75 | class GameDepBinaryOperatingSystem(DeclarativeBase): | ||
245 | 76 | __tablename__ = 'gamedepbinaryoperatingsystem' | ||
246 | 77 | __table_args__ = (UniqueConstraint('binary_id', 'operatingsystem_id'), | ||
247 | 78 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
248 | 79 | |||
249 | 80 | id = Column(Integer, primary_key=True) | ||
250 | 81 | binary_id = Column(Integer, ForeignKey('gamedepbinary.id'), | ||
251 | 82 | nullable=False) | ||
252 | 83 | operatingsystem_id = Column(Integer, ForeignKey('operatingsystems.id'), | ||
253 | 84 | nullable=False) | ||
254 | 85 | |||
255 | 86 | class GameDepBinaryArchitecture(DeclarativeBase): | ||
256 | 87 | __tablename__ = 'gamedepbinaryarchitecture' | ||
257 | 88 | __table_args__ = (UniqueConstraint('binary_id', 'architecture_id'), | ||
258 | 89 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
259 | 90 | |||
260 | 91 | id = Column(Integer, primary_key=True) | ||
261 | 92 | binary_id = Column(Integer, ForeignKey('gamedepbinary.id'), | ||
262 | 93 | nullable=False) | ||
263 | 94 | architecture_id = Column(Integer, ForeignKey('architectures.id'), | ||
264 | 95 | nullable=False) | ||
265 | 96 | |||
266 | 97 | class GameDepBinary(DeclarativeBase): | ||
267 | 98 | __tablename__ = 'gamedepbinary' | ||
268 | 99 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
269 | 100 | |||
270 | 101 | id = Column(Integer, primary_key=True) | ||
271 | 102 | revision_id = Column(Integer, ForeignKey('gamedeprevision.id'), | ||
272 | 103 | nullable=False) | ||
273 | 104 | file_obj = relationship(Files, | ||
274 | 105 | secondary=GameDepBinaryFiles.__table__, | ||
275 | 106 | uselist=False, single_parent=True, | ||
276 | 107 | cascade="all, delete, delete-orphan") | ||
277 | 108 | operatingsystem_obj = relationship(OperatingSystems, | ||
278 | 109 | secondary=GameDepBinaryOperatingSystem.__table__, | ||
279 | 110 | uselist=False) | ||
280 | 111 | architecture_obj = relationship(Architectures, | ||
281 | 112 | secondary=GameDepBinaryArchitecture.__table__, | ||
282 | 113 | uselist=False) | ||
283 | 114 | |||
284 | 115 | def __init__(self, file_obj, operatingsystem_obj, architecture_obj): | ||
285 | 116 | self.file_obj = file_obj | ||
286 | 117 | self.operatingsystem_obj = operatingsystem_obj | ||
287 | 118 | self.architecture_obj = architecture_obj | ||
288 | 119 | |||
289 | 120 | class GameDepDependency(DeclarativeBase): | ||
290 | 121 | __tablename__ = 'gamedepdependency' | ||
291 | 122 | __table_args__ = (UniqueConstraint('game_id', 'dependency_id'), | ||
292 | 123 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
293 | 124 | |||
294 | 125 | id = Column(Integer, primary_key=True) | ||
295 | 126 | game_id = Column(Integer, ForeignKey('gamedeppage.id'), | ||
296 | 127 | nullable=False) | ||
297 | 128 | dependency_id = Column(Integer, ForeignKey('gamedeppage.id'), | ||
298 | 129 | nullable=False) | ||
299 | 130 | |||
300 | 131 | class GameDepRevisionFiles(DeclarativeBase): | ||
301 | 132 | __tablename__ = 'gamedeprevisionfiles' | ||
302 | 133 | __table_args__ = (UniqueConstraint('revision_id', 'file_id'), | ||
303 | 134 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
304 | 135 | |||
305 | 136 | id = Column(Integer, primary_key=True) | ||
306 | 137 | revision_id = Column(Integer, ForeignKey('gamedeprevision.id'), | ||
307 | 138 | nullable=False) | ||
308 | 139 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
309 | 140 | |||
310 | 141 | class GameDepModuleTypeRevision(DeclarativeBase): | ||
311 | 142 | __tablename__ = 'gamedepmoduletyperevision' | ||
312 | 143 | __table_args__ = (UniqueConstraint('revision_id', 'moduletype_id'), | ||
313 | 144 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
314 | 145 | |||
315 | 146 | id = Column(Integer, primary_key=True) | ||
316 | 147 | revision_id = Column(Integer, ForeignKey('gamedeprevision.id'), | ||
317 | 148 | nullable=False) | ||
318 | 149 | moduletype_id = Column(Integer, ForeignKey('gamedepmoduletype.id'), | ||
319 | 150 | nullable=False) | ||
320 | 151 | |||
321 | 152 | |||
322 | 153 | |||
323 | 154 | |||
324 | 155 | class GameDepRevision(DeclarativeBase): | ||
325 | 156 | __tablename__ = 'gamedeprevision' | ||
326 | 157 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
327 | 158 | |||
328 | 159 | id = Column(Integer, primary_key=True) | ||
329 | 160 | page_id = Column(Integer, ForeignKey('gamedeppage.id'), | ||
330 | 161 | nullable=False) | ||
331 | 162 | page = relationship("GameDepPage") | ||
332 | 163 | version = Column(Float(), default=0.1, index=True, nullable=False) | ||
333 | 164 | created = Column(DateTime, default=datetime.now) | ||
334 | 165 | published = Column(Boolean, default=False, index=True) | ||
335 | 166 | moduletype = relationship(GameDepModuleType, | ||
336 | 167 | secondary=GameDepModuleTypeRevision.__table__, | ||
337 | 168 | uselist=False) | ||
338 | 169 | file_obj = relationship(Files, | ||
339 | 170 | secondary=GameDepRevisionFiles.__table__, | ||
340 | 171 | uselist=False) | ||
341 | 172 | binary = relationship(GameDepBinary, | ||
342 | 173 | cascade="all, delete") | ||
343 | 174 | |||
344 | 175 | def __init__(self, version, moduletype): | ||
345 | 176 | self.version = version | ||
346 | 177 | self.moduletype = moduletype | ||
347 | 178 | |||
348 | 179 | class GameDepPage(DeclarativeBase): | ||
349 | 180 | __tablename__ = 'gamedeppage' | ||
350 | 181 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
351 | 182 | |||
352 | 183 | id = Column(Integer, primary_key=True) | ||
353 | 184 | gamedeptype_id = Column(Integer, ForeignKey('gamedeptype.id'), | ||
354 | 185 | nullable=False) | ||
355 | 186 | gamedeptype = relationship(GameDepType, uselist=False) | ||
356 | 187 | name = Column(Unicode(128), index=True, unique=True, nullable=False) | ||
357 | 188 | display_name = Column(Unicode(128), index=True, nullable=False) | ||
358 | 189 | description = Column(Unicode(16384), default=u"") | ||
359 | 190 | created = Column(DateTime, default=datetime.now) | ||
360 | 191 | deleted = Column(Boolean, default=False, index=True) | ||
361 | 192 | revisions = relationship(GameDepRevision, | ||
362 | 193 | cascade="all, delete, delete-orphan", | ||
363 | 194 | lazy="dynamic", | ||
364 | 195 | order_by=desc(GameDepRevision.id), | ||
365 | 196 | single_parent=True) | ||
366 | 197 | tags = relationship(Tags, secondary=GameDepTags.__table__, | ||
367 | 198 | cascade="all, delete") | ||
368 | 199 | dependencies = relationship('GameDepPage', | ||
369 | 200 | secondary=GameDepDependency.__table__, | ||
370 | 201 | |||
371 | 202 | primaryjoin=id == GameDepDependency.game_id, | ||
372 | 203 | secondaryjoin=GameDepDependency.dependency_id == id, | ||
373 | 204 | cascade="all, delete") | ||
374 | 205 | picture = relationship(Files, secondary=GameDepPicture.__table__, | ||
375 | 206 | cascade="all, delete") | ||
376 | 207 | |||
377 | 208 | def __init__(self, gamedeptype, name, display_name): | ||
378 | 209 | self.name = name | ||
379 | 210 | self.display_name = display_name | ||
380 | 211 | self.gamedeptype = gamedeptype | ||
381 | 40 | \ No newline at end of file | 212 | \ No newline at end of file |
382 | 41 | 213 | ||
383 | === removed file 'hypernucleusserver/hypernucleusserver/model/games.py' | |||
384 | --- hypernucleusserver/hypernucleusserver/model/games.py 2011-06-20 14:43:33 +0000 | |||
385 | +++ hypernucleusserver/hypernucleusserver/model/games.py 1970-01-01 00:00:00 +0000 | |||
386 | @@ -1,159 +0,0 @@ | |||
387 | 1 | from datetime import datetime | ||
388 | 2 | from sqlalchemy import Column, Integer, desc | ||
389 | 3 | from sqlalchemy import ForeignKey, UniqueConstraint, Float, DateTime, Boolean | ||
390 | 4 | from sqlalchemy import Unicode | ||
391 | 5 | from sqlalchemy.orm import relationship | ||
392 | 6 | from hypernucleusserver.models import Base as DeclarativeBase | ||
393 | 7 | from hypernucleusserver.models import Tags, GamesTags | ||
394 | 8 | from hypernucleusserver.models import OperatingSystems | ||
395 | 9 | from hypernucleusserver.models import Architectures, GameDepModuleType | ||
396 | 10 | from hypernucleusserver.model.file import Files | ||
397 | 11 | from hypernucleusserver.model.auth import User | ||
398 | 12 | |||
399 | 13 | class GamesPicture(DeclarativeBase): | ||
400 | 14 | __tablename__ = 'gamespicture' | ||
401 | 15 | __table_args__ = (UniqueConstraint('game_id', 'file_id'), | ||
402 | 16 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
403 | 17 | |||
404 | 18 | id = Column(Integer, primary_key=True) | ||
405 | 19 | game_id = Column(Integer, ForeignKey('gamespage.id'), nullable=False) | ||
406 | 20 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
407 | 21 | |||
408 | 22 | class GamesBinaryFiles(DeclarativeBase): | ||
409 | 23 | __tablename__ = 'gamesbinaryfiles' | ||
410 | 24 | __table_args__ = (UniqueConstraint('binary_id', 'file_id'), | ||
411 | 25 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
412 | 26 | |||
413 | 27 | id = Column(Integer, primary_key=True) | ||
414 | 28 | binary_id = Column(Integer, ForeignKey('gamesbinary.id'), | ||
415 | 29 | nullable=False) | ||
416 | 30 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
417 | 31 | |||
418 | 32 | class GamesBinaryOperatingSystem(DeclarativeBase): | ||
419 | 33 | __tablename__ = 'gamesbinaryoperatingsystem' | ||
420 | 34 | __table_args__ = (UniqueConstraint('binary_id', 'operatingsystem_id'), | ||
421 | 35 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
422 | 36 | |||
423 | 37 | id = Column(Integer, primary_key=True) | ||
424 | 38 | binary_id = Column(Integer, ForeignKey('gamesbinary.id'), | ||
425 | 39 | nullable=False) | ||
426 | 40 | operatingsystem_id = Column(Integer, ForeignKey('operatingsystems.id'), | ||
427 | 41 | nullable=False) | ||
428 | 42 | |||
429 | 43 | class GamesBinaryArchitecture(DeclarativeBase): | ||
430 | 44 | __tablename__ = 'gamesbinaryarchitecture' | ||
431 | 45 | __table_args__ = (UniqueConstraint('binary_id', 'architecture_id'), | ||
432 | 46 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
433 | 47 | |||
434 | 48 | id = Column(Integer, primary_key=True) | ||
435 | 49 | binary_id = Column(Integer, ForeignKey('gamesbinary.id'), | ||
436 | 50 | nullable=False) | ||
437 | 51 | architecture_id = Column(Integer, ForeignKey('architectures.id'), | ||
438 | 52 | nullable=False) | ||
439 | 53 | |||
440 | 54 | class GamesBinary(DeclarativeBase): | ||
441 | 55 | __tablename__ = 'gamesbinary' | ||
442 | 56 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
443 | 57 | |||
444 | 58 | id = Column(Integer, primary_key=True) | ||
445 | 59 | revision_id = Column(Integer, ForeignKey('gamesrevision.id'), | ||
446 | 60 | nullable=False) | ||
447 | 61 | file_obj = relationship(Files, | ||
448 | 62 | secondary=GamesBinaryFiles.__table__, | ||
449 | 63 | uselist=False, single_parent=True, | ||
450 | 64 | cascade="all, delete, delete-orphan") | ||
451 | 65 | operatingsystem_obj = relationship(OperatingSystems, | ||
452 | 66 | secondary=GamesBinaryOperatingSystem.__table__, | ||
453 | 67 | uselist=False) | ||
454 | 68 | architecture_obj = relationship(Architectures, | ||
455 | 69 | secondary=GamesBinaryArchitecture.__table__, | ||
456 | 70 | uselist=False) | ||
457 | 71 | |||
458 | 72 | def __init__(self, file_obj, operatingsystem_obj, architecture_obj): | ||
459 | 73 | self.file_obj = file_obj | ||
460 | 74 | self.operatingsystem_obj = operatingsystem_obj | ||
461 | 75 | self.architecture_obj = architecture_obj | ||
462 | 76 | |||
463 | 77 | class GamesDependency(DeclarativeBase): | ||
464 | 78 | __tablename__ = 'gamesdependency' | ||
465 | 79 | __table_args__ = (UniqueConstraint('game_id', 'dependency_id'), | ||
466 | 80 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
467 | 81 | |||
468 | 82 | id = Column(Integer, primary_key=True) | ||
469 | 83 | game_id = Column(Integer, ForeignKey('gamespage.id'), | ||
470 | 84 | nullable=False) | ||
471 | 85 | dependency_id = Column(Integer, ForeignKey('dependenciespage.id'), | ||
472 | 86 | nullable=False) | ||
473 | 87 | |||
474 | 88 | class GamesRevisionFiles(DeclarativeBase): | ||
475 | 89 | __tablename__ = 'gamesrevisionfiles' | ||
476 | 90 | __table_args__ = (UniqueConstraint('revision_id', 'file_id'), | ||
477 | 91 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
478 | 92 | |||
479 | 93 | id = Column(Integer, primary_key=True) | ||
480 | 94 | revision_id = Column(Integer, ForeignKey('gamesrevision.id'), | ||
481 | 95 | nullable=False) | ||
482 | 96 | file_id = Column(Integer, ForeignKey('files.id'), nullable=False) | ||
483 | 97 | |||
484 | 98 | class GamesModuleTypeRevision(DeclarativeBase): | ||
485 | 99 | __tablename__ = 'gamesmoduletyperevision' | ||
486 | 100 | __table_args__ = (UniqueConstraint('revision_id', 'moduletype_id'), | ||
487 | 101 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
488 | 102 | |||
489 | 103 | id = Column(Integer, primary_key=True) | ||
490 | 104 | revision_id = Column(Integer, ForeignKey('gamesrevision.id'), | ||
491 | 105 | nullable=False) | ||
492 | 106 | moduletype_id = Column(Integer, ForeignKey('gamedepmoduletype.id'), | ||
493 | 107 | nullable=False) | ||
494 | 108 | |||
495 | 109 | class GamesRevision(DeclarativeBase): | ||
496 | 110 | __tablename__ = 'gamesrevision' | ||
497 | 111 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
498 | 112 | |||
499 | 113 | id = Column(Integer, primary_key=True) | ||
500 | 114 | page_id = Column(Integer, ForeignKey('gamespage.id'), | ||
501 | 115 | nullable=False) | ||
502 | 116 | version = Column(Float(), default=0.1, index=True, nullable=False) | ||
503 | 117 | created = Column(DateTime, default=datetime.now) | ||
504 | 118 | published = Column(Boolean, default=False, index=True) | ||
505 | 119 | page = relationship("GamesPage") | ||
506 | 120 | moduletype = relationship(GameDepModuleType, | ||
507 | 121 | secondary=GamesModuleTypeRevision.__table__, | ||
508 | 122 | uselist=False) | ||
509 | 123 | file_obj = relationship(Files, | ||
510 | 124 | secondary=GamesRevisionFiles.__table__, | ||
511 | 125 | uselist=False) | ||
512 | 126 | binary = relationship(GamesBinary, | ||
513 | 127 | cascade="all, delete") | ||
514 | 128 | |||
515 | 129 | def __init__(self, version, moduletype): | ||
516 | 130 | self.version = version | ||
517 | 131 | self.moduletype = moduletype | ||
518 | 132 | |||
519 | 133 | class GamesPage(DeclarativeBase): | ||
520 | 134 | __tablename__ = 'gamespage' | ||
521 | 135 | __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'} | ||
522 | 136 | |||
523 | 137 | id = Column(Integer, primary_key=True) | ||
524 | 138 | name = Column(Unicode(128), index=True, unique=True, nullable=False) | ||
525 | 139 | display_name = Column(Unicode(128), index=True, nullable=False) | ||
526 | 140 | description = Column(Unicode(16384), default=u"") | ||
527 | 141 | created = Column(DateTime, default=datetime.now) | ||
528 | 142 | deleted = Column(Boolean, default=False, index=True) | ||
529 | 143 | revisions = relationship(GamesRevision, | ||
530 | 144 | cascade="all, delete, delete-orphan", | ||
531 | 145 | lazy="dynamic", | ||
532 | 146 | order_by=desc(GamesRevision.id), | ||
533 | 147 | single_parent=True) | ||
534 | 148 | tags = relationship(Tags, secondary=GamesTags.__table__, | ||
535 | 149 | cascade="all, delete") | ||
536 | 150 | dependencies = relationship('DependenciesPage', | ||
537 | 151 | secondary=GamesDependency.__table__, | ||
538 | 152 | cascade="all, delete") | ||
539 | 153 | picture = relationship(Files, secondary=GamesPicture.__table__, | ||
540 | 154 | cascade="all, delete") | ||
541 | 155 | |||
542 | 156 | def __init__(self, name, display_name): | ||
543 | 157 | self.name = name | ||
544 | 158 | self.display_name = display_name | ||
545 | 159 | |||
546 | 160 | 0 | ||
547 | === modified file 'hypernucleusserver/hypernucleusserver/model/tags.py' | |||
548 | --- hypernucleusserver/hypernucleusserver/model/tags.py 2011-06-18 10:18:12 +0000 | |||
549 | +++ hypernucleusserver/hypernucleusserver/model/tags.py 2011-06-21 20:38:13 +0000 | |||
550 | @@ -11,28 +11,14 @@ | |||
551 | 11 | def __init__(self, name): | 11 | def __init__(self, name): |
552 | 12 | self.name = name | 12 | self.name = name |
553 | 13 | 13 | ||
570 | 14 | class DependenciesTags(DeclarativeBase): | 14 | class GameDepTags(DeclarativeBase): |
571 | 15 | __tablename__ = 'dependenciestags' | 15 | __tablename__ = 'gamedeptags' |
556 | 16 | __table_args__ = (UniqueConstraint('tag_id', 'dependency_id'), | ||
557 | 17 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | ||
558 | 18 | |||
559 | 19 | id = Column(Integer, primary_key=True) | ||
560 | 20 | tag_id = Column(Integer, ForeignKey('tags.id'), nullable=False) | ||
561 | 21 | dependency_id = Column(Integer, ForeignKey('dependenciespage.id'), | ||
562 | 22 | nullable=False) | ||
563 | 23 | |||
564 | 24 | def __init__(self, tag_id, dependency_id): | ||
565 | 25 | self.tag_id = tag_id | ||
566 | 26 | self.dependency_id = dependency_id | ||
567 | 27 | |||
568 | 28 | class GamesTags(DeclarativeBase): | ||
569 | 29 | __tablename__ = 'gamestags' | ||
572 | 30 | __table_args__ = (UniqueConstraint('tag_id', 'game_id'), | 16 | __table_args__ = (UniqueConstraint('tag_id', 'game_id'), |
573 | 31 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) | 17 | {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}) |
574 | 32 | 18 | ||
575 | 33 | id = Column(Integer, primary_key=True) | 19 | id = Column(Integer, primary_key=True) |
576 | 34 | tag_id = Column(Integer, ForeignKey('tags.id'), nullable=False) | 20 | tag_id = Column(Integer, ForeignKey('tags.id'), nullable=False) |
578 | 35 | game_id = Column(Integer, ForeignKey('gamespage.id'), nullable=False) | 21 | game_id = Column(Integer, ForeignKey('gamedeppage.id'), nullable=False) |
579 | 36 | 22 | ||
580 | 37 | def __init__(self, game_id, tag_id): | 23 | def __init__(self, game_id, tag_id): |
581 | 38 | self.game_id = game_id | 24 | self.game_id = game_id |
582 | 39 | 25 | ||
583 | === modified file 'hypernucleusserver/hypernucleusserver/model/tokens.py' | |||
584 | --- hypernucleusserver/hypernucleusserver/model/tokens.py 2011-06-20 14:35:59 +0000 | |||
585 | +++ hypernucleusserver/hypernucleusserver/model/tokens.py 2011-06-21 20:38:13 +0000 | |||
586 | @@ -3,7 +3,7 @@ | |||
587 | 3 | from sqlalchemy.orm import relationship | 3 | from sqlalchemy.orm import relationship |
588 | 4 | from datetime import datetime, timedelta | 4 | from datetime import datetime, timedelta |
589 | 5 | from hypernucleusserver.models import Base as DeclarativeBase | 5 | from hypernucleusserver.models import Base as DeclarativeBase |
591 | 6 | from hypernucleusserver.models import User | 6 | from hypernucleusserver.model.auth import User |
592 | 7 | import uuid | 7 | import uuid |
593 | 8 | 8 | ||
594 | 9 | def gen_token(): | 9 | def gen_token(): |
595 | 10 | 10 | ||
596 | === modified file 'hypernucleusserver/hypernucleusserver/models.py' | |||
597 | --- hypernucleusserver/hypernucleusserver/models.py 2011-06-21 17:37:46 +0000 | |||
598 | +++ hypernucleusserver/hypernucleusserver/models.py 2011-06-21 20:38:13 +0000 | |||
599 | @@ -9,61 +9,25 @@ | |||
600 | 9 | from sqlalchemy.orm import sessionmaker | 9 | from sqlalchemy.orm import sessionmaker |
601 | 10 | from sqlalchemy.ext.declarative import declarative_base | 10 | from sqlalchemy.ext.declarative import declarative_base |
602 | 11 | from sqlalchemy.exc import IntegrityError | 11 | from sqlalchemy.exc import IntegrityError |
603 | 12 | from sqlalchemy.orm.exc import NoResultFound | ||
604 | 13 | from sqlalchemy import create_engine | 12 | from sqlalchemy import create_engine |
605 | 14 | |||
606 | 15 | from zope.sqlalchemy import ZopeTransactionExtension | 13 | from zope.sqlalchemy import ZopeTransactionExtension |
607 | 16 | 14 | ||
608 | 17 | DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) | 15 | DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension())) |
609 | 18 | Base = declarative_base() | 16 | Base = declarative_base() |
610 | 19 | 17 | ||
618 | 20 | from hypernucleusserver.model.gamedep import GameDepModuleType | 18 | from hypernucleusserver.model.auth import ACLParent, ACLChild, User, Group |
619 | 21 | from hypernucleusserver.model.gamedep import OperatingSystems, Architectures | 19 | from hypernucleusserver.model.auth import Sexes |
620 | 22 | from hypernucleusserver.model.tags import Tags, DependenciesTags, GamesTags | 20 | from hypernucleusserver.model.gamedep import Architectures, OperatingSystems |
621 | 23 | from hypernucleusserver.model.tags import ContentTags, BBThreadTags | 21 | from hypernucleusserver.model.gamedep import GameDepModuleType, GameDepPage |
622 | 24 | from hypernucleusserver.model.auth import Sexes, User, Group, ACLParent | 22 | from hypernucleusserver.model.gamedep import GameDepType |
623 | 25 | from hypernucleusserver.model.auth import ACLChild, UserGroup | 23 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoInfo |
624 | 26 | from hypernucleusserver.model.auth import UserSexes | 24 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoError |
625 | 25 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoWarn | ||
626 | 27 | from hypernucleusserver.model.content import ContentPage, ContentRevision | 26 | from hypernucleusserver.model.content import ContentPage, ContentRevision |
627 | 28 | from hypernucleusserver.model.board import BBCategory, BBPost | 27 | from hypernucleusserver.model.board import BBCategory, BBPost |
628 | 29 | from hypernucleusserver.model.board import BBThread, BBForum | 28 | from hypernucleusserver.model.board import BBThread, BBForum |
666 | 30 | from hypernucleusserver.model.file import Files, FilesData | 29 | from hypernucleusserver.model.tags import Tags |
667 | 31 | from hypernucleusserver.model.tokens import Token | 30 | |
631 | 32 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoInfo | ||
632 | 33 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoError | ||
633 | 34 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoWarn | ||
634 | 35 | |||
635 | 36 | from hypernucleusserver.model.dependencies import DependenciesBinary | ||
636 | 37 | from hypernucleusserver.model.dependencies import \ | ||
637 | 38 | DependenciesBinaryArchitecture | ||
638 | 39 | from hypernucleusserver.model.dependencies import \ | ||
639 | 40 | DependenciesBinaryFiles | ||
640 | 41 | from hypernucleusserver.model.dependencies import \ | ||
641 | 42 | DependenciesBinaryOperatingSystem | ||
642 | 43 | from hypernucleusserver.model.dependencies import DependenciesPage | ||
643 | 44 | from hypernucleusserver.model.dependencies import DependenciesPicture | ||
644 | 45 | from hypernucleusserver.model.dependencies import DependenciesRevision | ||
645 | 46 | from hypernucleusserver.model.dependencies import \ | ||
646 | 47 | DependenciesRevisionFiles | ||
647 | 48 | from hypernucleusserver.model.dependencies import \ | ||
648 | 49 | DependenciesModuleTypeRevision | ||
649 | 50 | |||
650 | 51 | from hypernucleusserver.model.games import GamesBinary | ||
651 | 52 | from hypernucleusserver.model.games import \ | ||
652 | 53 | GamesBinaryArchitecture | ||
653 | 54 | from hypernucleusserver.model.games import \ | ||
654 | 55 | GamesBinaryFiles | ||
655 | 56 | from hypernucleusserver.model.games import \ | ||
656 | 57 | GamesBinaryOperatingSystem | ||
657 | 58 | from hypernucleusserver.model.games import GamesPage | ||
658 | 59 | from hypernucleusserver.model.games import GamesPicture | ||
659 | 60 | from hypernucleusserver.model.games import GamesRevision | ||
660 | 61 | from hypernucleusserver.model.games import \ | ||
661 | 62 | GamesRevisionFiles | ||
662 | 63 | from hypernucleusserver.model.games import \ | ||
663 | 64 | GamesModuleTypeRevision | ||
664 | 65 | |||
665 | 66 | |||
668 | 67 | class RootFactory(object): | 31 | class RootFactory(object): |
669 | 68 | __acl__ = set() | 32 | __acl__ = set() |
670 | 69 | 33 | ||
671 | @@ -341,25 +305,29 @@ | |||
672 | 341 | session.add(pygame) | 305 | session.add(pygame) |
673 | 342 | session.add(pcgame) | 306 | session.add(pcgame) |
674 | 343 | 307 | ||
675 | 308 | # Add the GameDepTypes | ||
676 | 309 | gametype = GameDepType(u"game") | ||
677 | 310 | deptype = GameDepType(u"dep") | ||
678 | 311 | |||
679 | 344 | # Add some primitive games and dependencies | 312 | # Add some primitive games and dependencies |
681 | 345 | depzero = DependenciesPage(u"testzero", u"Test Zero") | 313 | depzero = GameDepPage(deptype, u"testzero", u"Test Zero") |
682 | 346 | session.add(depzero) | 314 | session.add(depzero) |
684 | 347 | depone = DependenciesPage(u"testdep", u"Test Dependency") | 315 | depone = GameDepPage(deptype, u"testdep", u"Test Dependency") |
685 | 348 | depone.dependencies.append(depzero) | 316 | depone.dependencies.append(depzero) |
686 | 349 | depone.tags.append(first_tag) | 317 | depone.tags.append(first_tag) |
687 | 350 | session.add(depone) | 318 | session.add(depone) |
689 | 351 | deptwo = DependenciesPage(u"testdeptwo", u"Test Dependency Two") | 319 | deptwo = GameDepPage(deptype, u"testdeptwo", u"Test Dependency Two") |
690 | 352 | deptwo.dependencies.append(depzero) | 320 | deptwo.dependencies.append(depzero) |
691 | 353 | session.add(deptwo) | 321 | session.add(deptwo) |
693 | 354 | depthree = DependenciesPage(u"testdepthree", u"Test Dependency Three") | 322 | depthree = GameDepPage(deptype, u"testdepthree", u"Test Dependency Three") |
694 | 355 | depthree.dependencies.append(deptwo) | 323 | depthree.dependencies.append(deptwo) |
695 | 356 | depthree.dependencies.append(depzero) | 324 | depthree.dependencies.append(depzero) |
696 | 357 | session.add(depthree) | 325 | session.add(depthree) |
697 | 358 | 326 | ||
699 | 359 | gameone = GamesPage(u"testgame", u"Test Game") | 327 | gameone = GameDepPage(gametype, u"testgame", u"Test Game") |
700 | 360 | gameone.tags.append(first_tag) | 328 | gameone.tags.append(first_tag) |
701 | 361 | session.add(gameone) | 329 | session.add(gameone) |
703 | 362 | gametwo = GamesPage(u"testgametwo", u"Test Game Two") | 330 | gametwo = GameDepPage(gametype, u"testgametwo", u"Test Game Two") |
704 | 363 | gametwo.dependencies.append(depone) | 331 | gametwo.dependencies.append(depone) |
705 | 364 | session.add(gametwo) | 332 | session.add(gametwo) |
706 | 365 | 333 | ||
707 | 366 | 334 | ||
708 | === modified file 'hypernucleusserver/hypernucleusserver/security.py' | |||
709 | --- hypernucleusserver/hypernucleusserver/security.py 2010-12-16 05:24:55 +0000 | |||
710 | +++ hypernucleusserver/hypernucleusserver/security.py 2011-06-21 20:38:13 +0000 | |||
711 | @@ -1,4 +1,5 @@ | |||
713 | 1 | from hypernucleusserver.models import User, DBSession | 1 | from hypernucleusserver.model.auth import User |
714 | 2 | from hypernucleusserver.models import DBSession | ||
715 | 2 | def groupfinder(userid, request): | 3 | def groupfinder(userid, request): |
716 | 3 | dbsession = DBSession() | 4 | dbsession = DBSession() |
717 | 4 | auth = dbsession.query(User).filter(User.name==unicode(userid)).first() | 5 | auth = dbsession.query(User).filter(User.name==unicode(userid)).first() |
718 | 5 | 6 | ||
719 | === modified file 'hypernucleusserver/hypernucleusserver/viewlib/boardlib.py' | |||
720 | --- hypernucleusserver/hypernucleusserver/viewlib/boardlib.py 2011-06-18 17:05:05 +0000 | |||
721 | +++ hypernucleusserver/hypernucleusserver/viewlib/boardlib.py 2011-06-21 20:38:13 +0000 | |||
722 | @@ -1,5 +1,6 @@ | |||
725 | 1 | from hypernucleusserver.models import DBSession, BBCategory, BBForum, BBThread | 1 | from hypernucleusserver.models import DBSession |
726 | 2 | from hypernucleusserver.models import NoResultFound | 2 | from sqlalchemy.orm.exc import NoResultFound |
727 | 3 | from hypernucleusserver.model.board import BBCategory, BBForum, BBThread | ||
728 | 3 | 4 | ||
729 | 4 | class CategoryNotFound(Exception): | 5 | class CategoryNotFound(Exception): |
730 | 5 | pass | 6 | pass |
731 | 6 | 7 | ||
732 | === modified file 'hypernucleusserver/hypernucleusserver/viewlib/contentlib.py' | |||
733 | --- hypernucleusserver/hypernucleusserver/viewlib/contentlib.py 2011-06-16 16:31:38 +0000 | |||
734 | +++ hypernucleusserver/hypernucleusserver/viewlib/contentlib.py 2011-06-21 20:38:13 +0000 | |||
735 | @@ -1,5 +1,6 @@ | |||
738 | 1 | from hypernucleusserver.models import DBSession, ContentPage | 1 | from hypernucleusserver.models import DBSession |
739 | 2 | from hypernucleusserver.models import ContentRevision, NoResultFound | 2 | from sqlalchemy.orm.exc import NoResultFound |
740 | 3 | from hypernucleusserver.model.content import ContentRevision, ContentPage | ||
741 | 3 | from hypernucleusserver.viewlib.helpers import bbcode | 4 | from hypernucleusserver.viewlib.helpers import bbcode |
742 | 4 | import transaction | 5 | import transaction |
743 | 5 | 6 | ||
744 | 6 | 7 | ||
745 | === modified file 'hypernucleusserver/hypernucleusserver/viewlib/gamedeplib.py' | |||
746 | --- hypernucleusserver/hypernucleusserver/viewlib/gamedeplib.py 2011-06-18 20:55:24 +0000 | |||
747 | +++ hypernucleusserver/hypernucleusserver/viewlib/gamedeplib.py 2011-06-21 20:38:13 +0000 | |||
748 | @@ -1,12 +1,9 @@ | |||
758 | 1 | from hypernucleusserver.models import DBSession, NoResultFound | 1 | from hypernucleusserver.models import DBSession |
759 | 2 | from hypernucleusserver.models import GameDepModuleType, \ | 2 | from sqlalchemy.orm.exc import NoResultFound |
760 | 3 | OperatingSystems, Architectures | 3 | from hypernucleusserver.model.gamedep import GameDepModuleType |
761 | 4 | from hypernucleusserver.model.dependencies import DependenciesBinary | 4 | from hypernucleusserver.model.gamedep import OperatingSystems, Architectures |
762 | 5 | from hypernucleusserver.model.dependencies import DependenciesPage | 5 | from hypernucleusserver.model.gamedep import GameDepBinary, GameDepPage |
763 | 6 | from hypernucleusserver.model.dependencies import DependenciesRevision | 6 | from hypernucleusserver.model.gamedep import GameDepRevision, GameDepType |
755 | 7 | from hypernucleusserver.model.games import GamesBinary | ||
756 | 8 | from hypernucleusserver.model.games import GamesPage | ||
757 | 9 | from hypernucleusserver.model.games import GamesRevision | ||
764 | 10 | #from hypernucleusserver.viewlib.helpers import bbcode | 7 | #from hypernucleusserver.viewlib.helpers import bbcode |
765 | 11 | from hypernucleusserver.viewlib.filelib import AlchemyIO | 8 | from hypernucleusserver.viewlib.filelib import AlchemyIO |
766 | 12 | import transaction | 9 | import transaction |
767 | @@ -63,18 +60,24 @@ | |||
768 | 63 | if not gamedep_type in [GAME, DEP]: | 60 | if not gamedep_type in [GAME, DEP]: |
769 | 64 | raise InvalidGameDepType | 61 | raise InvalidGameDepType |
770 | 65 | self.gamedep_type = gamedep_type | 62 | self.gamedep_type = gamedep_type |
772 | 66 | 63 | ||
773 | 64 | def get_gamedeptype(self): | ||
774 | 65 | if self.gamedep_type == GAME: | ||
775 | 66 | gamedeptype = DBSession.query(GameDepType).filter_by( | ||
776 | 67 | name=u"game").one() | ||
777 | 68 | else: | ||
778 | 69 | gamedeptype = DBSession.query(GameDepType).filter_by( | ||
779 | 70 | name=u"dep").one() | ||
780 | 71 | return gamedeptype | ||
781 | 72 | |||
782 | 67 | def list(self): | 73 | def list(self): |
783 | 68 | """ | 74 | """ |
784 | 69 | List all the pages | 75 | List all the pages |
785 | 70 | """ | 76 | """ |
786 | 71 | result = set() | 77 | result = set() |
793 | 72 | if self.gamedep_type == GAME: | 78 | gamedeptype = self.get_gamedeptype() |
794 | 73 | gamedeps = DBSession.query(GamesPage).filter_by( | 79 | gamedeps = DBSession.query(GameDepPage).filter_by( |
795 | 74 | deleted=False) | 80 | gamedeptype_id=gamedeptype.id, deleted=False) |
790 | 75 | else: | ||
791 | 76 | gamedeps = DBSession.query(DependenciesPage).filter_by( | ||
792 | 77 | deleted=False) | ||
796 | 78 | if not gamedeps: | 81 | if not gamedeps: |
797 | 79 | raise GameDepNotFound | 82 | raise GameDepNotFound |
798 | 80 | for gamedep in gamedeps: | 83 | for gamedep in gamedeps: |
799 | @@ -90,7 +93,8 @@ | |||
800 | 90 | display_name = unicode(display_name) | 93 | display_name = unicode(display_name) |
801 | 91 | description = unicode(description) | 94 | description = unicode(description) |
802 | 92 | if not self.exists(name, raise_if_found=True): | 95 | if not self.exists(name, raise_if_found=True): |
804 | 93 | page = self.show(name)[0] | 96 | gamedeptype = self.get_gamedeptype() |
805 | 97 | page = GameDepPage(gamedeptype, name, display_name) | ||
806 | 94 | page.description = description | 98 | page.description = description |
807 | 95 | DBSession.add(page) | 99 | DBSession.add(page) |
808 | 96 | transaction.commit() | 100 | transaction.commit() |
809 | @@ -119,10 +123,7 @@ | |||
810 | 119 | moduletype = self.get_moduletype(moduletype) | 123 | moduletype = self.get_moduletype(moduletype) |
811 | 120 | if not self.exists(name, version, raise_if_found=True): | 124 | if not self.exists(name, version, raise_if_found=True): |
812 | 121 | page, rev = self.show(name) | 125 | page, rev = self.show(name) |
817 | 122 | if self.gamedep_type == GAME: | 126 | rev = GameDepRevision(version, moduletype) |
814 | 123 | rev = GamesRevision(version, moduletype) | ||
815 | 124 | else: | ||
816 | 125 | rev = DependenciesRevision(version, moduletype) | ||
818 | 126 | page.revisions.append(rev) | 127 | page.revisions.append(rev) |
819 | 127 | transaction.commit() | 128 | transaction.commit() |
820 | 128 | 129 | ||
821 | @@ -172,12 +173,8 @@ | |||
822 | 172 | 173 | ||
823 | 173 | def show_binary(self, binaryid): | 174 | def show_binary(self, binaryid): |
824 | 174 | try: | 175 | try: |
831 | 175 | if self.gamedep_type == GAME: | 176 | bin_obj = DBSession.query(GameDepBinary).filter_by( |
832 | 176 | bin_obj = DBSession.query(GamesBinary).filter_by( | 177 | id=binaryid).one() |
827 | 177 | id=binaryid).one() | ||
828 | 178 | else: | ||
829 | 179 | bin_obj = DBSession.query(DependenciesBinary).filter_by( | ||
830 | 180 | id=binaryid).one() | ||
833 | 181 | except NoResultFound: | 178 | except NoResultFound: |
834 | 182 | raise GameDepNotFound | 179 | raise GameDepNotFound |
835 | 183 | return bin_obj | 180 | return bin_obj |
836 | @@ -201,14 +198,8 @@ | |||
837 | 201 | aio = AlchemyIO(fle=binary, sess=DBSession, | 198 | aio = AlchemyIO(fle=binary, sess=DBSession, |
838 | 202 | mime=mimetype, filename=filename) | 199 | mime=mimetype, filename=filename) |
839 | 203 | aio_obj = aio.write() | 200 | aio_obj = aio.write() |
846 | 204 | 201 | bin_obj = GameDepBinary(aio_obj, os_obj, arch_obj) | |
841 | 205 | if self.gamedep_type == GAME: | ||
842 | 206 | bin_obj = GamesBinary(aio_obj, os_obj, arch_obj) | ||
843 | 207 | else: | ||
844 | 208 | bin_obj = DependenciesBinary(aio_obj, os_obj, arch_obj) | ||
845 | 209 | |||
847 | 210 | rev.binary.append(bin_obj) | 202 | rev.binary.append(bin_obj) |
848 | 211 | |||
849 | 212 | transaction.commit() | 203 | transaction.commit() |
850 | 213 | 204 | ||
851 | 214 | def update_binary(self, name, revision, binaryid, operatingsystem, | 205 | def update_binary(self, name, revision, binaryid, operatingsystem, |
852 | @@ -272,10 +263,12 @@ | |||
853 | 272 | """ | 263 | """ |
854 | 273 | name = unicode(name) | 264 | name = unicode(name) |
855 | 274 | dep_id = int(dep_id) | 265 | dep_id = int(dep_id) |
857 | 275 | 266 | gamedeptype = DBSession.query(GameDepType).filter_by( | |
858 | 267 | name=u"dep").one() | ||
859 | 276 | try: | 268 | try: |
862 | 277 | dep = DBSession.query(DependenciesPage).filter_by( | 269 | dep = DBSession.query(GameDepPage).filter_by( |
863 | 278 | id=dep_id).one() | 270 | gamedeptype_id=gamedeptype.id, |
864 | 271 | deleted=False, id=dep_id).one() | ||
865 | 279 | except NoResultFound: | 272 | except NoResultFound: |
866 | 280 | raise GameDepNotFound | 273 | raise GameDepNotFound |
867 | 281 | 274 | ||
868 | @@ -334,11 +327,11 @@ | |||
869 | 334 | """ | 327 | """ |
870 | 335 | name = unicode(name) | 328 | name = unicode(name) |
871 | 336 | try: | 329 | try: |
877 | 337 | if self.gamedep_type == GAME: | 330 | gamedeptype = self.get_gamedeptype() |
878 | 338 | page = DBSession.query(GamesPage).filter_by(name=name).one() | 331 | page = DBSession.query(GameDepPage).filter_by( |
879 | 339 | else: | 332 | name=name, |
880 | 340 | page = DBSession.query(DependenciesPage).filter_by( | 333 | gamedeptype_id=gamedeptype.id, |
881 | 341 | name=name).one() | 334 | deleted=False).one() |
882 | 342 | except NoResultFound: | 335 | except NoResultFound: |
883 | 343 | return False | 336 | return False |
884 | 344 | 337 | ||
885 | @@ -413,7 +406,10 @@ | |||
886 | 413 | return archlist | 406 | return archlist |
887 | 414 | 407 | ||
888 | 415 | def dependency_dropdown(self): | 408 | def dependency_dropdown(self): |
890 | 416 | page = DBSession.query(DependenciesPage.id, DependenciesPage.name) | 409 | gamedeptype = DBSession.query(GameDepType).filter_by( |
891 | 410 | name=u"dep").one() | ||
892 | 411 | page = DBSession.query(GameDepPage.id, GameDepPage.name).filter_by( | ||
893 | 412 | deleted=False, gamedeptype_id=gamedeptype.id) | ||
894 | 417 | return page.all() | 413 | return page.all() |
895 | 418 | 414 | ||
896 | 419 | def show(self, name, revision=None): | 415 | def show(self, name, revision=None): |
897 | @@ -429,27 +425,23 @@ | |||
898 | 429 | 425 | ||
899 | 430 | if not revision: | 426 | if not revision: |
900 | 431 | try: | 427 | try: |
907 | 432 | if self.gamedep_type == GAME: | 428 | gamedeptype = self.get_gamedeptype() |
908 | 433 | page = DBSession.query(GamesPage).filter_by( | 429 | page = DBSession.query(GameDepPage).filter_by( |
909 | 434 | name=name).one() | 430 | name=name, |
910 | 435 | else: | 431 | gamedeptype_id=gamedeptype.id, |
911 | 436 | page = DBSession.query(DependenciesPage).filter_by( | 432 | deleted=False).one() |
906 | 437 | name=name).one() | ||
912 | 438 | return (page, None) | 433 | return (page, None) |
913 | 439 | except NoResultFound: | 434 | except NoResultFound: |
914 | 440 | raise GameDepNotFound | 435 | raise GameDepNotFound |
915 | 441 | else: | 436 | else: |
916 | 442 | try: | 437 | try: |
927 | 443 | if self.gamedep_type == GAME: | 438 | gamedeptype = self.get_gamedeptype() |
928 | 444 | page = DBSession.query(GamesPage).filter_by( | 439 | page = DBSession.query(GameDepPage).filter_by( |
929 | 445 | name=name).one() | 440 | name=name, |
930 | 446 | rev = DBSession.query(GamesRevision).filter_by( | 441 | gamedeptype_id=gamedeptype.id, |
931 | 447 | id=revision).one() | 442 | deleted=False).one() |
932 | 448 | else: | 443 | rev = DBSession.query(GameDepRevision).filter_by( |
933 | 449 | page = DBSession.query(DependenciesPage).filter_by( | 444 | id=revision).one() |
924 | 450 | name=name).one() | ||
925 | 451 | rev = DBSession.query(DependenciesRevision).filter_by( | ||
926 | 452 | id=revision).one() | ||
934 | 453 | if not rev in page.revisions: | 445 | if not rev in page.revisions: |
935 | 454 | raise GameDepNotFound | 446 | raise GameDepNotFound |
936 | 455 | 447 | ||
937 | 456 | 448 | ||
938 | === modified file 'hypernucleusserver/hypernucleusserver/viewlib/outputlib.py' | |||
939 | --- hypernucleusserver/hypernucleusserver/viewlib/outputlib.py 2011-06-19 17:05:44 +0000 | |||
940 | +++ hypernucleusserver/hypernucleusserver/viewlib/outputlib.py 2011-06-21 20:38:13 +0000 | |||
941 | @@ -1,7 +1,8 @@ | |||
946 | 1 | from hypernucleusserver.models import DBSession, GamesPage, DependenciesPage | 1 | from hypernucleusserver.models import DBSession |
947 | 2 | from hypernucleusserver.models import NoResultFound, GamesPicture, Files | 2 | from sqlalchemy.orm.exc import NoResultFound |
948 | 3 | from hypernucleusserver.models import GamesBinary, DependenciesBinary | 3 | from hypernucleusserver.model.gamedep import GameDepPage, GameDepType |
949 | 4 | from xml.etree.ElementTree import Element, SubElement, ElementTree, tostring | 4 | from hypernucleusserver.model.file import Files |
950 | 5 | from xml.etree.ElementTree import Element, SubElement, tostring | ||
951 | 5 | import json | 6 | import json |
952 | 6 | 7 | ||
953 | 7 | class FileNotFound(Exception): | 8 | class FileNotFound(Exception): |
954 | @@ -62,8 +63,12 @@ | |||
955 | 62 | uploadurl = self.uploadurl | 63 | uploadurl = self.uploadurl |
956 | 63 | sess = DBSession | 64 | sess = DBSession |
957 | 64 | root = Element("hypernucleus") | 65 | root = Element("hypernucleus") |
960 | 65 | dbgame = sess.query(GamesPage).all() | 66 | gametype = sess.query(GameDepType).filter_by(name="game").one() |
961 | 66 | dbdependency = sess.query(DependenciesPage).all() | 67 | deptype = sess.query(GameDepType).filter_by(name="dep").one() |
962 | 68 | dbgame = sess.query(GameDepPage).filter_by( | ||
963 | 69 | gamedeptype_id=gametype.id, deleted=False).all() | ||
964 | 70 | dbdep = sess.query(GameDepPage).filter_by( | ||
965 | 71 | gamedeptype_id=deptype.id, deleted=False).all() | ||
966 | 67 | for dbitem in dbgame: | 72 | for dbitem in dbgame: |
967 | 68 | game = SubElement(root, "game") | 73 | game = SubElement(root, "game") |
968 | 69 | SubElement(game, "name").text = dbitem.display_name | 74 | SubElement(game, "name").text = dbitem.display_name |
969 | @@ -82,7 +87,7 @@ | |||
970 | 82 | dependency = SubElement(game, "dependency") | 87 | dependency = SubElement(game, "dependency") |
971 | 83 | SubElement(dependency, "modulename").text = dbdepitem.name | 88 | SubElement(dependency, "modulename").text = dbdepitem.name |
972 | 84 | SubElement(dependency, "version").text = "1" #str(dbdepitem.version) | 89 | SubElement(dependency, "version").text = "1" #str(dbdepitem.version) |
974 | 85 | for dbitem in dbdependency: | 90 | for dbitem in dbdep: |
975 | 86 | if countobj(dbitem.revisions) > 0: | 91 | if countobj(dbitem.revisions) > 0: |
976 | 87 | for binary in dbitem.revisions[0].binary: | 92 | for binary in dbitem.revisions[0].binary: |
977 | 88 | dependency = SubElement(root, "dependency") | 93 | dependency = SubElement(root, "dependency") |
978 | @@ -102,9 +107,12 @@ | |||
979 | 102 | 107 | ||
980 | 103 | def show_new_xml(self): | 108 | def show_new_xml(self): |
981 | 104 | root = Element("hypernucleus") | 109 | root = Element("hypernucleus") |
985 | 105 | game = DBSession.query(GamesPage).filter_by(deleted=False).all() | 110 | gametype = DBSession.query(GameDepType).filter_by(name="game").one() |
986 | 106 | dep = DBSession.query(DependenciesPage).filter_by( | 111 | deptype = DBSession.query(GameDepType).filter_by(name="dep").one() |
987 | 107 | deleted=False).all() | 112 | game = DBSession.query(GameDepPage).filter_by( |
988 | 113 | gamedeptype_id=gametype.id, deleted=False).all() | ||
989 | 114 | dep = DBSession.query(GameDepPage).filter_by( | ||
990 | 115 | gamedeptype_id=deptype.id, deleted=False).all() | ||
991 | 108 | for gamedep in [game, dep]: | 116 | for gamedep in [game, dep]: |
992 | 109 | for item in gamedep: | 117 | for item in gamedep: |
993 | 110 | if gamedep == game: | 118 | if gamedep == game: |
994 | @@ -150,9 +158,12 @@ | |||
995 | 150 | """ | 158 | """ |
996 | 151 | root = [] | 159 | root = [] |
997 | 152 | key = None | 160 | key = None |
1001 | 153 | game = DBSession.query(GamesPage).filter_by(deleted=False).all() | 161 | gametype = DBSession.query(GameDepType).filter_by(name="game").one() |
1002 | 154 | dep = DBSession.query(DependenciesPage).filter_by( | 162 | deptype = DBSession.query(GameDepType).filter_by(name="dep").one() |
1003 | 155 | deleted=False).all() | 163 | game = DBSession.query(GameDepPage).filter_by( |
1004 | 164 | gamedeptype_id=gametype.id, deleted=False).all() | ||
1005 | 165 | dep = DBSession.query(GameDepPage).filter_by( | ||
1006 | 166 | gamedeptype_id=deptype.id, deleted=False).all() | ||
1007 | 156 | for gamedep in [game, dep]: | 167 | for gamedep in [game, dep]: |
1008 | 157 | if gamedep == game: | 168 | if gamedep == game: |
1009 | 158 | key = "game" | 169 | key = "game" |
1010 | 159 | 170 | ||
1011 | === modified file 'hypernucleusserver/hypernucleusserver/viewlib/userlib.py' | |||
1012 | --- hypernucleusserver/hypernucleusserver/viewlib/userlib.py 2010-12-11 20:46:28 +0000 | |||
1013 | +++ hypernucleusserver/hypernucleusserver/viewlib/userlib.py 2011-06-21 20:38:13 +0000 | |||
1014 | @@ -1,4 +1,6 @@ | |||
1016 | 1 | from hypernucleusserver.models import DBSession, User, NoResultFound | 1 | from hypernucleusserver.models import DBSession |
1017 | 2 | from sqlalchemy.orm.exc import NoResultFound | ||
1018 | 3 | from hypernucleusserver.model.auth import User | ||
1019 | 2 | 4 | ||
1020 | 3 | class UserNotFound(Exception): | 5 | class UserNotFound(Exception): |
1021 | 4 | pass | 6 | pass |
1022 | 5 | 7 | ||
1023 | === modified file 'hypernucleusserver/hypernucleusserver/views/errwarninfo.py' | |||
1024 | --- hypernucleusserver/hypernucleusserver/views/errwarninfo.py 2010-12-07 23:25:07 +0000 | |||
1025 | +++ hypernucleusserver/hypernucleusserver/views/errwarninfo.py 2011-06-21 20:38:13 +0000 | |||
1026 | @@ -1,9 +1,12 @@ | |||
1027 | 1 | import json | 1 | import json |
1028 | 2 | from pyramid.url import route_url | 2 | from pyramid.url import route_url |
1029 | 3 | from string import Template | 3 | from string import Template |
1032 | 4 | from hypernucleusserver.models import DBSession, ErrWarnInfoInfo, NoResultFound | 4 | from hypernucleusserver.models import DBSession |
1033 | 5 | from hypernucleusserver.models import ErrWarnInfoError, ErrWarnInfoWarn | 5 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoInfo |
1034 | 6 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoError | ||
1035 | 7 | from hypernucleusserver.model.errwarninfo import ErrWarnInfoWarn | ||
1036 | 6 | from pyramid.httpexceptions import HTTPFound | 8 | from pyramid.httpexceptions import HTTPFound |
1037 | 9 | from sqlalchemy.orm.exc import NoResultFound | ||
1038 | 7 | 10 | ||
1039 | 8 | notexisterr = u"errwarninfo_notexist" | 11 | notexisterr = u"errwarninfo_notexist" |
1040 | 9 | jsonerr = u"errwarninfo_json" | 12 | jsonerr = u"errwarninfo_json" |
1041 | 10 | 13 | ||
1042 | === modified file 'hypernucleusserver/hypernucleusserver/views/gamedep.py' | |||
1043 | --- hypernucleusserver/hypernucleusserver/views/gamedep.py 2011-06-17 19:53:18 +0000 | |||
1044 | +++ hypernucleusserver/hypernucleusserver/views/gamedep.py 2011-06-21 20:38:13 +0000 | |||
1045 | @@ -1,10 +1,7 @@ | |||
1046 | 1 | from hypernucleusserver.viewlib.userlib import UserLib | 1 | from hypernucleusserver.viewlib.userlib import UserLib |
1047 | 2 | from hypernucleusserver.viewlib.gamedeplib import GameDepLib, GameDepNotFound | 2 | from hypernucleusserver.viewlib.gamedeplib import GameDepLib, GameDepNotFound |
1053 | 3 | from hypernucleusserver.viewlib.helpers import error_redirect, get_username | 3 | from hypernucleusserver.viewlib.helpers import error_redirect |
1054 | 4 | from pyramid.httpexceptions import HTTPFound, HTTPNotFound | 4 | from pyramid.exceptions import NotFound |
1050 | 5 | from pyramid.exceptions import Forbidden, NotFound | ||
1051 | 6 | from pyramid.url import route_url | ||
1052 | 7 | from pyramid.security import has_permission | ||
1055 | 8 | from colander import MappingSchema, SchemaNode, String, Decimal, OneOf | 5 | from colander import MappingSchema, SchemaNode, String, Decimal, OneOf |
1056 | 9 | from deform import ValidationFailure, Form, FileData | 6 | from deform import ValidationFailure, Form, FileData |
1057 | 10 | from deform.widget import TextAreaWidget, TextInputWidget, RadioChoiceWidget, \ | 7 | from deform.widget import TextAreaWidget, TextInputWidget, RadioChoiceWidget, \ |
1058 | @@ -47,12 +44,12 @@ | |||
1059 | 47 | pageid = request.matchdict.get('pageid') | 44 | pageid = request.matchdict.get('pageid') |
1060 | 48 | 45 | ||
1061 | 49 | try: | 46 | try: |
1063 | 50 | dbpage, dbrevision = g.show(pageid) | 47 | dbpage = g.show(pageid)[0] |
1064 | 51 | dbdescription = dbpage.description | 48 | dbdescription = dbpage.description |
1065 | 52 | dbname = dbpage.name | 49 | dbname = dbpage.name |
1066 | 53 | dbdisplay_name = dbpage.display_name | 50 | dbdisplay_name = dbpage.display_name |
1067 | 54 | except GameDepNotFound: | 51 | except GameDepNotFound: |
1069 | 55 | dbpage, dbrevision = (None, None) | 52 | dbpage = None |
1070 | 56 | dbdescription = u"" | 53 | dbdescription = u"" |
1071 | 57 | dbname = u"" | 54 | dbname = u"" |
1072 | 58 | dbdisplay_name = u"" | 55 | dbdisplay_name = u"" |