コード例 #1
0
ファイル: views.py プロジェクト: mauneel33/CE_130_Mauneel
def report(request):
    # Updating 'reported' field of news in database
    myclient, mydb = get_MongoClient()
    mycol = mydb["news_table"]
    id = request.POST.get('newsid')
    myquery = {"_id": ObjectId(id)}
    newvalues = {"$set": {"Reported": True}}
    mycol.update_one(myquery, newvalues)
    print("\n-------News Id : ", id, "reported successfully!--------\n")

    return HttpResponseRedirect("/home")
コード例 #2
0
ファイル: views.py プロジェクト: mauneel33/CE_130_Mauneel
def delete_news(request):
    if not request.session.get('useremail', None):
        print("user is not logged in")
        c = {}
        c.update(csrf(request))
        return render(request, 'adminlogin.html', c)

    #Deleting news from database
    myclient, mydb = get_MongoClient()
    mycol = mydb["news_table"]
    id = request.POST.get('newsid')
    mycol.delete_one({'_id': ObjectId(id)})
    print("\n-------News Id : ", id, "deleted successfully!--------\n")

    return HttpResponseRedirect('/adminhome')
コード例 #3
0
ファイル: views.py プロジェクト: mauneel33/CE_130_Mauneel
def oldnews(request, hrs):

    #Getting news list from database
    c = {}
    c.update(csrf(request))
    myclient, mydb = get_MongoClient()
    mycol = mydb["news_table"]

    news = mycol.find()
    news_list = []

    for i in news:
        time = i['DateTime']
        current_time = datetime.now()
        #Setting the duration
        duration = (current_time - time).total_seconds()
        i['DateTime'] = int(duration // 60)
        i['id'] = i['_id']

        # Keeping news which were latest by 6 hrs (21600 sec)
        if (duration < (hrs * 3600)):
            news_list.append(i)

    nl_len = len(news_list)

    page = request.GET.get('page', 1)

    #Django Pagination
    paginator = Paginator(news_list, 10)

    try:
        news = paginator.page(page)

    #For first page
    except PageNotAnInteger:
        news = paginator.page(1)

    #For last page
    except EmptyPage:
        news = paginator.page(paginator.num_pages)
    weather_report = get_weather()
    return render(request, 'shownews.html', {
        "news": news,
        "nl_len": nl_len,
        'weather_report': weather_report
    })
コード例 #4
0
ファイル: views.py プロジェクト: mauneel33/CE_130_Mauneel
def login(request):
    useremail = request.POST.get('useremail')
    password = request.POST.get('password')
    myclient, mydb = get_MongoClient()
    mycol = mydb["admin"]
    userobj = mycol.find_one({"useremail": useremail})
    # print(userobj]["password"])
    if userobj is None:
        return render(request, 'adminlogin.html', {'error': login_error})
    else:
        # print(userobj["password"])
        if password == userobj["password"]:
            request.session["useremail"] = useremail
            return HttpResponseRedirect('/adminhome')
        else:
            return render(request, 'adminlogin.html', {'error': login_error})
    return render(request, 'adminlogin.html')
コード例 #5
0
ファイル: views.py プロジェクト: mauneel33/CE_130_Mauneel
def reported(request):
    if not request.session.get('useremail', None):
        print("user is not logged in")
        c = {}
        c.update(csrf(request))
        return render(request, 'adminlogin.html', c)

    #Getting news list from database
    c = {}
    c.update(csrf(request))
    myclient, mydb = get_MongoClient()
    mycol = mydb["news_table"]

    news = mycol.find({'Reported': True})
    news_list = []

    for i in news:
        time = i['DateTime']
        current_time = datetime.now()
        #Setting the duration
        duration = (current_time - time).total_seconds()
        i['DateTime'] = int(duration // 60)
        i['id'] = i['_id']
        news_list.append(i)

    nl_len = len(news_list)

    page = request.GET.get('page', 1)

    #Django Pagination
    paginator = Paginator(news_list, 10)

    try:
        news = paginator.page(page)

    #For first page
    except PageNotAnInteger:
        news = paginator.page(1)

    #For last page
    except EmptyPage:
        news = paginator.page(paginator.num_pages)
    return render(request, 'reported.html', {"news": news, "nl_len": nl_len})
コード例 #6
0
ファイル: views.py プロジェクト: mauneel33/CE_130_Mauneel
def search(request):

    # Getting Search query
    query = request.POST.get('squery')
    # For null query
    if query is None:
        return HttpResponseRedirect("/home")

    myclient, mydb = get_MongoClient()
    mycol = mydb["news_table"]

    # Using MongoDB's Text index for searching on Headline, Content, Category and Source fields
    news = mycol.find({"$text": {"$search": query}})
    news_list = []

    for i in news:
        news_list.append(i)
    nl_len = len(news_list)
    weather_report = get_weather()
    return render(request, 'search.html', {
        "news": news_list,
        "nl_len": nl_len,
        'weather_report': weather_report
    })