Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/153798
Change subject: Remove UserRepository
......................................................................
Remove UserRepository
Change-Id: I9318b18847b84827eaf1b0be348f2ad23de18d73
---
M quarry/web/app.py
M quarry/web/models/user.py
2 files changed, 7 insertions(+), 27 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/analytics/quarry/web
refs/changes/98/153798/1
diff --git a/quarry/web/app.py b/quarry/web/app.py
index 5dc19a8..010e92c 100644
--- a/quarry/web/app.py
+++ b/quarry/web/app.py
@@ -1,5 +1,5 @@
from flask import Flask, render_template, redirect, session, g, request,
url_for, Response
-from models.user import UserRepository, User
+from models.user import User
from models.query import Query
from models.queryrevision import QueryRevision
from models.queryrun import QueryRun
@@ -28,9 +28,9 @@
)
-def get_user(user_repository):
+def get_user():
if 'user_id' in session:
- user = user_repository.get_by_id(session['user_id'])
+ user = g.session.query(User).filter(User.id ==
session['user_id']).one()
else:
user = None
return user
@@ -43,10 +43,9 @@
# Initialise repositories.
Session = sessionmaker(bind=g.conn.db_engine)
session = Session()
- g.user_repository = UserRepository(session)
g.session = session
- g.user = get_user(g.user_repository)
+ g.user = get_user()
@app.teardown_request
@@ -81,10 +80,11 @@
session['acces_token'] = access_token
identity = handshaker.identify(access_token)
wiki_uid = identity['sub']
- user = g.user_repository.get_by_wiki_uid(wiki_uid)
+ user = g.session.query(User).filter(User.wiki_uid == wiki_uid).one()
if user is None:
user = User(username=identity['username'], wiki_uid=wiki_uid)
- g.user_repository.save(user)
+ g.session.add(user)
+ g.session.commit()
session['user_id'] = user.id
return_to_url = session.get('return_to_url')
del session['request_token']
diff --git a/quarry/web/models/user.py b/quarry/web/models/user.py
index db1eabc..789d9cf 100644
--- a/quarry/web/models/user.py
+++ b/quarry/web/models/user.py
@@ -10,23 +10,3 @@
username = Column(Unicode(255))
wiki_uid = Column(Integer)
queries = relationship('Query', backref='user')
-
-
-class UserRepository:
- def __init__(self, session):
- self.session = session
-
- def get_by_id(self, id):
- return self.session.query(User).filter_by(id=id).first()
-
- def get_by_wiki_uid(self, wiki_uid):
- return self.session.query(User).filter_by(wiki_uid=wiki_uid).first()
-
- def save(self, user):
- self.session.add(user)
-
- # Persist the new user immediately.
- self.session.commit()
-
- def get_by_username(self, username):
- return self.session.query(User).filter_by(username=username).first()
--
To view, visit https://gerrit.wikimedia.org/r/153798
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9318b18847b84827eaf1b0be348f2ad23de18d73
Gerrit-PatchSet: 1
Gerrit-Project: analytics/quarry/web
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits