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)
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)
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)
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)
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)
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, )
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)
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)
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, )
def user(): """Seems redundant, /profile and /user/<nick takes care of the job""" return render_base_template("user.html", user=current_user)
def login(): return render_base_template('authenticate.html')
def timeline(): return render_base_template("timeline.html")
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)
def logout(): logout_user() return render_base_template("logout.html")
def coding(): return render_base_template("coding.html")
def main(): if current_user.is_anonymous(): return render_base_template("welcome.html") else: return redirect('/home')
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)
def package_list(): packages = Package.query.order_by(Package.mdown.desc()).limit(1000) return render_base_template("packages.html", packages=packages)
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)
def index(): discussions = load_discussions() topics = load_topics() return render_base_template('discuss.html', discussions=discussions, topics=topics)
def new_message(): return render_base_template("new_message.html")
def about(): return render_base_template("about.html")
def welcome(): return render_base_template("welcome.html")