コード例 #1
0
ファイル: tests.py プロジェクト: KenThumi/instaapp
 def setUp(self):
     self.user_1 = User.objects.create_user('Chevy Chase',
                                            '*****@*****.**',
                                            'chevyspassword')
     self.profile = Profile(profile_photo='imageurl.png',
                            bio='Lorem ipsum',
                            user=self.user_1)
     self.image = Image(image='newimageurl.png',
                        name='Test Image',
                        caption='Lorem ipsum',
                        profile=self.profile)
コード例 #2
0
ファイル: views.py プロジェクト: Nik118/Flickr
    def get(self, request, format=None):
        group_id = request.query_params.get('group_id')
        url = 'https://api.flickr.com/services/rest/?method=' \
              'flickr.groups.pools.getPhotos&api_key=' \
              '4fb0946eb8e41c0121381f40e772c414&group_id=' \
              '{0}&format=json&nojsoncallback=1'.format(group_id)

        r = requests.get(url)
        if r.status_code == 200:
            res = r.json()
        else:
            raise Exception('An error has occurred')

        res_list = []
        group, created = Group.objects.get_or_create(user=request.user,
                                                     group_id=group_id)

        for image in res['photos']['photo']:
            image_id = image['id']
            title = image['title']
            date = arrow.get(image['dateadded']).datetime
            is_public = True if image['ispublic'] == 1 else False
            is_friend = True if image['isfriend'] == 1 else False
            is_family = True if image['isfamily'] == 1 else False

            # Get URL of the image by image_id
            image_url = 'https://api.flickr.com/services/rest/?method=' \
                        'flickr.photos.getInfo&api_key=' \
                        '4fb0946eb8e41c0121381f40e772c414&' \
                        'photo_id={0}&format=' \
                        'json&nojsoncallback=1'.format(image_id)
            r = requests.get(image_url)
            if r.status_code == 200:
                result = r.json()
            else:
                raise Exception('An error has occurred')

            image_url = result['photo']['urls']['url'][0]['_content']
            description = result['photo']['description']['_content']

            image = Image(group=group, image_id=image_id, title=title,
                          added_date=date, is_public=is_public,
                          is_friend=is_friend, is_family=is_family,
                          image_url=image_url, description=description)
            res_list.append(image)

        Image.objects.bulk_create(res_list, batch_size=50)
        return Response(status=status.HTTP_200_OK)
コード例 #3
0
def module_create(request):
    if request.method == 'POST':
        module_form = ModuleCreateForm(request.POST)
        if module_form.is_valid():
            module_type = module_form.cleaned_data['module_type']
            module = module_form.save(commit=False)
            user = Profile.objects.get(user=request.user)
            print(f'We have a module! {module}')
            print(f'Type is: \'{module_type}\'')
            #extended_form = None
            # NOTE: this is also temporary, use actual module ids
            extended_form = None
            extended_module = None
            if str(module_type) == 'Datetime':
                extended_form = DateForm(request.POST)
            elif str(module_type) == 'Forecast':
                extended_form = ForecastForm(request.POST)
            elif str(module_type) == 'Photos':
                extended_form = PhotosForm(request.POST)
                formset = ImageFormSet(request.POST, request.FILES, queryset=Image.objects.none())
                if extended_form.is_valid() and formset.is_valid():
                    extended_module = extended_form.save(commit=False)
                    for form in formset.cleaned_data:
                        # prevent crashing if the user doesn't upload all the photos
                        if form:
                            image_form = form['image']
                            public = form['public']
                            image = Image(owner=user, photos_module=extended_module, image=image_form, public=public)
                            image.save()
            elif str(module_type) == 'Weather':
                extended_form = WeatherForm(request.POST)
            else:
                pass
            
            # Temporary save the module if it wasn't saved above
            if extended_form.is_valid() and extended_module is None:
                extended_module = extended_form.save(commit=False)
            # Save all data from the form
            if extended_form.is_valid():
                module.owner = user
                module.save()
                extended_module.module = module
                extended_module.save()
            # TODO: complete this
            module_style = get_template('dashboard/includes/module_style.html')
            module_content = get_template('dashboard/includes/module_content.html')
            page_content = get_content(request, module)
            update_method = get_update_method(module)
            module_script = get_template('dashboard/includes/module_script.html')
            context = {
                'id': module.id,
                'type': module.module_type.module_type,
                # NOTE: adding a style tag to head may not work, may need to put this as a 'style' within the div
                # it seems to work, however
                'style': module_style.render({
                    'id': module.id,
                    'type': module.module_type.module_type,
                    'values': {
                        'z-index': module.z_index,
                        'top': module.y,
                        'left': module.x,
                        'color': module.text_color,
                    },
                }),   # Module's style
                'content': module_content.render({
                    'id': module.id,
                    'type': module.module_type.module_type,
                    'content': page_content['content'],
                    'moveable': page_content['moveable'],
                    'ajax': True,
                    'values': {
                        'zindex': module.z_index,
                        'top': module.y,
                        'left': module.x,
                        'color': module.text_color,
                    }
                }), # Module's div
                'values': {
                    'zindex': module.z_index,
                    'top': module.y,
                    'left': module.x,
                    'color': module.text_color,
                    'moveable': page_content['moveable'],
                },
                'script': module_script.render({

                }), # Module's script
                'method': update_method,
            }
            return JsonResponse(context)
            '''
                if dt_form.is_valid():
                    dt = dt_form.save(commit=False)
                    module.owner = user
                    module.save()
                    dt.module = module
                    dt.save()
                    print(f'We have DT module! {dt}')
                else:
                    print('Form was not valid')
            elif str(module_type) == 'Forecast':
                forecast_form = ForecastForm(request.POST)
                if forecast_form.is_valid():
                    forecast = forecast_form.save(commit=False)
                    module.owner = user
                    module.save()
                    forecast.module = module
                    forecast.save()
                    print(f'We have Forecast module! {forecast}')
                else:
                    print('Form was not valid')
            elif str(module_type) == 'Photos':
                photos_form = PhotosForm(request.POST)#, module=module)#, instance=module)
                formset = ImageFormSet(request.POST, request.FILES, queryset=Image.objects.none())
                if photos_form.is_valid() and formset.is_valid():
                    photos = photos_form.save(commit=False)
                    module.owner = user
                    module.save()
                    photos.module = module
                    photos.save()
                    print(f'We have Photos module! {photos}')
                    for form in formset.cleaned_data:
                        # prevent crashing if the user doesn't upload all the photos
                        if form:
                            image_form = form['image']
                            public = form['public']
                            image = Image(owner=user, photos_module=photos, image=image_form, public=public)
                            image.save()
            elif str(module_type) == 'Weather':
                weather_form = WeatherForm(request.POST)#, module=module)#, instance=module)
                if weather_form.is_valid():
                    weather = weather_form.save(commit=False)
                    module.owner = user
                    module.save()
                    weather.module = module
                    weather.save()
                    print(f'We have Weather module! {weather}')
            else:
                # TODO: what do?
                pass
            '''
            #return redirect('user-modules') # Can also redirect to an object's get_absolute_url()
    else:
        module_form = ModuleCreateForm()
    context = {
        'module_form': module_form
    }
    template = get_template('dashboard/add_module.html')
    return JsonResponse({'content': template.render(context, request=request)})