def version_page(request): """ Get platform version """ # update latest version from pypi response # from label_studio.core.utils.common import check_for_the_latest_version # check_for_the_latest_version(print_message=False) result = collect_versions(force=True) # other settings from backend if not request.user.is_superuser: for root in result: result[root].pop('message', None) else: result['settings'] = { key: str(getattr(settings, key)) for key in dir(settings) if not key.startswith('_') } # html / json response if request.path == '/version/': result = json.dumps(result, indent=2) return HttpResponse('<pre>' + result + '</pre>') else: return JsonResponse(result)
def version_page(request): """ Get platform version """ # update latest version from pypi response # from label_studio.core.utils.common import check_for_the_latest_version # check_for_the_latest_version(print_message=False) http_page = request.path == '/version/' result = collect_versions(force=http_page) # html / json response if request.path == '/version/': # other settings from backend if request.user.is_superuser: result['settings'] = { key: str(getattr(settings, key)) for key in dir(settings) if not key.startswith('_') and not hasattr(getattr(settings, key), '__call__') } result = json.dumps(result, indent=2) result = result.replace('},', '},\n').replace('\\n', ' ').replace('\\r', '') return HttpResponse('<pre>' + result + '</pre>') else: return JsonResponse(result)
def settings(request): """ Make available django settings on each template page """ versions = collect_versions() # django templates can't access names with hyphens versions['lsf'] = versions.get('label-studio-frontend', {}) versions['lsf']['commit'] = versions['lsf'].get('commit', 'none')[0:6] versions['backend'] = {} if 'label-studio-os-backend' in versions: versions['backend']['commit'] = versions[ 'label-studio-os-backend'].get('commit', 'none')[0:6] if 'label-studio-enterprise-backend' in versions: versions['backend']['commit'] = versions[ 'label-studio-enterprise-backend'].get('commit', 'none')[0:6] if 'dm2' in versions: versions['dm2']['commit'] = versions['dm2'].get('commit', 'none')[0:6] feature_flags = {} if hasattr(request, 'user'): feature_flags = all_flags(request.user) return { 'settings': django_settings, 'versions': versions, 'feature_flags': feature_flags }
def settings(request): """ Make available django settings on each template page """ versions = collect_versions() # django templates can't access names with hyphens versions['lsf'] = versions.get('label-studio-frontend', {}) versions['lsf']['commit'] = versions['lsf'].get('commit', 'none')[0:6] if 'backend' in versions: versions['backend']['commit'] = versions['backend'].get( 'commit', 'none')[0:6] return {'settings': django_settings, 'versions': versions}
from django.conf.urls import include from django.contrib import admin from django.urls import path, re_path from django.views.generic.base import RedirectView from drf_yasg import openapi from drf_yasg.views import get_schema_view from rest_framework.permissions import AllowAny from core import views from core.utils.static_serve import serve from core.utils.common import collect_versions handler500 = 'core.views.custom_500' versions = collect_versions() schema_view = get_schema_view( openapi.Info(title="Label Studio API", default_version='v' + versions['release'], contact=openapi.Contact(url="https://labelstud.io"), x_logo={"url": "../../static/icons/logo-black.svg"}), public=True, permission_classes=(AllowAny, ), ) urlpatterns = [ re_path(r'^$', views.main, name='main'), re_path( r'^favicon\.ico$', RedirectView.as_view(url='/static/images/favicon.ico', permanent=True)),