GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

ElasticsearchQuery   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 14
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A execute_query() 0 2 1
A __init__() 0 10 1
1
# -*- coding: utf-8 -*-
2
import pyjobsweb.lib.search_query as search_query
3
4
5
class ElasticsearchTranslator(search_query.QueryTranslator):
6
    def __init__(self, query_object):
7
        super(ElasticsearchTranslator, self).__init__(query_object)
8
9
    def translate_sort(self, multi_sort):
10
        return self.query_object.sort(*[s.translate(self) for s in multi_sort])
11
12
    def translate_asc_sort_statement(self, asc_sort):
13
        return '{}'.format(asc_sort.to_sort)
14
15
    def translate_desc_sort_statement(self, desc_sort):
16
        return '-{}'.format(desc_sort.to_sort)
17
18
    def translate_boolean_filter(self, search_filter):
19
        return self.query_object.filter(
20
            'terms',
21
            **{search_filter.field: [search_filter.value]}
22
        )
23
24
    def translate_keyword_filter(self, search_filter):
25
        return self.query_object.query(
26
            'multi_match',
27
            fields=search_filter.fields,
28
            query=search_filter.keywords
29
        )
30
31
    def translate_geolocation_filter(self, search_filter):
32
        return self.query_object.filter(
33
            'geo_distance',
34
            geolocation=[
35
                search_filter.center.longitude,
36
                search_filter.center.latitude
37
            ],
38
            distance='{}{}'.format(search_filter.radius, search_filter.unit)
39
        )
40
41
42
class ElasticsearchQuery(search_query.BaseSearchQuery):
43
    def __init__(self, class_name, page_num, page_size):
44
        search_obj = class_name.search()
45
        search_obj = search_obj.params()
46
        translator = ElasticsearchTranslator(search_obj)
47
        query_builder = search_query.QueryBuilder(translator)
48
49
        self._from = page_num * page_size
50
        self._to = self._from + page_size
51
52
        super(ElasticsearchQuery, self).__init__(query_builder)
53
54
    def execute_query(self):
55
        return (self.builder.build()[self._from:self._to]).execute().hits
56
57
58