O
O
Oleksandr Serbinov2021-06-26 08:34:03
Python
Oleksandr Serbinov, 2021-06-26 08:34:03

What needs to be changed in the code so that the telegram bot displays news from the dictionary by falling date with the sorted method?

I parsed news from a vape news site, created a json dictionary, when a user clicks on a button, a list of news is displayed, but not the most recent ones go first, I decided to sort using the sorted method, and so that only the last 5 are displayed, but now the bot displays not even in order, but in scatter news

БОТ
import datetime
import json
import logging

from aiogram.types import CallbackQuery

from keyboards.inline.callback_datas import section_callback
from loader import dp

# from aiogram.utils.markdown import hitalic


@dp.callback_query_handler(section_callback.filter(section_name='section_news'))
async def show_news(call: CallbackQuery, callback_data: dict):
    await call.answer(cache_time=60)
    logging.info(f'call={callback_data}')
    with open('news_dict_vape.json') as file:
        news_dict_vape = json.load(file)

    for k, v in sorted(news_dict_vape.items())[-5:]:
        news = f"<b>{datetime.datetime.fromtimestamp(v['article_date_timestamp'])}</b>\n" \
               f"{v['article_url']}" \
            # f"{v['article_desc']}\n" \
        # f"<u>{v['article_title']}</u>\n"
        await call.message.answer(news)

