Exemplo n.º 1
0
def download_dataset():
    if 'username' in session:

        labels = Labels.query.all()

        tweets = {}
        for label in labels:
            tweets[label.tweet_id] = {
                "labels": {},
                "tweet":
                Tweet.query.filter_by(instance_id=label.tweet_id).all()[0].text
            }

        for label in labels:
            tweets[label.tweet_id]["labels"][label.user_id] = label.sentiment

        print(tweets)

        return render_template("download_dataset.html",
                               user=UserClass.get_user(session["username"]),
                               session=session,
                               labels=labels,
                               tweets=tweets)
    else:
        return "You are not allowed to access this resource"
Exemplo n.º 2
0
def dashboard():
    if 'username' in session:
        return render_template('dashboard.html',
                               user=UserClass.get_user(session["username"]),
                               session=session)
    else:
        return render_template('splash.html')
Exemplo n.º 3
0
def edit_profile():
    if 'username' in session:
        return render_template('edit_profile.html',
                               user=UserClass.get_user(session["username"]),
                               session=session)
    else:
        return render_template('splash.html')
Exemplo n.º 4
0
def charts():
    if 'username' in session:
        return render_template("charts.html",
                               user=UserClass.get_user(session["username"]),
                               session=session)
    else:
        return "You are not allowed to access this resource"
Exemplo n.º 5
0
def label_tweets_get_to_label():
    if 'username' in session:
        tweet = UserClass.get_tweet_to_label(session["username"])
        id = tweet.instance_id
        text = tweet.text
        author = tweet.author
        return {"id": id, "text": text, "author": author}
    else:
        return "You are not allowed to access this resource"
Exemplo n.º 6
0
def users():
    if 'username' in session:
        users = User.query.order_by(User.role.desc()).all()
        return render_template("users.html",
                               users=users,
                               user=UserClass.get_user(session["username"]),
                               session=session)
    else:
        return "You are not allowed to access this resource."
Exemplo n.º 7
0
def number_stats():
    if 'username' in session:
        all_labels = Labels.query.all()

        ID = 0
        SENTIMENT = 1
        USER = 2

        # TALLIES
        tally_by_user = {1: {}, 2: {}, 3: {}}
        for label in all_labels:
            tally_by_user[label.user_id][label.tweet_id] = label.sentiment

        # COHEN'S KAPPA
        minv = min([
            len(tally_by_user[1]),
            len(tally_by_user[2]),
            len(tally_by_user[1])
        ])
        y1 = list(tally_by_user[1].values())[0:minv]
        y2 = list(tally_by_user[2].values())[0:minv]
        y3 = list(tally_by_user[3].values())[0:minv]

        ratings = [y1, y2, y3]

        label_counts = {
            1: len(tally_by_user[1]),
            2: len(tally_by_user[2]),
            3: len(tally_by_user[3])
        }

        matrix = np.zeros((minv, 5))

        for i in range(minv):
            for j in range(len(ratings)):
                rating = ratings[j][i]
                matrix[i][rating] += 1

        kappa = fleiss_kappa(matrix)

        import pprint as pp

        cm = []

        return render_template("number_stats.html",
                               user=UserClass.get_user(session["username"]),
                               session=session,
                               label_counts=label_counts,
                               kappa=kappa,
                               kappa_count=minv,
                               cm=cm,
                               names=list(sent_names.values()))
    else:
        return "You are not allowed to access this resource"
Exemplo n.º 8
0
def edit_label():
    if 'username' in session:
        id = request.args.get("id")
        tweet = Tweet.query.filter_by(instance_id=id).all()[0]
        text = tweet.text
        author = tweet.author

        return render_template("edit_label.html",
                               user=UserClass.get_user(session["username"]),
                               session=session,
                               id=id,
                               author=author,
                               text=text)
    else:
        return "You are not allowed to access this resource"
Exemplo n.º 9
0
def view_tweets():
    if 'username' in session:
        page = request.args.get("page", "1")
        page_size = 10
        query = Tweet.query
        qstr = request.args.get("q", "")
        print(qstr)
        dq = query
        if len(qstr) > 0:
            middle = Tweet.text.like('% ' + qstr + ' %')
            first = Tweet.text.like(qstr + ' %')
            last = Tweet.text.like(qstr + ' %')

            from sqlalchemy import or_
            query = query.filter(or_(middle, first, last))
            dq = query

        query = query.order_by(Tweet.author.asc())

        if page_size:
            query = query.limit(page_size)
        if page:
            query = query.offset((int(page) - 1) * page_size)

        tweets = query.all()
        tweet_count = dq.count()

        return render_template("view_tweets.html",
                               qstr=qstr,
                               tweets=tweets,
                               tweet_count=tweet_count,
                               user=UserClass.get_user(session["username"]),
                               session=session,
                               page=page)
    else:
        return "You are not allowed to access this resource"