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()

                path = str(BASE_DIR + '/' + post.image.url)

                client = ImgurClient(YOUR_CLIENT_ID, YOUR_CLIENT_SECRET)
                post.image_url = client.upload_from_path(path,
                                                         anon=True)['link']
                post.save()

                model = app.models.get(api.values()[1])
                response = model.predict_by_url(
                    url=client.upload_from_path(path, anon=True)['link'])
                if response["outputs"][0]["data"]["concepts"][0]['name'] == "symbol" or \
                                response["outputs"][0]["data"]["concepts"][0]['name'] == "illustration":
                    post.interest = 'logo'
                elif response["outputs"][0]["data"]['concepts'][0][
                        'name'] == 'bike':
                    post.interest = 'bike'
                elif any(response["outputs"][0]["data"]['concepts'][0]['name']
                         in s for s in vec):
                    post.interest = 'vehicles'
                elif any(response["outputs"][0]["data"]['concepts'][0]['name']
                         in s for s in tra):
                    post.interest = 'traveling'
                else:
                    post.interest = 'others'
                post.save()
                return redirect('/feed/', {'drop': drop})

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