Example #1
0
def post(id):
    logging.warn(id)
    post, user = load_post_by_id(id)

    if post.deleted:
        return render_base_template("post_deleted.html",
                                    post=post,
                                    post_user=user)
    else:
        post_replies = load_post_replies(
            id, current_user.id if not current_user.is_anonymous else None)
        return render_base_template("post.html",
                                    post=post,
                                    post_user=user,
                                    replies=post_replies)
Example #2
0
def user_profile(nick, module=None):
    active_module = 'timeline'

    if module is not None:
        active_module = module if module in [
            'timeline', 'projects', 'discussions'
        ] else active_module

    _ = get_profile_by_nick(nick)
    following_user = False

    if _ is not None:
        user, followers, following = _
        if not current_user.is_anonymous:
            follower_ids = [f.get('id') for f in followers]

            if current_user.id in follower_ids:
                following_user = True

    else:
        return abort(404)

    return render_base_template("user_profile.html",
                                profile=user,
                                followers=followers,
                                following=following,
                                following_user=following_user,
                                module=active_module)
Example #3
0
def discuss_topic_ctrl(slug):
    #response = make_response("ok")
    id = topic_slug_to_id(slug)
    discussions = load_discussions_by_topic_id(id, slug)
    topics = load_topics()
    return render_base_template('discuss.html',
                                discussions=discussions,
                                topics=topics)
Example #4
0
def profile():
    """Returns profile of the current logged in user"""
    user_data = load_user(current_user.id, current_user)
    if user_data is not None:
        user, followers, following = user_data

        return render_base_template("profile.html",
                                    profile=user,
                                    followers=followers,
                                    following=following,
                                    os_projects=[])

    return abort(404)
Example #5
0
def index():
    list_type = request.args.get("list", 'top')

    links = get_reddit_top_python_articles(list_type=list_type)
    kwargs = {
        'links': sorted(links, key=lambda x: x.get("popularity"),
                        reverse=True),
        'btn_hot': 'disabled' if list_type == 'hot' else '',
        'btn_new': 'disabled' if list_type == 'new' else '',
        'btn_top': 'disabled' if list_type == 'top' else '',
    }

    return render_base_template("index.html", **kwargs)
Example #6
0
def discussion_ctrl(id, slug=None):

    discussion_data = load_discussion(id, current_user_id())
    discussion, disc_posts, message, counters, disc_user = discussion_data
    related_discussions = load_discussions()

    return render_base_template(
        "discussion.html",
        discussion=discussion,
        message=message,
        discussion_user=disc_user,
        posts=[],
        counters=counters,
        related_discussions=related_discussions,
    )
Example #7
0
def package_details(package):
    package_obj = Package.query.get(package)
    if package_obj is None:
        return abort(404)

    try:
        description = publish_parts(package_obj.description,
                                    writer_name='html')['html_body']
    except:
        description = package_obj.description
        #description = markdown( package.description, autolink=True)

    return render_base_template("package.html",
                                package=package_obj,
                                description=description)
Example #8
0
def os_list():
    logging.warn("Running OS LIST")
    path = request.path
    if "open-source" in path:
        canonical = None
    else:
        canonical = "http://pythonhackers.com/open-source/"

    projects = OpenSourceProject.query.filter(
        and_(OpenSourceProject.lang == 0, OpenSourceProject.hide
             is not True)).order_by(
                 OpenSourceProject.watchers.desc()).limit(400)

    return render_base_template("os_list.html",
                                projects=projects,
                                canonical=canonical)
Example #9
0
def os(nick, project):
    """Display the details of a open source project"""
    project = project[:-1] if project[-1] == "/" else project
    logging.info(u"looking for %s", project)
    slug = u"%s/%s" % (nick, project)
    project_data = load_project(slug, current_user)

    if project_data is None:
        return "Not found", 404

    project, related_projects, followers = project_data

    return render_base_template(
        "os.html",
        project=project,
        related_projects=related_projects,
        followers=followers,
    )
Example #10
0
def user():
    """Seems redundant, /profile and /user/<nick takes care of the job"""
    return render_base_template("user.html", user=current_user)
Example #11
0
def login():
    return render_base_template('authenticate.html')
Example #12
0
def timeline():
    return render_base_template("timeline.html")
Example #13
0
def channel(name):
    channel_name = name
    load_channel(name)
    if name == 'lobby':
        channel_name = "Lobby"
    return render_base_template("channel.html", channel_name=channel_name)
Example #14
0
def logout():
    logout_user()
    return render_base_template("logout.html")
Example #15
0
def coding():
    return render_base_template("coding.html")
Example #16
0
def main():
    if current_user.is_anonymous():
        return render_base_template("welcome.html")
    else:
        return redirect('/home')
Example #17
0
def post_replies(id):
    logging.warn(id)
    post, user = load_post_by_id(id)
    return render_base_template("post.html", post=post, post_user=user)
Example #18
0
def package_list():
    packages = Package.query.order_by(Package.mdown.desc()).limit(1000)

    return render_base_template("packages.html", packages=packages)
Example #19
0
def project_categories():
    projects = OpenSourceProject.query.filter(OpenSourceProject.categories.contains(["Web Framework"])) \
        .order_by(OpenSourceProject.watchers.desc()).limit(400)

    return render_base_template("os_list.html", projects=projects)
Example #20
0
def index():
    discussions = load_discussions()
    topics = load_topics()
    return render_base_template('discuss.html',
                                discussions=discussions,
                                topics=topics)
Example #21
0
def new_message():
    return render_base_template("new_message.html")
Example #22
0
def about():
    return render_base_template("about.html")
Example #23
0
def welcome():
    return render_base_template("welcome.html")