ADD datetime treatment.

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

@ -2,10 +2,8 @@
Bot commands.
"""
import logging
from datetime import datetime
from random import choice
import pytz
from discord import Embed, Intents
from discord.ext import commands
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)
from utils.machine_monitor import Monitor
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
client = commands.Bot(command_prefix='--', intents=Intents.all())
@ -345,18 +343,9 @@ async def news(bot: object, *options: str) -> None:
return
for new in news:
try:
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
dt = datetime_to_string(new['publishedAt'])
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=new['title'], value=new['description'], inline=False)
embed.add_field(name='---', value='---')

@ -1,9 +1,42 @@
"""
Tools module.
"""
import logging
from datetime import datetime
import pytz
logger = logging.getLogger(__name__)
def kbytes_to_gbytes(value: float) -> str:
"""
Transform Kb into Gb.
"""
_value = value / (1024 ** 3)
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