mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Full URL for API, more consistent naming, only enabled for staff and better configuration validation
This commit is contained in:
@@ -1,7 +1,4 @@
|
||||
from django.conf import settings as django_settings
|
||||
from packaging import version
|
||||
|
||||
from utilities.versions import get_latest_release
|
||||
|
||||
|
||||
def settings(request):
|
||||
@@ -11,23 +8,3 @@ def settings(request):
|
||||
return {
|
||||
'settings': django_settings,
|
||||
}
|
||||
|
||||
|
||||
def latest_version(request):
|
||||
"""
|
||||
Get the latest version from the GitHub repository
|
||||
"""
|
||||
latest_release, github_url = get_latest_release()
|
||||
|
||||
latest_version_str = None
|
||||
latest_version_url = None
|
||||
if isinstance(latest_release, version.Version):
|
||||
current_version = version.parse(django_settings.VERSION)
|
||||
if latest_release > current_version:
|
||||
latest_version_str = str(latest_release)
|
||||
latest_version_url = github_url
|
||||
|
||||
return {
|
||||
'latest_version': latest_version_str,
|
||||
'latest_version_url': latest_version_url
|
||||
}
|
||||
|
@@ -4,9 +4,9 @@ from django.conf import settings
|
||||
from packaging import version
|
||||
|
||||
|
||||
@cached(timeout=settings.GITHUB_VERSION_TIMEOUT if settings.GITHUB_VERSION_TIMEOUT > 0 else 1)
|
||||
@cached(timeout=settings.GITHUB_CACHE_TIMEOUT, extra=settings.GITHUB_REPOSITORY_API)
|
||||
def get_releases(pre_releases=False):
|
||||
url = 'https://api.github.com/repos/{}/releases'.format(settings.GITHUB_REPOSITORY)
|
||||
url = '{}/releases'.format(settings.GITHUB_REPOSITORY_API)
|
||||
headers = {
|
||||
'Accept': 'application/vnd.github.v3+json',
|
||||
}
|
||||
@@ -27,7 +27,7 @@ def get_releases(pre_releases=False):
|
||||
|
||||
|
||||
def get_latest_release(pre_releases=False):
|
||||
if settings.GITHUB_VERSION_TIMEOUT > 0 and settings.GITHUB_REPOSITORY:
|
||||
if settings.GITHUB_REPOSITORY_API:
|
||||
releases = get_releases(pre_releases)
|
||||
if releases:
|
||||
return max(releases)
|
Reference in New Issue
Block a user