diff --git a/services/viewed.py b/services/viewed.py index 33794ab4..5f7c79c2 100644 --- a/services/viewed.py +++ b/services/viewed.py @@ -52,18 +52,6 @@ class ViewedStorage: # Загрузка предварительно подсчитанных просмотров из файла JSON self.load_precounted_views() - if os.path.exists(VIEWS_FILEPATH): - file_timestamp = os.path.getctime(VIEWS_FILEPATH) - self.start_date = datetime.fromtimestamp(file_timestamp).strftime( - '%Y-%m-%d' - ) - now_date = datetime.now().strftime('%Y-%m-%d') - - if now_date == self.start_date: - logger.info(' * Данные актуализованы!') - else: - logger.info(f' * Файл просмотров {VIEWS_FILEPATH} создан: {self.start_date}') - # Запуск фоновой задачи _task = asyncio.create_task(self.worker()) else: @@ -75,12 +63,24 @@ class ViewedStorage: """Загрузка предварительно подсчитанных просмотров из файла JSON""" self = ViewedStorage try: - with open(VIEWS_FILEPATH, 'r') as file: - precounted_views = json.load(file) - self.views_by_shout.update(precounted_views) - logger.info( - f' * {len(precounted_views)} публикаций с просмотрами успешно загружены.' + if os.path.exists(VIEWS_FILEPATH): + file_timestamp = os.path.getctime(VIEWS_FILEPATH) + self.start_date = datetime.fromtimestamp(file_timestamp).strftime( + '%Y-%m-%d' ) + now_date = datetime.now().strftime('%Y-%m-%d') + + if now_date == self.start_date: + logger.info(' * Данные актуализованы!') + else: + logger.info(f' * Файл просмотров {VIEWS_FILEPATH} создан: {self.start_date}') + + with open(VIEWS_FILEPATH, 'r') as file: + precounted_views = json.load(file) + self.views_by_shout.update(precounted_views) + logger.info( + f' * {len(precounted_views)} публикаций с просмотрами успешно загружены.' + ) except Exception as e: logger.error(f'Ошибка загрузки предварительно подсчитанных просмотров: {e}')