示例#1
0
文件: app.py 项目: rmoorman/progcom
def comment(id):
    comment = request.values.get('comment').strip()
    if comment:
        l.add_to_discussion(request.user.id, id, comment, feedback=False)
    return render_template('discussion_snippet.html', 
            unread = l.is_unread(request.user.id, id),
            discussion = l.get_discussion(id))
示例#2
0
文件: app.py 项目: aldeka/progcom
def feedback(id):
    comment = request.values.get("feedback").strip()
    redir = redirect(url_for("screening", id=id))
    if not comment:
        flash("Empty comment")
        return redir
    l.add_to_discussion(request.user.id, id, comment, feedback=True)
    return redir
示例#3
0
文件: app.py 项目: rmoorman/progcom
def feedback(id):
    if CUTOFF_FEEDBACK:
        abort(404)
    comment = request.values.get('feedback').strip()
    if comment:
        l.add_to_discussion(request.user.id, id, comment, feedback=True)
    return render_template('discussion_snippet.html', 
            unread = l.is_unread(request.user.id, id),
            discussion = l.get_discussion(id))
示例#4
0
def feedback(id):
    if CUTOFF_FEEDBACK:
        abort(404)
    comment = request.values.get('feedback').strip()
    if comment:
        l.add_to_discussion(request.user.id, id, comment, feedback=True)
    return render_template('discussion_snippet.html', 
            unread = l.is_unread(request.user.id, id),
            discussion = l.get_discussion(id))
示例#5
0
def main():
    lt.transact()
    emails = ['user{}@example.com'.format(n) for n in range(50)]
    for e in emails[:25]:
        uid = l.add_user(e, '{} Person'.format(e.split('@')[0]), 'abc123')
        l.approve_user(uid)


    for n in range(6):
        l.add_standard(words(3, 10)[:50])

    user_ids = [x.id for x in l.list_users()]
    standards = [x.id for x in l.get_standards()]
    
    proposal_ids = []
    for n in range(200):
        prop_id = n*2
        data = {'id': prop_id, 'authors': [{'email': random.choice(emails),
                                        'name': 'Speaker Name Here'}],
                'title': words(3,8).title(),
                'category': words(1,2),
                'duration': '30 minutes',
                'description': ipsum(4),
                'audience': ipsum(1),
                'audience_level': 'Novice',
                'notes': ipsum(2),
                'objective': ipsum(1),
                'recording_release': bool(random.random() > 0.05),
                'abstract': ipsum(1),
                'outline': ipsum(5)+"\n[test](http://www.google.com/)\n",
                'additional_notes': ipsum(1),
                'additional_requirements': ipsum(1)}
        l.add_proposal(data)
        proposal_ids.append(prop_id)

        if random.randint(0, 3) == 0:
            for n in range(random.randint(1, 10)):
                l.add_to_discussion(random.choice(user_ids), prop_id, ipsum(1))

        if random.randint(0, 2) == 0:
            for n in range(random.randint(1, 5)):
                vote = {k:random.randint(0, 2) for k in standards}
                l.vote(random.choice(user_ids), prop_id, vote)

        if random.randint(0, 3) == 0:
            data['description'] = 'UPDATED ' + ipsum(4)
            l.add_proposal(data)


    random.shuffle(proposal_ids)

    proposal_ids = proposal_ids[:70]
    for n in range(0, len(proposal_ids), 5):
        l.create_group(words(2,4).title(),
                proposal_ids[n:n+5])
