ADD datetime treatment.

pull/3/head
kevin.caires 3 years ago
parent b6ec9010d5
commit f83618f5cd

@ -2,10 +2,8 @@
Bot commands. Bot commands.
""" """
import logging import logging
from datetime import datetime
from random import choice from random import choice
import pytz
from discord import Embed, Intents from discord import Embed, Intents
from discord.ext import commands from discord.ext import commands
from settings.config import IMAGE_TYPES, OW_API_CONFIG, PERMISSIONS from settings.config import IMAGE_TYPES, OW_API_CONFIG, PERMISSIONS
@ -14,7 +12,7 @@ from utils.database import (count_quotes, get_by_id, get_quote_contains,
get_quotes, remove_quote, set_quote) get_quotes, remove_quote, set_quote)
from utils.machine_monitor import Monitor from utils.machine_monitor import Monitor
from utils.news_paper import News from utils.news_paper import News
from utils.tools import kbytes_to_gbytes from utils.tools import datetime_to_string, kbytes_to_gbytes
from utils.weather import displayweather, getweatherdata from utils.weather import displayweather, getweatherdata
client = commands.Bot(command_prefix='--', intents=Intents.all()) client = commands.Bot(command_prefix='--', intents=Intents.all())
@ -345,18 +343,9 @@ async def news(bot: object, *options: str) -> None:
return return
for new in news: for new in news:
try: dt = datetime_to_string(new['publishedAt'])
dt = datetime.fromisoformat(
new['publishedAt']
).astimezone(pytz.timezone('America/Sao_Paulo'))
except ValueError:
dt = datetime.strptime(new['publishedAt'], '%Y-%m-%dT%H:%M:%Sz')
except Exception as e:
logger.error(e)
continue
embed.add_field(name='Font', value=new['source']['name'], inline=False) embed.add_field(name='Font', value=new['source']['name'], inline=False)
embed.add_field(name='Published at', value=dt.isoformat(), inline=False) embed.add_field(name='Published at', value=dt, inline=False)
embed.add_field(name='Link', value=new['url'], inline=False) embed.add_field(name='Link', value=new['url'], inline=False)
embed.add_field(name=new['title'], value=new['description'], inline=False) embed.add_field(name=new['title'], value=new['description'], inline=False)
embed.add_field(name='---', value='---') embed.add_field(name='---', value='---')

@ -1,9 +1,42 @@
""" """
Tools module. Tools module.
""" """
import logging
from datetime import datetime
import pytz
logger = logging.getLogger(__name__)
def kbytes_to_gbytes(value: float) -> str: def kbytes_to_gbytes(value: float) -> str:
""" """
Transform Kb into Gb. Transform Kb into Gb.
""" """
_value = value / (1024 ** 3) _value = value / (1024 ** 3)
return "{:.2f}".format(_value) return "{:.2f}".format(_value)
def datetime_to_string(_datetime: datetime) -> str:
"""
Transform datetime in string DD/MM/AAAA HH:MM:SS
"""
try:
dt = datetime.fromisoformat(
_datetime
)
except ValueError:
dt = datetime.strptime(
_datetime,
'%Y-%m-%dT%H:%M:%Sz'
)
except Exception as e:
logger.error(e)
return dt
try:
dt = dt.astimezone(pytz.timezone('America/Sao_Paulo'))
except Exception as e:
logger.error(e)
else:
return dt.date().isoformat()

Loading…
Cancel
Save