Exemplo n.º 1
0
def new_profile(request):
    if request.method == 'GET':
        form = ScraperProfileForm()
    elif request.method == 'POST':

        if request.META['HTTP_ACCEPT'] == 'application/json':
            items = request.POST.items()
            data = json.loads(items[0][0])
            profile = ScraperProfile(name=data['name'],
                    url=data['url'],
                    template=data['template'],
                    keywords_text=data['keywords'],
                    user=request.user)
            profile.save()
            profile_dict = {'id': profile.pk,
                    'name': profile.name,
                    'url': profile.url,
                    'template': profile.template,
                    'keywords': profile.keywords}
            response = json.dumps(profile_dict)
            return HttpResponse(response, mimetype='application/json')

        else:
            form = ScraperProfileForm(request.POST)
            if form.is_valid():
                data = form.data
                profile = ScraperProfile(name=data['name'],
                        url=data['url'],
                        template=data['template'],
                        keywords_text=data['keywords'],
                        user=request.user)
                profile.save()
                return redirect('scraper:home')
            else:
                pass
    return render_to_response('scraper/new_profile.html',
                              {'form': form, 'action': 'create'},
            context_instance=RequestContext(request))
Exemplo n.º 2
0
def update_profile(request, profile_id):
    profile = ScraperProfile.objects.get(pk=profile_id)
    if request.method == 'GET':
        data = {'name': profile.name,
                'url': profile.url,
                'template': profile.template, 
                'keywords': profile.keywords_text}
        form = ScraperProfileForm(data)
    elif request.method == 'POST':
        form = ScraperProfileForm(request.POST)
        if form.is_valid():
            data = form.data

            profile.name = data.name
            profile.url = data.url
            profile.template = data.template
            profile.keywords_text = data.keywords
            profile.save()
            return redirect('scraper:home')
        else:
            pass
    return render_to_response('scraper/new_profile.html',
                              {'form': form, 'action': 'edit'},
            context_instance=RequestContext(request))