示例#6
0
def main():
    lt.transact()
    emails = ["user{}@example.com".format(n) for n in range(50)]
    for e in emails[:25]:
        uid = l.add_user(e, "{} Person".format(e.split("@")[0]), "abc123")
        l.approve_user(uid)

    for n in range(6):
        l.add_standard(words(3, 10)[:50])

    user_ids = [x.id for x in l.list_users()]
    standards = [x.id for x in l.get_standards()]

    proposal_ids = []
    for n in range(200):
        prop_id = n * 2
        data = {
            "id": prop_id,
            "authors": [{"email": random.choice(emails), "name": "Speaker Name Here"}],
            "title": words(3, 8).title(),
            "category": words(1, 2),
            "duration": "30 minutes",
            "description": ipsum(4),
            "audience": ipsum(1),
            "audience_level": "Novice",
            "notes": ipsum(2),
            "objective": ipsum(1),
            "recording_release": bool(random.random() > 0.05),
            "abstract": ipsum(1),
            "outline": ipsum(5) + "\n[test](http://www.google.com/)\n",
            "additional_notes": ipsum(1),
            "additional_requirements": ipsum(1),
        }
        l.add_proposal(data)
        proposal_ids.append(prop_id)

        if random.randint(0, 3) == 0:
            for n in range(random.randint(1, 10)):
                l.add_to_discussion(random.choice(user_ids), prop_id, ipsum(1))

        if random.randint(0, 2) == 0:
            for n in range(random.randint(1, 5)):
                vote = {k: random.randint(0, 2) for k in standards}
                l.vote(random.choice(user_ids), prop_id, vote)

        if random.randint(0, 3) == 0:
            data["notes"] = "UPDATED" + ipsum(2)
            l.add_proposal(data)

    random.shuffle(proposal_ids)

    proposal_ids = proposal_ids[:70]
    for n in range(0, len(proposal_ids), 5):
        l.create_group(words(2, 4).title(), proposal_ids[n : n + 5])
示例#7
0
文件: app.py 项目: themson/progcom
def author_post_feedback(key):
    name, id = l.check_author_key(key)
    if not name:
        return render_template('bad_feedback_key.html')
    message = request.values.get('message', '').strip()
    redir = redirect(url_for('author_feedback', key=key)) 
    if not message:
        flash('Empty message')
        return redir
    l.add_to_discussion(None, id, request.values.get('message'), name=name)
    flash('Your message has been saved!')
    return redir
示例#8
0
文件: app.py 项目: aldeka/progcom
def author_post_feedback(key):
    name, id = l.check_author_key(key)
    if not name:
        return render_template("bad_feedback_key.html")
    message = request.values.get("message", "").strip()
    redir = redirect(url_for("author_feedback", key=key))
    if not message:
        flash("Empty message")
        return redir
    l.add_to_discussion(None, id, request.values.get("message"), name=name)
    flash("Your message has been saved!")
    return redir
示例#9
0
def test_discussion():
    l.add_proposal(data)
    proposal = data['id']

    users = []
    for n in range(10):
        uid = l.add_user('{}@example.com'.format(n), 'name {}'.format(n),
                         'blah')
        l.approve_user(uid)
        users.append(uid)

    l.add_to_discussion(users[0], proposal, 'Lorem ipsum')

    for u in users:
        assert len(l.get_unread(u)) == 0

    assert len(l.get_discussion(proposal)) == 1
    assert l.get_discussion(proposal)[0].body == 'Lorem ipsum'

    l.add_to_discussion(users[-1], proposal, 'dolor sit')
    assert [x.id for x in l.get_unread(users[0])] == [proposal]
    l.add_to_discussion(users[-1], proposal, 'amet, consectetur')
    assert [x.id for x in l.get_unread(users[0])] == [proposal]

    l.mark_read(users[0], proposal)
    for u in users:
        assert len(l.get_unread(u)) == 0

    l.add_to_discussion(users[0], proposal, 'LOREM IPSUM')
    assert l.get_discussion(proposal)[-1].body == 'LOREM IPSUM'
    assert l.get_discussion(proposal)[0].body == 'Lorem ipsum'
示例#10
0
文件: logic_test.py 项目: njl/progcom
def test_discussion():
    l.add_proposal(data)
    proposal = data['id']

    users = []
    for n in range(10):
        uid = l.add_user('{}@example.com'.format(n), 'name {}'.format(n), 'blah')
        l.approve_user(uid)
        users.append(uid)

    l.add_to_discussion(users[0], proposal, 'Lorem ipsum')

    for u in users:
        assert len(l.get_unread(u)) == 0

    assert len(l.get_discussion(proposal)) == 1
    assert l.get_discussion(proposal)[0].body == 'Lorem ipsum'

    l.add_to_discussion(users[-1], proposal, 'dolor sit')
    assert [x.id for x in l.get_unread(users[0])] == [proposal]
    l.add_to_discussion(users[-1], proposal, 'amet, consectetur')
    assert [x.id for x in l.get_unread(users[0])] == [proposal]

    l.mark_read(users[0], proposal)
    for u in users:
        assert len(l.get_unread(u)) == 0

    l.add_to_discussion(users[0], proposal, 'LOREM IPSUM')
    assert l.get_discussion(proposal)[-1].body == 'LOREM IPSUM'
    assert l.get_discussion(proposal)[0].body == 'Lorem ipsum'
