1
0
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:
Sander Steffann
2020-01-26 16:50:15 +01:00
parent 9d66ac4a6a
commit 008fc5623e
8 changed files with 70 additions and 55 deletions

View File

@@ -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
}

View File

@@ -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)