Example #1
0
def post_view(request):
    user = check_validation(request)

    if user:

        if request.method == 'POST':
            form = PostForm(request.POST, request.FILES)
            if form.is_valid():
                image = form.cleaned_data.get('image')
                caption = form.cleaned_data.get('caption')

                post = PostModel(user=user, image=image, caption=caption)
                post.save()

                client = ImgurClient(
                    '0c6d3f3ca84e472',
                    'cd7fc1fabc96a5ade35cdcebcb6b77c3a6f21670')
                path = str(BASE_DIR + '//' + post.image.url)
                post.image_url = client.upload_from_path(path,
                                                         anon=True)['link']
                print(post.image_url)
                post.save()
                app = ClarifaiApp(api_key='c68ba2b17ce44ecdb42d94117d48a4ca')
                model = app.models.get('general-v1.3')
                response = model.predict_by_url(url=post.image_url)

                arr = response['outputs'][0]['data']['concepts']
                print arr
                for i in range(0, 10):
                    category = arr[i]['name']
                    print category
                    if category == 'nature':
                        post.category_post = category

                        break
                    elif category == 'technology':
                        post.category_post = category

                        break
                    elif category == 'food':
                        post.category_post = category
                        break
                    elif category == 'sports':
                        post.category_post = category

                        break
                    elif category == 'vehicle':
                        post.category_post = category

                post.save()

                return redirect('/feed/')
        else:
            form = PostForm()
        return render(request, 'post.html', {'form': form})
    else:
        return redirect('/login/')