Exemplo n.º 1
0
def maps_author(request, author, page=1):

    mapObject = Maps.objects.filter(author=author.replace("%20", " "))
    mapObject, filter_prepare, selected_filter = misc.map_filter(request, mapObject)

    perPage = 20
    slice_start = perPage*int(page)-perPage
    slice_end = perPage*int(page)

    amount = len(mapObject)
    rowsRange = int(math.ceil(amount/float(perPage)))   # amount of rows
    mapObject = mapObject[slice_start:slice_end]
    if len(mapObject) == 0 and int(page) != 1:
        if request.META['QUERY_STRING']:
            return HttpResponseRedirect("/maps/author/%s/?%s" % (author, request.META['QUERY_STRING']))
        return HttpResponseRedirect("/maps/author/%s/" % author)

    comments = misc.count_comments_for_many(mapObject, 'maps')

    template = loader.get_template('index.html')
    template_args = {
        'content': 'maps_author.html',
        'request': request,
        'title': ' - Maps From ' + author,
        'maps': mapObject,
        'page': int(page),
        'range': [i+1 for i in range(rowsRange)],
        'amount': amount,
        'author': author,
        'comments': comments,

        'filter_prepare': filter_prepare,
        'selected_filter': selected_filter,
    }
    return StreamingHttpResponse(template.render(template_args, request))
Exemplo n.º 2
0
def maps_zip(request):

    mapObject = Maps.objects.filter()
    mapObject, filter_prepare, selected_filter = misc.map_filter(request, mapObject)

    s = BytesIO()
    zf = zipfile.ZipFile(s, "w", zipfile.ZIP_DEFLATED)

    zip_filename = "resource_center_maps.zip"

    for item in mapObject:
        oramap = ""
        item_path = os.getcwd() + '/openra/data/maps/' + str(item.id) + '/'
        try:
            mapDir = os.listdir(item_path)
        except:
            continue
        for filename in mapDir:
            if filename.endswith(".oramap"):
                oramap = filename
                break
        if not oramap:
            continue

        zip_path = "maps/%s/%s.oramap" % (item.game_mod, item.id)

        zf.write(os.path.join(item_path, oramap), zip_path, zipfile.ZIP_DEFLATED)
    zf.close()

    response = HttpResponse(s.getvalue(), content_type='application/x-zip-compressed')
    response['Content-Disposition'] = 'attachment; filename = %s' % zip_filename
    response['Content-Length'] = s.tell()
    return response
Exemplo n.º 3
0
def maps(request, page=1):

    mapObject = Maps.objects.filter()
    mapObject, filter_prepare, selected_filter = misc.map_filter(
        request, mapObject)

    perPage = 20
    slice_start = perPage * int(page) - perPage
    slice_end = perPage * int(page)

    amount = len(mapObject)
    rowsRange = int(math.ceil(amount / float(perPage)))  # amount of rows
    mapObject = mapObject[slice_start:slice_end]
    amount_this_page = len(mapObject)
    if amount_this_page == 0 and int(page) != 1:
        if request.META['QUERY_STRING']:
            return HttpResponseRedirect("/maps/?" +
                                        request.META['QUERY_STRING'])
        return HttpResponseRedirect("/maps/")

    comments = misc.count_comments_for_many(mapObject, 'maps')

    template = loader.get_template('index.html')
    template_args = {
        'content': 'maps.html',
        'request': request,
        'title': ' - Maps',
        'maps': mapObject,
        'page': int(page),
        'range': [i + 1 for i in range(rowsRange)],
        'amount': amount,
        'comments': comments,
        'filter_prepare': filter_prepare,
        'selected_filter': selected_filter,
    }

    if settings.SITE_MAINTENANCE:
        template_args['content'] = 'service/maintenance.html'
        template_args['maintenance_over'] = settings.SITE_MAINTENANCE_OVER

    return StreamingHttpResponse(template.render(template_args, request))
Exemplo n.º 4
0
def maps_uploader(request, arg, page=1):

    mapObject = Maps.objects.filter(user__id=arg)
    if not mapObject:
        HttpResponseRedirect('/maps/')

    mapObject, filter_prepare, selected_filter = misc.map_filter(
        request, mapObject)

    perPage = 20
    slice_start = perPage * int(page) - perPage
    slice_end = perPage * int(page)

    amount = len(mapObject)
    rowsRange = int(math.ceil(amount / float(perPage)))  # amount of rows
    mapObject = mapObject[slice_start:slice_end]
    if len(mapObject) == 0 and int(page) != 1:
        if request.META['QUERY_STRING']:
            return HttpResponseRedirect("/maps/uploader/%s/?%s" %
                                        (arg, request.META['QUERY_STRING']))
        return HttpResponseRedirect("/maps/uploader/%s/" % arg)

    comments = misc.count_comments_for_many(mapObject, 'maps')

    template = loader.get_template('index.html')
    template_args = {
        'content': 'maps_uploader.html',
        'request': request,
        'title': ' - Maps uploaded by ' + mapObject[0].user.username,
        'maps': mapObject,
        'page': int(page),
        'range': [i + 1 for i in range(rowsRange)],
        'amount': amount,
        'uploader': mapObject[0].user.username,
        'arg': arg,
        'comments': comments,
        'filter_prepare': filter_prepare,
        'selected_filter': selected_filter,
    }
    return StreamingHttpResponse(template.render(template_args, request))
