Пример #1
0
def index(request):
    '''Generate search form'''
    form = GigaPanSearchForm()
    if request.GET:
        return render_response(request, 'scopeserver/gigapan_search.html', {
            'form': form,
            'errors': "No results found",
        })
    return render_response(request, 'scopeserver/gigapan_search.html', {
        'form': form,
    })
Пример #2
0
def index(request):
    '''Generate search form'''
    form = GigaPanSearchForm()
    if request.GET:
        return render_response(request, 'scopeserver/gigapan_search.html', {
            'form': form,
            'errors': "No results found",
        })
    else:
        return render_response(request, 'scopeserver/gigapan_search.html', {
            'form': form,
        })
Пример #3
0
def manage(request):
    if request.method == 'POST':
	form = ManageForm(request.POST)

	if form.is_valid():
	    user = form.cleaned_data['user']
	    user.collection_set = form.cleaned_data['collections']
	    return HttpResponseRedirect("")

    elif request.is_ajax():
	coll = {}
	try:
	    user = request.GET['user']
	    user = User.objects.get(id=user)
	    for c in user.collection_set.all():
		coll[c.id] = 1
	except:
	    pass
	return HttpResponse(simplejson.dumps(coll), mimetype="application/json")
    else:
	form = ManageForm()

    return render_response(request, 'scopeserver/gatekeeper_manage.html', {
	'form': form,
    })
Пример #4
0
def index(request):
    if request.method == 'POST':
	form = MirageForm(request.POST)

	if form.is_valid():
	    paths = form.cleaned_data.get('paths', '').split('\n')
	    paths = [ path.strip() for path in paths ] # trim whitespace
	    paths = [ path for path in paths if path ] # skip empty

	    q = QueryDict('').copy()
	    q.setlist('path', paths)
	    query = q.urlencode()
	    if query: query = "?" + query

	    servers = form.cleaned_data['servers']

	    cookie = []
	    n = len(servers)
	    for i in range(n):
		scope = [ "%s/mirage/%dof%d%s" % \
			  (settings.MIRAGE_DATARETRIEVER, i+1, n, query) ]
		cookie.append(generate_cookie_django(scope, (servers[i],),
		        blaster=getattr(settings, 'MIRAGE_BLASTER', None)))

	    return HttpResponse(''.join(cookie),
				mimetype='application/x-diamond-scope')
    else:
	form = MirageForm()

    return render_response(request, 'scopeserver/simple_form.html', {
	'form': form,
    })
Пример #5
0
def browse(request):
    '''Parse search form, perform search'''
    form = GigaPanSearchForm(request.GET or None)
    if form.is_valid():
        query = form.cleaned_data.get('search')
        if query.isdigit():
            api_url = ('http://api.gigapan.org/beta/gigapans/%d.json' %
                       int(query))
            try:
                # Check that the ID is valid
                urlopen(api_url)
                ids = [query]
            except HTTPError:
                ids = []
        else:
            url = "http://api.gigapan.org/beta/gigapans/page/1/matching/"
            url += "%s/most_popular.json" % quote_plus(query)
            text = str(urlopen(url).read())
            data = json.loads(text)
            ids = [id for id, _ in data[u'items']]

        if ids:
            choiceform = GigaPanChoiceForm(ids=ids)
            return render_response(request, 'scopeserver/gigapan_browse.html',
                                   {'form': choiceform})
        return HttpResponseRedirect(reverse('index') + "?error=True")
    return redirect('index')
Пример #6
0
def manage(request):
    if request.method == 'POST':
        form = ManageForm(request.POST)

        if form.is_valid():
            user = form.cleaned_data['user']
            user.collection_set = form.cleaned_data['collections']
            return HttpResponseRedirect("")

    elif request.is_ajax():
        coll = {}
        try:
            user = request.GET['user']
            user = User.objects.get(id=user)
            for c in user.collection_set.all():
                coll[c.id] = 1
        except:
            pass
        return HttpResponse(simplejson.dumps(coll),
                            mimetype="application/json")
    else:
        form = ManageForm()

    return render_response(request, 'scopeserver/gatekeeper_manage.html', {
        'form': form,
    })
Пример #7
0
def index(request):
    if request.method == 'POST':
        form = CollectionForm(request.POST, user=request.user)

        if form.is_valid():
            cookie = []
            for collection in form.cleaned_data['collections']:
                scope = ["/collection/%s" % collection.gid.replace(':', '')]
                servers = set()
                for server in collection.servers.all():
                    servers.add(server.host)
                cookie.extend(
                    generate_cookie_django(scope,
                                           servers,
                                           blaster=getattr(
                                               settings, 'GATEKEEPER_BLASTER',
                                               None)))

            return HttpResponse(cookie, mimetype='application/x-diamond-scope')
    else:
        form = CollectionForm(user=request.user)

    return render_response(request, 'scopeserver/gatekeeper.html', {
        'form': form,
    })
