Как отсортировать строковые даты, используя datetime, и просмотреть с помощью flaskapp? - PullRequest
0 голосов
/ 19 марта 2019

У меня есть веб-приложение Flask, которое использует PRAW для сбора представлений Reddit и сохранения в коллекции MongoDB. Когда дело доходит до просмотра коллекции, я хотел бы сначала просмотреть по самым последним датам представления, в настоящее время коллекция не просматривается. в любом порядке?

Вот скрипт, который я использую для заполнения моей коллекции MongoDB:

#! usr/bin/env python3
# data_ingestion.py    

import praw
from pymongo import MongoClient
import json
from datetime import datetime
import logging

# setting your local MongoDB instance to a var called MONGO_HOST
MONGO_HOST = 'mongodb://localhost:27017/gm_sandbox'
client = MongoClient(MONGO_HOST)
db = client.gm_sandbox

# setting up PRAW OAuth
reddit = praw.Reddit(client_id='id',\
                 client_secret='client_server',\
                 user_agent='reddit-top-posts',\
                 username='username',\
                 password='password'


# flushing collection before inserting new documents
db.top_reddit_posts.drop()

# filtering PRAW by subreddit
subreddit = reddit.subreddit('datascience').top('week')

# creating document:
for post in subreddit:

    utc_date = post.created_utc
    parsed_date = datetime.utcfromtimestamp(utc_date)

    data = {
        'title': post.title,
        'date': utc_date,
        'date_str': parsed_date.strftime('%Y-%m-%d'),
        'score': post.score,
        'url': post.url,
        'sub': str(post.subreddit),
        'commentsUrl': post.url
        #'author': str(post.author)

    }
    # inserting documents into MongoDB collection.
    db.top_reddit_posts.insert_one(data)

Вот функция, которую я использую, чтобы показать и заказать мою коллекцию:

def all_dates():
dates = posts_get_distinct_items('date_str')

return render_template(
    'all-dates.html',
    dates=reversed(dates) # latest date on top
    )

Приложение показывает список дат для каждого представления Reddit, но даты не отсортированы и находятся в случайных позициях?

несортированные даты отправки

...