示例#11
0
def test_discussion():
    l.add_proposal(data)
    proposal = data["id"]

    users = []
    for n in range(10):
        uid = l.add_user("{}@example.com".format(n), "name {}".format(n), "blah")
        l.approve_user(uid)
        users.append(uid)

    l.add_to_discussion(users[0], proposal, "Lorem ipsum")

    for u in users:
        assert len(l.get_unread(u)) == 0

    assert len(l.get_discussion(proposal)) == 1
    assert l.get_discussion(proposal)[0].body == "Lorem ipsum"

    l.add_to_discussion(users[-1], proposal, "dolor sit")
    assert [x.id for x in l.get_unread(users[0])] == [proposal]
    l.add_to_discussion(users[-1], proposal, "amet, consectetur")
    assert [x.id for x in l.get_unread(users[0])] == [proposal]

    l.mark_read(users[0], proposal)
    for u in users:
        assert len(l.get_unread(u)) == 0

    l.add_to_discussion(users[0], proposal, "LOREM IPSUM")
    assert l.get_discussion(proposal)[-1].body == "LOREM IPSUM"
    assert l.get_discussion(proposal)[0].body == "Lorem ipsum"
示例#12
0
def main():
    lt.transact()
    emails = ['user{}@example.com'.format(n) for n in range(50)]
    for e in emails[:25]:
        uid = l.add_user(e, '{} Person'.format(e.split('@')[0]), 'abc123')
        l.approve_user(uid)


    """
    for n in range(6):
        l.add_standard(words(3, 10)[:50])
    """
    standards = ["follows PyCon's Code of Conduct",
                "is complete, clearly written, and articulate",
                "has a thorough and achievable outline",
                "has a coherent and primarily technical subject",
                "is about the Python ecosystem",
                "has a sufficient audience among attendees"]
    for s in standards:
        l.add_standard(s)

    user_ids = [x.id for x in l.list_users()]
    standards = [x.id for x in l.get_standards()]
    
    proposal_ids = []
    for n in range(200):
        prop_id = n*2
        data = {'id': prop_id, 'authors': [{'email': random.choice(emails),
                                        'name': 'Speaker Name Here'}],
                'title': words(3,8).title(),
                'category': words(1,2),
                'duration': '30 minutes',
                'description': ipsum(4),
                'audience': ipsum(1),
                'audience_level': 'Novice',
                'notes': ipsum(2),
                'objective': ipsum(1),
                'recording_release': bool(random.random() > 0.05),
                'abstract': ipsum(1),
                'outline': ipsum(5)+"\n[test](http://www.google.com/)\n",
                'additional_notes': ipsum(1),
                'additional_requirements': ipsum(1)}
        l.add_proposal(data)
        proposal_ids.append(prop_id)

        if random.randint(0, 3) == 0:
            for n in range(random.randint(1, 10)):
                l.add_to_discussion(random.choice(user_ids), prop_id, ipsum(1))

        if random.randint(0, 2) == 0:
            for n in range(random.randint(1, 5)):
                vote = {k:random.randint(0, 2) for k in standards}
                l.vote(random.choice(user_ids), prop_id, vote)

        if random.randint(0, 3) == 0:
            data['notes'] = 'UPDATED' + ipsum(2)
            l.add_proposal(data)


    random.shuffle(proposal_ids)

    proposal_ids = proposal_ids[:70]
    for n in range(0, len(proposal_ids), 5):
        l.create_group(words(2,4).title(),
                proposal_ids[n:n+5])