Skip to content

Commit b3f9389

Browse files
author
Alessio Fabiani
committed
- Returns referencing infos on Layers Upload
- Returns referencing infos on Layers Upload - Returns referencing infos on Layers Upload - Returns referencing infos on Layers Upload
1 parent c140c77 commit b3f9389

File tree

20 files changed

+1358
-637
lines changed

20 files changed

+1358
-637
lines changed

flake8.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Check formatting with
2+
3+
flake8 --config=setup.cfg
4+
5+
# Auto-fix formatting with
6+
7+
autopep8 --global-config setup.cfg -i -a -a [files [files ...]]

geonode/api/resourcebase_api.py

+37-25
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@ class CommonModelApi(ModelResource):
8686
null=True,
8787
full=True)
8888
owner = fields.ToOneField(OwnersResource, 'owner', full=True)
89-
tkeywords = fields.ToManyField(ThesaurusKeywordResource, 'tkeywords', null=True)
89+
tkeywords = fields.ToManyField(
90+
ThesaurusKeywordResource, 'tkeywords', null=True)
9091
VALUES = [
9192
# fields in the db
9293
'id',
@@ -186,21 +187,23 @@ def filter_group(self, queryset, request):
186187

187188
try:
188189
anonymous_group = Group.objects.get(name='anonymous')
189-
except:
190+
except BaseException:
190191
anonymous_group = None
191192

192193
if is_admin:
193194
filtered = queryset
194195
elif request.user:
195196
groups = request.user.groups.all()
196197
if anonymous_group:
197-
filtered = queryset.filter(
198-
Q(group__isnull=True) | Q(group__in=groups) | Q(group=anonymous_group))
198+
filtered = queryset.filter(Q(group__isnull=True) | Q(
199+
group__in=groups) | Q(group=anonymous_group))
199200
else:
200-
filtered = queryset.filter(Q(group__isnull=True) | Q(group__in=groups))
201+
filtered = queryset.filter(
202+
Q(group__isnull=True) | Q(group__in=groups))
201203
else:
202204
if anonymous_group:
203-
filtered = queryset.filter(Q(group__isnull=True) | Q(group=anonymous_group))
205+
filtered = queryset.filter(
206+
Q(group__isnull=True) | Q(group=anonymous_group))
204207
else:
205208
filtered = queryset.filter(Q(group__isnull=True))
206209
return filtered
@@ -432,7 +435,8 @@ def get_search(self, request, **kwargs):
432435
is_staff = request.user.is_staff if request.user else False
433436

434437
# Get the list of objects the user has access to
435-
filter_set = get_objects_for_user(request.user, 'base.view_resourcebase')
438+
filter_set = get_objects_for_user(
439+
request.user, 'base.view_resourcebase')
436440
if settings.ADMIN_MODERATE_UPLOADS:
437441
if not is_admin and not is_staff:
438442
filter_set = filter_set.filter(is_published=True)
@@ -442,7 +446,7 @@ def get_search(self, request, **kwargs):
442446

443447
try:
444448
anonymous_group = Group.objects.get(name='anonymous')
445-
except:
449+
except BaseException:
446450
anonymous_group = None
447451

448452
if settings.GROUP_PRIVATE_RESOURCES:
@@ -451,22 +455,24 @@ def get_search(self, request, **kwargs):
451455
elif request.user:
452456
groups = request.user.groups.all()
453457
if anonymous_group:
454-
filter_set = filter_set.filter(
455-
Q(group__isnull=True) | Q(group__in=groups) | Q(group=anonymous_group))
458+
filter_set = filter_set.filter(Q(group__isnull=True) | Q(
459+
group__in=groups) | Q(group=anonymous_group))
456460
else:
457-
filter_set = filter_set.filter(Q(group__isnull=True) | Q(group__in=groups))
461+
filter_set = filter_set.filter(
462+
Q(group__isnull=True) | Q(group__in=groups))
458463
else:
459464
if anonymous_group:
460-
filter_set = filter_set.filter(Q(group__isnull=True) | Q(group=anonymous_group))
465+
filter_set = filter_set.filter(
466+
Q(group__isnull=True) | Q(group=anonymous_group))
461467
else:
462468
filter_set = filter_set.filter(Q(group__isnull=True))
463469

464470
filter_set_ids = filter_set.values_list('id')
465471
# Do the query using the filterset and the query term. Facet the
466472
# results
467473
if len(filter_set) > 0:
468-
sqs = sqs.filter(id__in=filter_set_ids).facet('type').facet('subtype').facet('owner')\
469-
.facet('keywords').facet('regions').facet('category')
474+
sqs = sqs.filter(id__in=filter_set_ids).facet('type').facet('subtype').facet(
475+
'owner') .facet('keywords').facet('regions').facet('category')
470476
else:
471477
sqs = None
472478
else:
@@ -509,23 +515,24 @@ def get_search(self, request, **kwargs):
509515
objects = []
510516

511517
object_list = {
512-
"meta": {
518+
"meta": {
513519
"limit": settings.API_LIMIT_PER_PAGE,
514520
"next": next_page,
515521
"offset": int(getattr(request.GET, 'offset', 0)),
516522
"previous": previous_page,
517523
"total_count": total_count,
518524
"facets": facets,
519525
},
520-
"objects": map(lambda x: self.get_haystack_api_fields(x), objects),
526+
"objects": map(lambda x: self.get_haystack_api_fields(x), objects),
521527
}
522528

523529
self.log_throttled_access(request)
524530
return self.create_response(request, object_list)
525531

526532
def get_haystack_api_fields(self, haystack_object):
527-
object_fields = dict((k, v) for k, v in haystack_object.get_stored_fields().items()
528-
if not re.search('_exact$|_sortable$', k))
533+
object_fields = dict(
534+
(k, v) for k, v in haystack_object.get_stored_fields().items() if not re.search(
535+
'_exact$|_sortable$', k))
529536
return object_fields
530537

531538
def get_list(self, request, **kwargs):
@@ -558,7 +565,8 @@ def get_list(self, request, **kwargs):
558565
request,
559566
to_be_serialized)
560567

561-
return self.create_response(request, to_be_serialized, response_objects=objects)
568+
return self.create_response(
569+
request, to_be_serialized, response_objects=objects)
562570

563571
def format_objects(self, objects):
564572
"""
@@ -579,20 +587,24 @@ def create_response(
579587
Mostly a useful shortcut/hook.
580588
"""
581589

582-
# If an user does not have at least view permissions, he won't be able to see the resource at all.
590+
# If an user does not have at least view permissions, he won't be able
591+
# to see the resource at all.
583592
filtered_objects_ids = None
584593
if response_objects:
585-
filtered_objects_ids = [item.id for item in response_objects if
586-
request.user.has_perm('view_resourcebase', item.get_self_resource())]
594+
filtered_objects_ids = [
595+
item.id for item in response_objects if request.user.has_perm(
596+
'view_resourcebase', item.get_self_resource())]
587597

588598
if isinstance(
589599
data,
590600
dict) and 'objects' in data and not isinstance(
591601
data['objects'],
592602
list):
593603
if filtered_objects_ids:
594-
data['objects'] = [x for x in list(self.format_objects(data['objects']))
595-
if x['id'] in filtered_objects_ids]
604+
data['objects'] = [
605+
x for x in list(
606+
self.format_objects(
607+
data['objects'])) if x['id'] in filtered_objects_ids]
596608
else:
597609
data['objects'] = list(self.format_objects(data['objects']))
598610

@@ -609,7 +621,7 @@ def prepend_urls(self):
609621
return [
610622
url(r"^(?P<resource_name>%s)/search%s$" % (
611623
self._meta.resource_name, trailing_slash()
612-
),
624+
),
613625
self.wrap_view('get_search'), name="api_get_search"),
614626
]
615627
else:

0 commit comments

Comments
 (0)