def _good_login_html(self): flash("Welcome, %s!" % get_username()) try: redirect_url = session.pop("redirect_url") except KeyError: redirect_url = url_for(".account", username=get_username()) return redirect(redirect_url)
def test_login_then_logout(self): with self.client: self.client.post(url_for('users.login'), data={'username': '******', 'password': '******'}) assert get_username() == 'john' self.client.get(url_for('users.logout')) assert get_username() == 'guest'
def calculate_entailments(dset_name): queue = get_queue() queue.put(json.dumps({ 'request': 'calculate', 'func': 'calculate_entailments', 'args': (dset_name, get_username()) }))
def make_grammar_info(dset_name): queue = get_queue() queue.put(json.dumps({ 'request': 'calculate', 'func': 'make_grammar_info', 'args': (dset_name, get_username()) }))
def _create_dset_for_editing(self): self.dset = Dataset(data=self.form.data, data_is_from_form=True) self.dset.remove_old_files() self.dset.user = get_username() self.dset.name = self._create_temporary_dset_name() self.dset.id = None # to get a new id when saved self.dset.classical = not self.is_submitting_to_all_grammars() self.dset.save()
def get(self, username): if get_username() != username: flash("Log in to view your account") return redirect(url_for("users.login")) else: user = User.objects.get_or_404(username=username) dsets = Dataset.objects(user=user.username) return render_template("account.html", user=user, dsets=dsets)
def _display_global_stats(self): self.username = get_username() self.return_dict.update({ 'need_redirect': False, 'finished': True, 'grammars_exist': True, 'grammar_stat_url': self._grammar_stat_url(), 'html_str': self._global_stats_html() })
def calculate_grammars_and_statistics(dset_name, sort_value): queue = get_queue() classical, page, sort_by = get_url_args() queue.put(json.dumps({ 'request': 'calculate', 'func': 'calculate_grammars_and_statistics', 'args': (dset_name, sort_value, classical, page, get_username(), sort_by) }))
def post(self): data = json.loads(request.data) try: data['apriori_ranking'] = json.dumps(data['apriori_ranking']) except KeyError: data['apriori_ranking'] = '[]' dset = Dataset(data, data_is_from_form=True) dset.user = get_username() try: old_dset = get_dset(dset.name) old_dset.remove_old_files() old_dset.delete() except HTTPException: pass try: dset.save() except: abort(422) return 'successfully saved'
def _create_temporary_dset_name(self): # keep trying strings until you get a unique one temp_name = self._get_temp_name_attempt() while Dataset.objects(name=temp_name, user=get_username()): temp_name = self._get_temp_name_attempt() return temp_name
def wrapper(*args, **kwargs): if get_username() == "guest": return redirect_to_login(kwargs['dset_name']) else: return func(*args, **kwargs)
def test_logged_in(self): with self.client: self.client.post(url_for('users.login'), data={'username': '******', 'password': '******'}) assert get_username() == 'john'
def _cancel_edit_html(self): flash("Canceled editing %s" % self.dset_name) return redirect(url_for("users.account", username=get_username()))
def _change_dset_user(self): dset = get_dset(self.dset_name) dset.user = get_username() dset.save() flash("Saved %s as %s!" % (dset.name, dset.user))
def make_unique_random_dset_name(self): # keep trying until you get something not in the database random_name = self._random_name_attempt() while Dataset.objects(name=random_name, user=get_username()): random_name = self._random_name_attempt() return random_name
def _initialize_dset(self): self.dset = Dataset( data=self.form.data, data_is_from_form=True, user=get_username() ) if not self.dset.name: self.dset.name = self.make_unique_random_dset_name()
def _unsuccessful_copy_html(self): flash("Change the name to make copies.") return redirect(url_for('users.account', username=get_username()))
def test_not_logged_in(self): assert get_username() == 'guest'