Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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
    }
Ejemplo n.º 4
0
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}
Ejemplo n.º 5
0
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)),