Exemple #1
0
def admin():
    resp = login_cookies()
    if resp and request.method == "POST":
        title = request.values.get("title")
        content = request.values.get("content")
        Post.new_post(resp[1].name, title, content)
        return redirect(url_for("index"))

    return render_template("admin.html", user=(resp[1] if resp else None))
Exemple #2
0
def read_posts():
    end = False
    print()
    blogs = list_blogs()
    print()
    while end is False:
        answer = input(
            "Insert the ID of the blog to read or input (Q) to quit: ")
        if answer.lower() == "q":
            print("Goodbye!")
            end = True
        else:
            for item in blogs:
                if answer == str(item["id"]):
                    print(f"Opening blog: {item['title']}...\n")
                    posts = Post.get_posts(item["id"])
                    if len(posts) == 0:
                        print(f"No posts found in blog {item['title']}")
                    for p in posts:
                        print(f"POST ID:\t{p['id']}\n"
                              f"AUTHOR:\t{p['author']}\n"
                              f"TITLE:\t{p['title']}\n"
                              f"PUBLISHED:\t{p['date']}\n"
                              f"\n"
                              f"{p['contents']}\n\n")
                    end = True
                    break
            else:
                print(f"Blog ID {answer} not found! Try again.")
    print("Goodbye!")
Exemple #3
0
def write_post(blog):
    print(f"Writing post in blog: {blog['title']}\n")
    title = input("Insert post title: ")
    contents = input("Insert contents: ")
    date = input("Insert date (YYYYMMDD) or leave blank: ")
    if date != "":
        date = datetime.strptime(date, "%Y%m%d")
        post = Post(blog, title, contents, date)
    else:
        post = Post(blog, title, contents)
    post.save()
    print(f"Post {title} has been succesfully saved")
Exemple #4
0
def get_key(self, label):
    data = memcache.get(label)
    if data:
        return data, None
    elif label == 'catalog':
        data = db.GqlQuery('select * from Post order by created desc')
        logging.info('*** Query Query Query ***')
        memcache.set(label, data)
        return data, time.time()
    elif label == 'blog':
        data = db.GqlQuery('select * from Post order by created desc limit 10')
        logging.info('*** Query Query Query ***')
        memcache.set(label, data)
        return data, time.time()
    else:
        data = Post.get_by_id(long(id))
        logging.info('*** Query Query Query ***')
        memcache.set(label, data)
        return data, time.time()
Exemple #5
0
                  github_token=config["github_token"],
                  github_repo=config["github_repo"])
git_mgr.update_master()
git_mgr.create_new_branch()

# Retrieve data
meetup_retriever = Meetup("GCPUGSG")
data = meetup_retriever.get_meetup_list()

changes_detected = False

for item in data:
    created_post_time = datetime.fromtimestamp(item['created'] / 1000)
    event_time = datetime.fromtimestamp(item["time"] / 1000)
    content = meetup_to_markdown(item["description"])
    new_post = Post(item["name"], event_time, item["link"], created_post_time,
                    content)

    filepath = os.path.join(os.curdir, 'gcpugsg', 'content', 'post',
                            new_post.filename)
    previous_file_content = ''
    if os.path.exists(filepath):
        with open(filepath, 'r') as file:
            previous_file_content = file.read()
    if previous_file_content != new_post.render():
        print(
            "Expected output is not the same, re-create blog and save once more"
        )
        with open(filepath, 'w+') as file:
            file.write(new_post.render())
        changes_detected = True
def bind_post(top_list):
    ids = [i[1] for i in top_list]
    rate = [i[0] for i in top_list]
    posts = Post.get_list(id=ids)
    posts = zip(posts, rate)
    return posts
def post_by_user_id(user_id):
    return Post.where(user_id=user_id).col_list(col='id')