Commit 1a34901f021759b2d60a2f9c8ef9eec88f0a01a9
1 parent
ed34db4c
Exists in
master
and in
1 other branch
- add topics from graph to the database
Showing
2 changed files
with
15 additions
and
5 deletions
Show diff stats
app.py
| ... | ... | @@ -33,11 +33,14 @@ class LearnApp(object): |
| 33 | 33 | self.online = {} |
| 34 | 34 | |
| 35 | 35 | # connect to database and check registered students |
| 36 | - self.setup_db('students.db') # FIXME | |
| 36 | + self.db_setup('students.db') # FIXME | |
| 37 | 37 | |
| 38 | 38 | # build dependency graph |
| 39 | 39 | self.build_dependency_graph('demo/config.yaml') # FIXME |
| 40 | 40 | |
| 41 | + # add topics from depgraph to the database | |
| 42 | + self.db_add_topics() | |
| 43 | + | |
| 41 | 44 | # ------------------------------------------------------------------------ |
| 42 | 45 | def login(self, uid, try_pw): |
| 43 | 46 | with self.db_session() as s: |
| ... | ... | @@ -180,9 +183,16 @@ class LearnApp(object): |
| 180 | 183 | self.depgraph = g |
| 181 | 184 | |
| 182 | 185 | # ------------------------------------------------------------------------ |
| 186 | + def db_add_topics(self): | |
| 187 | + with self.db_session() as s: | |
| 188 | + tt = [t[0] for t in s.query(Topic.id).all()] # db list of topics | |
| 189 | + nn = self.depgraph.nodes_iter() # topics in the graph | |
| 190 | + s.add_all([Topic(id=n) for n in nn if n not in tt]) | |
| 191 | + | |
| 192 | + # ------------------------------------------------------------------------ | |
| 183 | 193 | # setup and check database |
| 184 | - def setup_db(self, db): | |
| 185 | - engine = create_engine(f'sqlite:///{db}', echo=False) | |
| 194 | + def db_setup(self, db): | |
| 195 | + engine = create_engine(f'sqlite:///{db}', echo=True) | |
| 186 | 196 | self.Session = sessionmaker(bind=engine) |
| 187 | 197 | try: |
| 188 | 198 | with self.db_session() as s: | ... | ... |