From b5cb1fba0debb5df7e5aea6bb069c6e3f130dba5 Mon Sep 17 00:00:00 2001 From: Maxim Smolskiy Date: Mon, 25 Mar 2024 23:54:11 +0300 Subject: [PATCH] Enable ruff DTZ005 rule (#11327) * Enable ruff DTZ005 rule * Fix other/gauss_easter.py * Fix * Fix web_programming/instagram_pic.py * Fix web_programming/instagram_video.py * Apply suggestions from code review * Update instagram_pic.py * datetime.now(tz=UTC).astimezone() * .astimezone() * Fix --------- Co-authored-by: Christian Clauss --- other/gauss_easter.py | 4 ++-- pyproject.toml | 1 - web_programming/instagram_pic.py | 4 ++-- web_programming/instagram_video.py | 4 ++-- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/other/gauss_easter.py b/other/gauss_easter.py index 7ccea7f5..8c8c37c9 100644 --- a/other/gauss_easter.py +++ b/other/gauss_easter.py @@ -55,6 +55,6 @@ def gauss_easter(year: int) -> datetime: if __name__ == "__main__": - for year in (1994, 2000, 2010, 2021, 2023): - tense = "will be" if year > datetime.now().year else "was" + for year in (1994, 2000, 2010, 2021, 2023, 2032, 2100): + tense = "will be" if year > datetime.now(tz=UTC).year else "was" print(f"Easter in {year} {tense} {gauss_easter(year)}") diff --git a/pyproject.toml b/pyproject.toml index 09093433..5187491e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,6 @@ lint.ignore = [ # `ruff rule S101` for a description of that rule "B904", # Within an `except` clause, raise exceptions with `raise ... from err` -- FIX ME "B905", # `zip()` without an explicit `strict=` parameter -- FIX ME - "DTZ005", # The use of `datetime.datetime.now()` without `tzinfo` argument is not allowed -- FIX ME "E741", # Ambiguous variable name 'l' -- FIX ME "EM101", # Exception must not use a string literal, assign to variable first "EXE001", # Shebang is present but file is not executable" -- FIX ME diff --git a/web_programming/instagram_pic.py b/web_programming/instagram_pic.py index 2630c865..2d987c17 100644 --- a/web_programming/instagram_pic.py +++ b/web_programming/instagram_pic.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import UTC, datetime import requests from bs4 import BeautifulSoup @@ -36,7 +36,7 @@ def download_image(url: str) -> str: if not image_data: return f"Failed to download the image from {image_url}." - file_name = f"{datetime.now():%Y-%m-%d_%H:%M:%S}.jpg" + file_name = f"{datetime.now(tz=UTC).astimezone():%Y-%m-%d_%H:%M:%S}.jpg" with open(file_name, "wb") as out_file: out_file.write(image_data) return f"Image downloaded and saved in the file {file_name}" diff --git a/web_programming/instagram_video.py b/web_programming/instagram_video.py index 243cece1..1f1b0e29 100644 --- a/web_programming/instagram_video.py +++ b/web_programming/instagram_video.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import UTC, datetime import requests @@ -11,7 +11,7 @@ def download_video(url: str) -> bytes: if __name__ == "__main__": url = input("Enter Video/IGTV url: ").strip() - file_name = f"{datetime.now():%Y-%m-%d_%H:%M:%S}.mp4" + file_name = f"{datetime.now(tz=UTC).astimezone():%Y-%m-%d_%H:%M:%S}.mp4" with open(file_name, "wb") as fp: fp.write(download_video(url)) print(f"Done. Video saved to disk as {file_name}.")