Exemplo n.º 5
0
def maps(request, page=1):

    mapObject = Maps.objects.filter()
    mapObject, filter_prepare, selected_filter = misc.map_filter(request, mapObject)

    perPage = 20
    slice_start = perPage*int(page)-perPage
    slice_end = perPage*int(page)

    amount = len(mapObject)
    rowsRange = int(math.ceil(amount/float(perPage)))   # amount of rows
    mapObject = mapObject[slice_start:slice_end]
    amount_this_page = len(mapObject)
    if amount_this_page == 0 and int(page) != 1:
        if request.META['QUERY_STRING']:
            return HttpResponseRedirect("/maps/?" + request.META['QUERY_STRING'])
        return HttpResponseRedirect("/maps/")

    comments = misc.count_comments_for_many(mapObject, 'maps')

    template = loader.get_template('index.html')
    template_args = {
        'content': 'maps.html',
        'request': request,
        'title': ' - Maps',
        'maps': mapObject,
        'page': int(page),
        'range': [i+1 for i in range(rowsRange)],
        'amount': amount,
        'comments': comments,

        'filter_prepare': filter_prepare,
        'selected_filter': selected_filter,
    }

    if settings.SITE_MAINTENANCE:
        template_args['content'] = 'service/maintenance.html'
        template_args['maintenance_over'] = settings.SITE_MAINTENANCE_OVER

    return StreamingHttpResponse(template.render(template_args, request))
Exemplo n.º 6
0
def maps_uploader(request, arg, page=1):

    mapObject = Maps.objects.filter(user__id=arg)
    if not mapObject:
        HttpResponseRedirect('/maps/')

    mapObject, filter_prepare, selected_filter = misc.map_filter(request, mapObject)

    perPage = 20
    slice_start = perPage*int(page)-perPage
    slice_end = perPage*int(page)

    amount = len(mapObject)
    rowsRange = int(math.ceil(amount/float(perPage)))   # amount of rows
    mapObject = mapObject[slice_start:slice_end]
    if len(mapObject) == 0 and int(page) != 1:
        if request.META['QUERY_STRING']:
            return HttpResponseRedirect("/maps/uploader/%s/?%s" % (arg, request.META['QUERY_STRING']))
        return HttpResponseRedirect("/maps/uploader/%s/" % arg)

    comments = misc.count_comments_for_many(mapObject, 'maps')

    template = loader.get_template('index.html')
    template_args = {
        'content': 'maps_uploader.html',
        'request': request,
        'title': ' - Maps uploaded by ' + mapObject[0].user.username,
        'maps': mapObject,
        'page': int(page),
        'range': [i+1 for i in range(rowsRange)],
        'amount': amount,
        'uploader': mapObject[0].user.username,
        'arg': arg,
        'comments': comments,

        'filter_prepare': filter_prepare,
        'selected_filter': selected_filter,
    }
    return StreamingHttpResponse(template.render(template_args, request))
Exemplo n.º 7
0
def maps_zip(request):

    mapObject = Maps.objects.filter()
    mapObject, filter_prepare, selected_filter = misc.map_filter(
        request, mapObject)

    s = BytesIO()
    zf = zipfile.ZipFile(s, "w", zipfile.ZIP_DEFLATED)

    zip_filename = "resource_center_maps.zip"

    for item in mapObject:
        oramap = ""
        item_path = os.path.join(settings.BASE_DIR, 'openra', 'data', 'maps',
                                 str(item.id))
        try:
            mapDir = os.listdir(item_path)
        except:
            continue
        for filename in mapDir:
            if filename.endswith(".oramap"):
                oramap = filename
                break
        if not oramap:
            continue

        zip_path = os.path.join('maps', item.game_mod, '%d.oramap' % item.id)

        zf.write(os.path.join(item_path, oramap), zip_path,
                 zipfile.ZIP_DEFLATED)
    zf.close()

    response = HttpResponse(s.getvalue(),
                            content_type='application/x-zip-compressed')
    response[
        'Content-Disposition'] = 'attachment; filename = %s' % zip_filename
    response['Content-Length'] = s.tell()
    return response
Exemplo n.º 8
0
def maps_author(request, author, page=1):

    mapObject = Maps.objects.filter(author=author.replace("%20", " "))
    mapObject, filter_prepare, selected_filter = misc.map_filter(
        request, mapObject)

    perPage = 20
    slice_start = perPage * int(page) - perPage
    slice_end = perPage * int(page)

    amount = len(mapObject)
    rowsRange = int(math.ceil(amount / float(perPage)))  # amount of rows
    mapObject = mapObject[slice_start:slice_end]
    if len(mapObject) == 0 and int(page) != 1:
        if request.META['QUERY_STRING']:
            return HttpResponseRedirect("/maps/author/%s/?%s" %
                                        (author, request.META['QUERY_STRING']))
        return HttpResponseRedirect("/maps/author/%s/" % author)

    comments = misc.count_comments_for_many(mapObject, 'maps')

    template = loader.get_template('index.html')
    template_args = {
        'content': 'maps_author.html',
        'request': request,
        'title': ' - Maps From ' + author,
        'maps': mapObject,
        'page': int(page),
        'range': [i + 1 for i in range(rowsRange)],
        'amount': amount,
        'author': author,
        'comments': comments,
        'filter_prepare': filter_prepare,
        'selected_filter': selected_filter,
    }
    return StreamingHttpResponse(template.render(template_args, request))