Example #1
0
def create(request):
    try:
        response = json.loads(request.body)
        release = libioc.Release(response['release'])
        jail = libioc.Jail(data=dict(name=response['jail_name']), new=True)
        jail.create(release)
    except (libioc.errors.JailAlreadyExists):
        return JsonResponse(
            {'reason': '%s is already exists' % response['jail_name']},
            status=409)
    return HttpResponse('OK')
Example #2
0
def fetch_releases(request):
    try:
        distribution = libioc.Distribution()
        releases_json = []
        for release in distribution.releases:
            release_dict = OrderedDict([
                ('name', release.name),
                ('fetched', libioc.Release(release.name).fetched)
            ])
            releases_json.append(release_dict)
        response = json.dumps(releases_json)
    except (libioc.errors.IocException):
        return HttpResponse('API Error', status=500)
    return HttpResponse(response)
Example #3
0
def release_download(request):
    try:
        response = json.loads(request.body)
        if response['release'] is None:
            return HttpResponse(
                'release was none. Please selection release version',
                status=500)
        release = libioc.Release(response['release'])
        if release.fetched is True:
            return HttpResponse(
                '%s was already downloaded. Skipping download.' %
                response['release'],
                status=409)
        release.fetch()
    except FileNotFoundError:
        release.destroy()
        return HttpResponse('File Download Error', status=404)
    except (libioc.errors.IocException):
        release.destroy()
        return HttpResponse('API Error', status=500)
    return HttpResponse(response)