Пример #8
0
def browse(request):
    '''Parse search form, perform search'''
    form = GigaPanSearchForm(request.GET or None)
    if form.is_valid():
        query = form.cleaned_data.get('search')
        if query.isdigit():
            api_url = ('http://api.gigapan.org/beta/gigapans/%d.json' %
                       int(query))
            try:
                # Check that the ID is valid
                urlopen(api_url)
                ids = [query]
            except HTTPError:
                ids = []
        else:
            url = "http://api.gigapan.org/beta/gigapans/page/1/matching/"
            url += "%s/most_popular.json" % quote_plus(query)
            text = str(urlopen(url).read())
            data = json.loads(text)
            ids = [id for id, info in data[u'items']]

        if ids:
            form = GigaPanChoiceForm(ids=ids)
            return render_response(request, 'scopeserver/gigapan_browse.html',
            {
                'form': form,
            })
        else:
            return HttpResponseRedirect(reverse('index') + "?error=True")
    else:
        return redirect('index')
Пример #9
0
def index(request):
    if request.method == 'POST':
        form = MirageForm(request.POST)

        if form.is_valid():
            paths = form.cleaned_data.get('paths', '').split('\n')
            paths = [path.strip() for path in paths]  # trim whitespace
            paths = [path for path in paths if path]  # skip empty

            q = QueryDict('').copy()
            q.setlist('path', paths)
            query = q.urlencode()
            if query: query = "?" + query

            servers = form.cleaned_data['servers']

            cookie = []
            n = len(servers)
            for i in range(n):
                scope = [ "%s/mirage/%dof%d%s" % \
                   (settings.MIRAGE_DATARETRIEVER, i+1, n, query) ]
                cookie.append(
                    generate_cookie_django(scope, (servers[i], ),
                                           blaster=getattr(
                                               settings, 'MIRAGE_BLASTER',
                                               None)))

            return HttpResponse(''.join(cookie),
                                mimetype='application/x-diamond-scope')
    else:
        form = MirageForm()

    return render_response(request, 'scopeserver/simple_form.html', {
        'form': form,
    })
Пример #10
0
def index(request):
    if request.method == 'POST':
	form = FlickrForm(request.POST)

	if form.is_valid():
	    tags = form.cleaned_data.get('tags', '').split('\n')
	    tags = [ tag.strip() for tag in tags ] # trim whitespace
	    tags = [ tag for tag in tags if tag ] # skip empty

	    tag_mode = form.cleaned_data['tag_mode'] and 'all' or 'any'

	    text = form.cleaned_data.get('text', '')

	    q = QueryDict('').copy()
	    if tags:
		q['tags'] = ','.join(tags)
		q['tag_mode'] = tag_mode
	    if text:
		q['text'] = text
	    query = q.urlencode()

	    scope = [ "/flickr/?%s" % query ]

	    proxies = (form.cleaned_data['proxied'] and
			settings.FLICKR_PROXIES or None)
	    cookie = generate_cookie_django(scope, settings.FLICKR_SERVERS,
					proxies)

	    return HttpResponse(cookie, mimetype='application/x-diamond-scope')
    else:
	form = FlickrForm()

    return render_response(request, 'scopeserver/simple_form.html', {
	'form': form,
    })
Пример #11
0
def index(request):
    if request.method == 'POST':
	form = CollectionForm(request.POST, user=request.user)

	if form.is_valid():
          cookie = []
          for collection in form.cleaned_data['collections']:
              scope = [ "/collection/%s" % collection.gid.replace(':','') ]
              servers = set()
              for server in collection.servers.all():
                  servers.add(server.host)
              cookie.extend(generate_cookie_django(scope, servers))

          return HttpResponse(cookie, mimetype='application/x-diamond-scope')
    else:
	form = CollectionForm(user=request.user)

    return render_response(request, 'scopeserver/gatekeeper.html', {
	'form': form,
    })
Пример #12
0
def index(request):
    if request.method == 'POST':
        form = FlickrForm(request.POST)

        if form.is_valid():
            tags = form.cleaned_data.get('tags', '').split('\n')
            tags = [tag.strip() for tag in tags]  # trim whitespace
            tags = [tag for tag in tags if tag]  # skip empty

            tag_mode = form.cleaned_data['tag_mode'] and 'all' or 'any'

            text = form.cleaned_data.get('text', '')

            q = QueryDict('').copy()
            if tags:
                q['tags'] = ','.join(tags)
                q['tag_mode'] = tag_mode
            if text:
                q['text'] = text
            query = q.urlencode()

            scope = ["/flickr/?%s" % query]

            proxies = (form.cleaned_data['proxied'] and settings.FLICKR_PROXIES
                       or None)
            cookie = generate_cookie_django(scope,
                                            settings.FLICKR_SERVERS,
                                            proxies,
                                            blaster=getattr(
                                                settings, 'FLICKR_BLASTER',
                                                None))

            return HttpResponse(cookie, mimetype='application/x-diamond-scope')
    else:
        form = FlickrForm()

    return render_response(request, 'scopeserver/simple_form.html', {
        'form': form,
    })
Пример #13
0
def index(request):
    return render_response(request, "scopeserver/home.html")
Пример #14
0
def index(request):
    return render_response(request, "scopeserver/home.html")