swingmusic/app/periodic_scan.py
geoffrey45 51a5502efc add parsers to clean track titles .ie. remove remaster info
+ use getters to read flags
+ use the largest limit to get recent favorites
+ misc
2023-05-05 17:49:59 +03:00

43 lines
1.1 KiB
Python

"""
This module contains functions for the server
"""
import time
from requests import ReadTimeout
from requests import ConnectionError as RequestConnectionError
from app.logger import log
from app.lib.artistlib import CheckArtistImages
from app.lib.populate import Populate, PopulateCancelledError
from app.utils.generators import get_random_str
from app.utils.network import Ping
from app.utils.threading import background
from app.settings import ParserFlags, get_flag, get_scan_sleep_time
@background
def run_periodic_scans():
"""
Runs periodic scans.
"""
# ValidateAlbumThumbs()
# ValidatePlaylistThumbs()
while get_flag(ParserFlags.DO_PERIODIC_SCANS):
try:
Populate(key=get_random_str())
except PopulateCancelledError:
pass
if Ping()():
try:
CheckArtistImages()
except (RequestConnectionError, ReadTimeout):
log.error(
"Internet connection lost. Downloading artist images stopped."
)
sleep_time = get_scan_sleep_time()
time.sleep(sleep_time)