2020-02-27 19:36:02 +01:00
|
|
|
import logging
|
2020-01-24 00:15:32 +01:00
|
|
|
|
2020-02-27 19:36:02 +01:00
|
|
|
from cacheops import CacheMiss, cache
|
|
|
|
from django.conf import settings
|
2020-01-24 00:15:32 +01:00
|
|
|
|
2020-02-27 19:36:02 +01:00
|
|
|
from utilities.background_tasks import get_releases
|
2020-01-24 18:06:10 +01:00
|
|
|
|
2020-02-27 19:36:02 +01:00
|
|
|
# Get an instance of a logger
|
|
|
|
logger = logging.getLogger(__name__)
|
2020-01-24 18:06:10 +01:00
|
|
|
|
|
|
|
|
|
|
|
def get_latest_release(pre_releases=False):
|
2020-02-27 18:15:31 +01:00
|
|
|
if settings.UPDATE_REPO_URL:
|
2020-02-27 19:36:02 +01:00
|
|
|
try:
|
|
|
|
releases = cache.get('netbox_releases')
|
|
|
|
if releases:
|
|
|
|
return max(releases)
|
|
|
|
except CacheMiss:
|
|
|
|
logger.debug("Starting background task to get releases")
|
|
|
|
|
|
|
|
# Get the releases in the background worker, it will fill the cache
|
|
|
|
get_releases.delay(pre_releases=pre_releases)
|
2020-01-24 18:06:10 +01:00
|
|
|
|
|
|
|
return 'unknown', None
|