def load_user(user_id): """ Checks if user is logged in (?) """ # @Grey is this docstring correct? if query_user(user_id) is not None: curr_user = User() curr_user.id = user_id return curr_user
def user_transaction_factory(self, user_cursor): """Creates transaction object from mongo cursor""" u = User() u.id = str(user_cursor.get("_id")) u.download_list = user_cursor.get("downloadList") cuttoff_value = timedelta( days=self.config.get('data_download_history')) cuttoff_date = datetime.now() - cuttoff_value counter = 0 try: transaction = {} #e.g {'503a0123b2d700ed1400007b-2013-08-18': ['50a2bca4d789a700ddc7fec1', '50a2bca4d789a700ddc7fec0']} # create a list of downloaded ids for doc in u.download_list: doc_id = str(doc.get('doc_id')) if doc_id: transaction_timestamp = datetime.utcfromtimestamp( int(doc['timestamp'] / 1000 / 86400) * 86400) # check if data is after cutoff date if cuttoff_date > transaction_timestamp: counter += 1 transaction_id = "{0}-{1}".format( u.id, transaction_timestamp.strftime('%Y-%m-%d')) # print('Ignoring ..{0}'.format(transaction_timestamp)) if transaction_id in transaction: transaction[transaction_id].append(doc_id) else: doc_list = [doc_id] transaction = {transaction_id: doc_list} return transaction except TypeError as err: pass
def login(): """ Login page """ form = LoginForm() if form.validate_on_submit(): user = query_user(form.username.data) if user is not None and form.password.data == user['password']: curr_user = User() curr_user.id = form.username.data login_user(curr_user, remember=form.remember_me.data) return redirect(url_for('main')) flash('Invalid username or password') return redirect(url_for('login')) return render_template('log.html', form=form)
def load_user(user_id): """ Checks if user is logged in """ if query_user(user_id) is not None: curr_user = User() curr_user.id = user_id return curr_user
def user_factory(self, user_cursor): """Creates user object from mongo cursor""" u = User() u.id = str(user_cursor.get("_id")) u.download_list = user_cursor.get("downloadList") u.realms = user_cursor.get("realms") u.school_classes = user_cursor.get("schoolclasses") u.subjects_list = user_cursor.get("subjects") u.city = user_cursor.get("city") u.country = user_cursor.get("country") u.area_code = user_cursor.get("areaCode") u.gender = user_cursor.get("gender") u.schools = user_cursor.get("schools") u.school_type_list = [] u.downloads = [] u.download_history = [] # create a clean list of school types for school in u.schools: try: u.school_type_list.append(school["type"].encode('utf-8')) except (KeyError, TypeError, AttributeError) as err: pass try: u.school_type = "|".join(u.school_type_list) except (TypeError, AttributeError) as err: u.school_type = "" try: # create a list of downloaded ids for doc in u.download_list: u.downloads.append(str(doc["doc_id"])) history = { "doc_id": str(doc["doc_id"]), "download_time": datetime.utcfromtimestamp( int(doc['timestamp'] / 1000 / 86400) * 86400) } u.download_history.append(history) except TypeError as err: pass try: temp_sub = [] for subject in u.subjects_list: temp_sub.append(subject.encode('utf-8')) u.subjects = "|".join(temp_sub) tmp_realm = [] for r in u.realms: tmp_realm.append(r) u.realm = " | ".join(tmp_realm) try: tmp_classes = [] for c in u.school_classes: tmp_classes.append(c) u.classes = " | ".join(tmp_classes) except (TypeError) as err: u.classes = '' except (TypeError, AttributeError) as err: pass return u