Skip to content

Commit 3021ece

Browse files
author
Rayson L
committed
Fix file formatting, spaces, imports and metadata code style update
1 parent 6bd2c79 commit 3021ece

File tree

4 files changed

+31
-25
lines changed

4 files changed

+31
-25
lines changed

imagetagger/imagetagger/annotations/static/annotations/js/annotations.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ globals = {
1717
mouseDownY: undefined,
1818
currentAnnotations: undefined,
1919
allAnnotations: undefined,
20-
allMetadata: undefined,
20+
allMetadata: undefined,
2121
stdColor: '#CC4444',
2222
mutColor: '#CC0000'
2323
};

imagetagger/imagetagger/images/forms.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from django import forms
22

3-
from imagetagger.images.models import ImageSet, Image
3+
from imagetagger.images.models import ImageSet
44

55

66
class ImageMetadataForm(forms.Form):
@@ -11,7 +11,7 @@ class ImageMetadataForm(forms.Form):
1111
widget=forms.TextInput(attrs={'class': 'form-control'})
1212
)
1313
image = forms.HiddenInput()
14-
14+
1515

1616
class ImageSetCreationForm(forms.ModelForm):
1717
class Meta:

imagetagger/imagetagger/images/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
url(r'^image/setfree/(\d+)/$', views.set_free, name='setfree_imageset'),
1010
url(r'^image/upload/(\d+)/$', views.upload_image, name='upload_image'),
1111
url(r'^image/(\d+)/$', views.view_image, name='view_image'),
12-
url(r'^image/metadata/create', views.metadata_create, name='metadata_create'),
12+
url(r'^image/metadata/create/$', views.metadata_create, name='metadata_create'),
1313
url(r'^image/metadata/delete/(\d+)/$', views.metadata_delete, name='metadata_delete'),
1414
url(r'^imagelist/(\d+)/$', views.list_images, name='list_images'),
1515
url(r'^imageset/(\d+)/label-upload/$', views.label_upload, name='label_upload'),

imagetagger/imagetagger/images/views.py

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from django.db import transaction
66
from django.db.models import Count, Q
77
from django.db.models.expressions import F
8-
from django.views.decorators.http import require_http_methods
8+
from django.views.decorators.http import require_http_methods, require_POST
99
from django.urls import reverse
1010
from django.http import HttpResponseForbidden, HttpResponse, HttpResponseBadRequest, JsonResponse, \
1111
FileResponse
@@ -26,7 +26,6 @@
2626
from imagetagger.users.forms import TeamCreationForm
2727
from imagetagger.users.models import User, Team
2828
from imagetagger.tagger_messages.forms import TeamMessageCreationForm
29-
import json
3029

3130
from .models import ImageSet, Image, SetTag
3231
from .forms import LabelUploadForm
@@ -50,7 +49,7 @@ def metadata_create(request):
5049
if request.method == 'POST':
5150
form = ImageMetadataForm(request.POST)
5251
if form.is_valid():
53-
data = request.POST
52+
data = form.cleaned_data
5453
img = get_object_or_404(Image, pk=data['image'])
5554
metadata = json.loads(img.metadata)
5655
metadata[data['name']] = data['value']
@@ -62,15 +61,19 @@ def metadata_create(request):
6261
return redirect(reverse('annotations:annotate', args=(request.POST['image'],)))
6362

6463

65-
@login_required
64+
@require_POST
6665
def metadata_delete(request, image_id):
6766
img = get_object_or_404(Image, id=image_id)
6867
metadata = json.loads(img.metadata)
69-
metadata.pop(request.POST['key'])
68+
if request.POST['key'] in metadata:
69+
metadata.pop(request.POST['key'])
70+
messages.info(request,
71+
_("Successfully deleted \'{}\' in metadata".format(request.POST['key'])))
72+
else:
73+
messages.info(request,
74+
_("Error! \'{}\' was not found in metadata!".format(request.POST['key'])))
7075
img.metadata = json.dumps(metadata)
7176
img.save()
72-
messages.info(request,
73-
_("Successfully deleted \'{}\' in metadata".format(request.POST['key'])))
7477
return redirect(reverse('annotations:annotate', args=(image_id,)))
7578

7679