СЛОВАРЬ НОВОСТЕЙ
{
    "promoobzor---suorin-air-pro-pod-kit": {
        "article_date_timestamp": 1624601673.0,
        "article_title": "Промообзор - Suorin Air Pro Pod kit",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/25/promoobzor---suorin-air-pro-pod-kit.html",
        "article_desc": "Героем завершающего нашу промоакцию обзора стала еще одна pod-система, которая как нельзя лучше..."
    },
    "reload-essential-mod-pafosnyy-konstruktor": {
        "article_date_timestamp": 1624601646.0,
        "article_title": "Reload Essential mod - \"пафосный\" конструктор...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/25/reload-essential-mod-pafosnyy-konstruktor.html",
        "article_desc": "Ну, а на десерт у нас гость так и вовсе экзотический – новый трубомод компании Reload vapor...."
    },
    "geekvape-obelisk-200-kit---dyuzhe-kompaktnyy-flagman": {
        "article_date_timestamp": 1624601623.0,
        "article_title": "GeekVape Obelisk 200 kit - дюже компактный флагман...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/25/geekvape-obelisk-200-kit---dyuzhe-kompaktnyy-flagman.html",
        "article_desc": "Обзоры новинок электронного парения"
    },
    "poschupaem-univapo-miso-pod": {
        "article_date_timestamp": 1624541073.0,
        "article_title": "Пощупаем??? - Univapo Miso POD...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/24/poschupaem-univapo-miso-pod.html",
        "article_desc": "Продолжаем изучать продукцию «не на шутку раскрутившегося» бренда Univapo. Сегодня у нас в гостях..."
    },
    "promoobzor---suorin-ace--pod-kit": {
        "article_date_timestamp": 1624525111.0,
        "article_title": "Промообзор - Suorin ACE  POD kit",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/24/promoobzor---suorin-ace--pod-kit.html",
        "article_desc": "Продолжаем наш цикл промообзоров на продукцию бренда Suorin. На очереди компактная pod-система,..."
    },
    "squid-industries-double-barrel-v4-mod---uglovataya-dvustvolka": {
        "article_date_timestamp": 1624525086.0,
        "article_title": "Squid Industries Double Barrel V4 mod - угловатая двустволка...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/24/squid-industries-double-barrel-v4-mod---uglovataya-dvustvolka.html",
        "article_desc": "Обзоры новинок электронного парения"
    },
    "broadside-mods-salvo-rda---klassicheski-strogo": {
        "article_date_timestamp": 1624525045.0,
        "article_title": "Broadside Mods Salvo RDA - классически строго...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/24/broadside-mods-salvo-rda---klassicheski-strogo.html",
        "article_desc": "Довольно баловаться подиками и под-модами – прибыла серьезная артиллерия. Сегодня у нас два особо..."
    },
    "poschupaem-univapo-kipo-pod-kit": {
        "article_date_timestamp": 1624463478.0,
        "article_title": "Пощупаем??? - Univapo Kipo POD kit...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/23/poschupaem-univapo-kipo-pod-kit.html",
        "article_desc": "Насладились сигаретниками, надо и честь знать – возвращаемся к подам. Тем более на носу жаркий..."
    },
    "promoobzor---suorin-trio-85-kit": {
        "article_date_timestamp": 1624448764.0,
        "article_title": "Промообзор - Suorin Trio 85 kit",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/23/promoobzor---suorin-trio-85-kit.html",
        "article_desc": "Предлагаем вам небольшой цикл промо-статей, которые будут носить информационный характер. Так..."
    },
    "smoking-vapor-mi-pod-20-pod-system-iz-kvadrata-v-pryamougolnik": {
        "article_date_timestamp": 1624434181.0,
        "article_title": "Smoking Vapor Mi-Pod 2.0 POD system - из квадрата в прямоугольник...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/23/smoking-vapor-mi-pod-20-pod-system-iz-kvadrata-v-pryamougolnik.html",
        "article_desc": "Обзоры новинок электронного парения"
    },
    "uwell-caliburn-koko-prime-vision-pod-kit---novoe-videnie": {
        "article_date_timestamp": 1624434161.0,
        "article_title": "Uwell Caliburn KOKO PRIME Vision POD kit - новое видение...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/23/uwell-caliburn-koko-prime-vision-pod-kit---novoe-videnie.html",
        "article_desc": "Обзоры новинок электронного парения"
    },
    "smok-g-priv-pro-pod-kit---vtoraya-obnovka-na-vneshney-akb": {
        "article_date_timestamp": 1624351658.0,
        "article_title": "SMOK G-PRIV PRO POD kit - вторая обновка на внешней АКБ...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/22/smok-g-priv-pro-pod-kit---vtoraya-obnovka-na-vneshney-akb.html",
        "article_desc": "Обзоры новинок электронного парения"
    },
    "smok-g-priv-pod-kit-uglovatyy-avtonomnyy-novobranec": {
        "article_date_timestamp": 1624351630.0,
        "article_title": "SMOK G-PRIV POD kit - угловатый, автономный новобранец...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/22/smok-g-priv-pod-kit-uglovatyy-avtonomnyy-novobranec.html",
        "article_desc": "Обзоры новинок электронного парения"
    },
    "poschupaem-auguse-mtl-dtl-v2-rta": {
        "article_date_timestamp": 1624304741.0,
        "article_title": "Пощупаем??? - Auguse MTL / DTL V2 RTA...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/21/poschupaem-auguse-mtl-dtl-v2-rta.html",
        "article_desc": "Продолжаем тему любимых вами сигаретников, и снова у меня на столе продукция бренда Auguse. Как..."
    },
    "geekvape-z-rda---privet-ot-zevsa": {
        "article_date_timestamp": 1624271174.0,
        "article_title": "GeekVape Z RDA - привет от зевса...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/21/geekvape-z-rda---privet-ot-zevsa.html",
        "article_desc": "На закуску у нас событие незаурядное – новый обслуживаемый атомайзер от бренда GeekVape...."
    },
    "aspire-pockex-box-kit---starter-stik": {
        "article_date_timestamp": 1624271152.0,
        "article_title": "Aspire PockeX Box kit - стартер стик...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/21/aspire-pockex-box-kit---starter-stik.html",
        "article_desc": "Открывает раздел новостей сегодня пока неизданная новинка одного из самых плодовитых брендов –..."
    },
    "poschupaem-auguse-era-pro-rta": {
        "article_date_timestamp": 1624207889.0,
        "article_title": "Пощупаем??? - Auguse ERA PRO RTA...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/20/poschupaem-auguse-era-pro-rta.html",
        "article_desc": "Сегодня обзор, которого вы вероятно ждали. А все потому что, что пилотный проект бренда Auguse –..."
    },
    "aspire-minican-pod-kit-melkiy-kalibr": {
        "article_date_timestamp": 1624084944.0,
        "article_title": "Aspire minican+ POD kit - мелкий калибр...",
        "article_url": "https://vapenews.ru/product-innovations/2021/06/19/aspire-minican-pod-kit-melkiy-kalibr.html",
        "article_desc": "Второй наш гость имеет сходный конструктив, небольшой вес и естественно компактные габариты –..."
    }
}

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alan Gibizov, 2021-06-26
@phaggi

If we are talking about the commented out sorted(list), then in my opinion it does not sort inplace. It should return a sorted list. And in general any iterable object.
The inplace list sorts the list.sort() method, in my opinion
, and you can specify the sorting direction in the parameters of the function and the method reverse=True

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question