From 76268544a8ad7ed198c1f3be4adfbc9dc071a041 Mon Sep 17 00:00:00 2001 From: Miguel Ramalho <19508417+msramalho@users.noreply.github.com> Date: Fri, 17 Jun 2022 19:51:24 +0200 Subject: [PATCH] fix datetime issue --- tests/scraper_test.py | 14 +++++++------- vk_url_scraper/scraper.py | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/scraper_test.py b/tests/scraper_test.py index 33f5d99..c314098 100644 --- a/tests/scraper_test.py +++ b/tests/scraper_test.py @@ -11,7 +11,7 @@ vks = None def test_login_fail(): - with pytest.raises(Exception) as exc_info: + with pytest.raises(Exception): VkScraper("invalid", "combination") @@ -32,7 +32,7 @@ def test_scrape_wall_url_with_text_only(): res[0]["text"] == "[https://vk.com/wall-1_394596|Ранее] мы писали о жизненном цикле версий: vk.com/dev/constant_version_updates. Например, от поддержки версии API 5.50 должны были отказаться 1 сентября прошлого года, а от версии 5.80 — 14 октября. \n\nОбстоятельства сложились иначе — время отказаться от старых версий пришло только сейчас.\n\nС 19 августа 2021 года закончится срок жизни версий ниже 5.41.\nС 26 августа 2021 года перестанут поддерживаться версии ниже 5.61.\nСо 2 сентября 2021 года прекратится поддержка версий ниже 5.81.\n\nПожалуйста, успейте подготовиться к изменениям и убедиться, что в ваших приложениях ничего не сломается. Напомним, что с повышением версии у запросов может измениться формат ответов. Обо всех таких изменениях мы пишем [https://vk.com/dev/versions|здесь]." ) - assert str(res[0]["datetime"]) == str(datetime.datetime(2021, 8, 6, 13, 32, 26)) + assert str(res[0]["datetime"]) == str(datetime.datetime(2021, 8, 6, 11, 32, 26)) assert len(res[0]["attachments"]) == 0 @@ -44,7 +44,7 @@ def test_scrape_wall_url_with_one_photo(): res[0]["text"] == "Делимся расписанием конкурса [https://vk.com/wall-1_399468|«Код Петербурга»]. Все важные этапы — на одной схеме \n\nЕсли участвуете, обязательно сохраните себе. Так будет удобнее планировать работу над проектом, и вы точно не упустите лучший момент для отправки сервиса на модерацию." ) - assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 6, 8, 13, 42)) + assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 6, 8, 11, 42)) assert len(res[0]["attachments"]) == 1 assert len(res[0]["attachments"].keys()) == 1 assert list(res[0]["attachments"].keys()) == ["photo"] @@ -58,7 +58,7 @@ def test_scrape_wall_url_with_photos(): res[0]["text"] == "Хабаровск\nАллея героев\nПомолимся об укокоении воинов:\nАлександра, Игоря, Эдуарда, \nДионисия, Евгения, Александра, Артемия, Иннокентия, Андрея." ) - assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 6, 15, 12, 37, 24)) + assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 6, 15, 10, 37, 24)) assert len(res[0]["payload"]) == 16 assert len(res[0]["attachments"].keys()) == 1 assert list(res[0]["attachments"].keys()) == ["photo"] @@ -70,7 +70,7 @@ def test_scrape_wall_url_with_photos_inner_videos_and_links_with_inner_photos(): assert len(res) == 1 assert res[0]["id"] == "wall-17315087_74182" assert res[0]["text"] == "" - assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 3, 24, 12, 1, 9)) + assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 3, 24, 11, 1, 9)) assert len(res[0]["payload"]) == 15 assert len(res[0]["attachments"].keys()) == 3 assert_equal_lists(list(res[0]["attachments"].keys()), ["photo", "link", "video"]) @@ -87,7 +87,7 @@ def test_scrape_photo_only(): res[0]["text"] == "Делимся расписанием конкурса [https://vk.com/wall-1_399468|«Код Петербурга»]. Все важные этапы — на одной схеме \n\nЕсли участвуете, обязательно сохраните себе. Так будет удобнее планировать работу над проектом, и вы точно не упустите лучший момент для отправки сервиса на модерацию." ) - assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 6, 7, 11, 43)) + assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 6, 7, 9, 43)) assert len(res[0]["payload"]) == 15 assert len(res[0]["attachments"].keys()) == 1 assert list(res[0]["attachments"].keys()) == ["photo"] @@ -98,7 +98,7 @@ def test_scrape_video_only(): res = vks.scrape("https://vk.com/video38556806_456251917?list=ba2b77043648ff3789") assert len(res) == 1 assert res[0]["id"] == "video38556806_456251917" - assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 3, 24, 6, 42, 38)) + assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 3, 24, 5, 42, 38)) assert len(res[0]["payload"]) == 31 assert len(res[0]["attachments"].keys()) == 1 assert list(res[0]["attachments"].keys()) == ["video"] diff --git a/vk_url_scraper/scraper.py b/vk_url_scraper/scraper.py index e4d2774..da0088e 100644 --- a/vk_url_scraper/scraper.py +++ b/vk_url_scraper/scraper.py @@ -127,7 +127,7 @@ class VkScraper: { "id": f'wall{item["owner_id"]}_{item["id"]}', "text": item.get("text", ""), - "datetime": datetime.fromtimestamp(item.get("date", 0)), + "datetime": datetime.utcfromtimestamp(item.get("date", 0)), "attachments": dict(attachments), "payload": item, } @@ -161,7 +161,7 @@ class VkScraper: { "id": f'video{item["owner_id"]}_{item["id"]}', "text": item.get("title", ""), - "datetime": datetime.fromtimestamp(item.get("date", 0)), + "datetime": datetime.utcfromtimestamp(item.get("date", 0)), "attachments": { "video": [item.get("player", "")], }, @@ -194,7 +194,7 @@ class VkScraper: { "id": f'photo{item["owner_id"]}_{item["id"]}', "text": item.get("text", ""), - "datetime": datetime.fromtimestamp(item.get("date", 0)), + "datetime": datetime.utcfromtimestamp(item.get("date", 0)), "attachments": {"photo": [item["orig_photo"]["url"]]}, "payload": item, }