Completed
Pull Request — master (#143)
by Jasper
01:31
created

Query   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 23
rs 10
wmc 6

6 Methods

Rating   Name   Duplication   Size   Complexity  
A byModality() 0 3 1
A getFields() 0 2 1
A __iter__() 0 2 1
A byUser() 0 3 1
A byProject() 0 3 1
A __init__() 0 3 1
1
from collections import namedtuple
2
QueryField = namedtuple('QueryField', ['name', 'value'])
3
4
class Query(object):
5
6
    def __init__(self, dependencies):
7
        self.fields = []
8
        self.repository = dependencies.getRepository()
9
10
    def __iter__(self):
11
        return self.repository.inquire(self).__iter__()
12
13
    def getFields(self):
14
        return self.fields
15
16
    def byModality(self, val):
17
        self.fields.append(QueryField('modality', val))
18
        return self
19
20
    def byProject(self, val):
21
        self.fields.append(QueryField('project', val))
22
        return self
23
24
    def byUser(self, val):
25
        self.fields.append(QueryField('user', val))
26
        return self
27