Exemple #1
0
    def image_upload(request):
        pass
        """
        Upload an image
        :param request: HttpRequest
        :return: JsonResponse
        """
        status, msg = False, "Invalid Request"

        form = ImageUploadForm(request.POST, request.FILES)
        if request.user.is_authenticated and form.is_valid():
            t = Tools.handle_uploaded_file(request.FILES['file'],
                                           form.extension)
            if t[0]:
                #delete profile pic if it exist
                if form.category == "PI":
                    pi = Image_DB.objects.filter(username=form.username,
                                                 category=form.category)
                i = Image_DB(username=form.username,
                             category=form.category,
                             url=t[1])
                if Image.delete_image(pi.url, request, form.category):
                    i.save()
                    status, msg = True, "Success"

        return JsonResponse({"status": status, "msg": msg})
Exemple #2
0
 def make_image(**kwargs):
     user = create_user()
     create_account(username=user.username, **kwargs)
     with open('default.JPG', 'rb') as f:
         file = File(f)
         img = Image(image=file, user=user)
         img.save()
         return img
Exemple #3
0
def test_save_image_without_pic():
    image = Image(
        title='my picture',
        description='my description',
    )
    image.save()

    assert image.title == 'my picture'
    assert image.description == 'my description'
Exemple #4
0
 def create(self, validated_data):
     user = None
     request = self.context.get("request")
     if request and hasattr(request, "user"):
         user = request.user
     image_instance = Image(**validated_data)
     image_instance.user = user
     image_instance.save()
     return image_instance
Exemple #5
0
def take_photo(photo_id, group, sample_id):
    '''
    Calls the Picam class to have the hardware take a picture.
    Returns a Picture object
    '''
    camera = Picam()
    file_path = camera.take_still(str(photo_id) + '.jpg')
    image = Image(id=photo_id,
                  group=group,
                  sample_id=sample_id,
                  type=Image.PHOTO,
                  subject=group.subject,
                  file_path=file_path)
    image.save()
    return image
Exemple #6
0
def take_photo(photo_id, group, sample_id):
    '''
    Calls the Picam class to have the hardware take a picture.
    Returns a Picture object
    '''
    camera = Picam()
    file_path = camera.take_still(str(photo_id) + '.jpg')
    image = Image(id=photo_id,
                  group=group,
                  sample_id=sample_id,
                  type=Image.PHOTO,
                  subject=group.subject,
                  file_path=file_path)
    image.save()
    return image
Exemple #7
0
 def setUp(self):
     self.user_data = {
         "username": "******",
         "first_name": "black",
         "last_name": "panther",
     }
     user_instance = User(**self.user_data)
     user_instance.set_password("gamora")
     user_instance.save()
     image_instance = Image()
     image_instance.user = user_instance
     image_instance.image = File(create_test_image())
     image_instance.name = "test"
     image_instance.color = "BLACK"
     image_instance.save()
Exemple #8
0
def image_upload(request):
    if request.method != "POST":
        return HttpResponse()
    source = request.FILES.get('file')
    if source != None:
        source.name = ImageTool.get_new_random_file_name(source.name)
        image = Image(
            img=source
        )
        image.save()
        return HttpResponse(json.dumps({
            'success': True,
            'path': image.img.url
        }))
    else:
        return HttpResponse(json.dumps({
            'success': False,
        }))
Exemple #9
0
def generate_chart(sample_id, image_id):
    sample = get_object_or_404(Sample, id=sample_id)
    readings = csv_string_to_int_list(sample.data)

    the_title = 'Readings for ' + sample.reading_type + ' sample ' + str(sample_id)
    if sample.description:
        the_title += "\n" + sample.description

    x = range(len(readings))
    plt.bar(x, readings, 1, color='black')
    plt.title(the_title)
    plt.xlabel('wavelength (340 - 780nm)')
    plt.ylabel('magnitude')

    root_directory = '/home/pi/Pictures'  # TODO move this into settings:IMAGE_SAVE_PATH
    file_path = os.path.join(root_directory, (str(image_id) + '.png'))
    image = Image(id=image_id,
                  group=sample.group,
                  sample_id=sample_id,
                  type=Image.BAR_CHART,
                  file_path=file_path)
    image.save()  # save the image record
    plt.savefig(file_path)  # save the actual file with the image
Exemple #10
0
def generate_chart(sample_id, image_id):
    sample = get_object_or_404(Sample, id=sample_id)
    readings = csv_string_to_int_list(sample.data)

    the_title = 'Readings for ' + sample.reading_type + ' sample ' + str(
        sample_id)
    if sample.description:
        the_title += "\n" + sample.description

    x = range(len(readings))
    plt.bar(x, readings, 1, color='black')
    plt.title(the_title)
    plt.xlabel('wavelength (340 - 780nm)')
    plt.ylabel('magnitude')

    root_directory = '/home/pi/Pictures'  # TODO move this into settings:IMAGE_SAVE_PATH
    file_path = os.path.join(root_directory, (str(image_id) + '.png'))
    image = Image(id=image_id,
                  group=sample.group,
                  sample_id=sample_id,
                  type=Image.BAR_CHART,
                  file_path=file_path)
    image.save()  # save the image record
    plt.savefig(file_path)  # save the actual file with the image
Exemple #11
0
 def setUp(self):
     self.view = ImageViewSet.as_view()
     self.factory = APIRequestFactory()
     self.correct_data = {'uri': '/some/path/to/image.png'}
     self.error_data = {'random': 'random^2'}
     image = Image(uri='/some/path/to/Image1.png')
     image.save()
     image = Image(uri='/some/path/to/Image2.png')
     image.save()
     image = Image(uri='/some/path/to/Image3.png')
     image.save()
 def create(self, valideted_data):
     img = Image()
     img.image = valideted_data['image']
     img.save()
     return img