@@ -210,7 +213,7 @@ def extract_metadata(img):
210213
for (tag, value) in img._getexif().items():
211214
metadata[TAGS.get(tag)] = value
212215
return json.dumps(metadata, default=str)
213-
216+
214217
imageset = get_object_or_404(ImageSet, id=imageset_id)
215218
if request.method == 'POST' \
216219
and imageset.has_perm('edit_set', request.user) \
@@ -274,7 +277,7 @@ def extract_metadata(img):
274277
with PIL_Image.open(file_path) as image:
275278
width, height = image.size
276279
# extracting metadata info
277-
metadata = extract_metadata(image_file)
280+
metadata = extract_metadata(image)
278281
file_new_path = os.path.join(imageset.root_path(), img_fname)
279282
shutil.move(file_path, file_new_path)
280283
shutil.chown(file_new_path, group=settings.UPLOAD_FS_GROUP)
@@ -306,7 +309,7 @@ def extract_metadata(img):
306309
fchecksum.update(chunk)
307310
fchecksum = fchecksum.digest()
308311
# tests for duplicats in imageset
309-
if Image.objects.filter(checksum=fchecksum, image_set=imageset)\
312+
if Image.objects.filter(checksum=fchecksum, image_set=imageset) \
310313
.count() == 0:
311314
fname = ('_'.join(fname[:-1]) + '_' +
312315
''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits)
@@ -404,11 +407,12 @@ def view_image(request, image_id):
404407
response = HttpResponse(content_type='image')
405408
response['X-Accel-Redirect'] = "/ngx_static_dn/{}".format(image.relative_path())
406409
else:
407-
response = FileResponse(open(file_path, 'rb'), content_type="image")
410+
response = FileResponse(open(file_path, 'rb'), content_type="image")
408411

409412
response["Content-Length"] = os.path.getsize(file_path)
410413
return response
411414

415+
412416
@login_required
413417
def list_images(request, image_set_id):
414418
imageset = get_object_or_404(ImageSet, id=image_set_id)
@@ -507,7 +511,7 @@ def create_imageset(request):
507511
messages.warning(
508512
request,
509513
_('You do not have permission to create image sets in the team {}.')
510-
.format(team.name))
514+
.format(team.name))
511515
return redirect(reverse('users:team', args=(team.id,)))
512516

513517
form = ImageSetCreationForm()
@@ -516,7 +520,7 @@ def create_imageset(request):
516520
form = ImageSetCreationForm(request.POST)
517521

518522
if form.is_valid():
519-
if team.image_sets\
523+
if team.image_sets \
520524
.filter(name=form.cleaned_data.get('name')).exists():
521525
form.add_error(
522526
'name',
@@ -666,7 +670,7 @@ def label_upload(request, imageset_id):
666670
if len(test_flags) > 0:
667671
report_list.append(
668672
'unknown flags: \"{}\" for image: \"{}\"'
669-
.format(test_flags, line_frags[0])
673+
.format(test_flags, line_frags[0])
670674
)
671675
blurred = 'b' in flags
672676
concealed = 'c' in flags
@@ -678,7 +682,8 @@ def label_upload(request, imageset_id):
678682
vector = json.loads(line_frags[2])
679683
except JSONDecodeError:
680684
report_list.append("In image \"{}\" the annotation:"
681-
" \"{}\" was not accepted as valid JSON".format(line_frags[0], line_frags[2]))
685+
" \"{}\" was not accepted as valid JSON".format(line_frags[0],
686+
line_frags[2]))
682687

683688
if annotation_type.validate_vector(vector):
684689
if not Annotation.similar_annotations(vector, image, annotation_type):
@@ -706,7 +711,7 @@ def label_upload(request, imageset_id):
706711
report_list.append(
707712
'For the image ' + line_frags[0] + ' the annotation ' +
708713
line_frags[2] + ' was not a valid vector or '
709-
'bounding box for the annotation type'
714+
'bounding box for the annotation type'
710715
)
711716
else:
712717
error_count += 1
@@ -725,19 +730,19 @@ def label_upload(request, imageset_id):
725730
messages.warning(
726731
request,
727732
_('The label upload ended with {} errors and {} similar existing labels.')
728-
.format(error_count, similar_count))
733+
.format(error_count, similar_count))
729734
else:
730735
messages.success(
731736
request,
732737
_('The label upload ended with {} errors and {} similar existing labels.')
733-
.format(error_count, similar_count))
738+
.format(error_count, similar_count))
734739
return redirect(reverse('images:view_imageset', args=(imageset_id,)))
735740

736741

737742
def dl_script(request):
738743
return TemplateResponse(request, 'images/download.py', context={
739-
'base_url': settings.DOWNLOAD_BASE_URL,
740-
}, content_type='text/plain')
744+
'base_url': settings.DOWNLOAD_BASE_URL,
745+
}, content_type='text/plain')
741746

742747

743748
def download_imageset_zip(request, image_set_id):
@@ -897,7 +902,8 @@ def autocomplete_image_set_tag(request) -> Response:
897902
except (KeyError, TypeError, ValueError):
898903
raise ParseError
899904
tag_suggestions = list(SetTag.objects.filter(name__startswith=tag_name_query))
900-
tag_suggestions.extend(list(SetTag.objects.filter(~Q(name__startswith=tag_name_query) & Q(name__contains=tag_name_query))))
905+
tag_suggestions.extend(
906+
list(SetTag.objects.filter(~Q(name__startswith=tag_name_query) & Q(name__contains=tag_name_query))))
901907
tag_suggestions = [tag_suggestion.name for tag_suggestion in tag_suggestions]
902908
print(tag_suggestions)
903909

0 commit comments

Comments
 (0)