Skip to content

Commit 5445dda

Browse files
authored
Merge pull request #24 from HTTPArchive/development
Development
2 parents 0f1a37c + faa083a commit 5445dda

File tree

4 files changed

+53
-50
lines changed

4 files changed

+53
-50
lines changed

functions/adoption/libs/queries.py

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,37 @@
11
import os
2-
import json
32
from google.cloud import firestore
3+
from google.cloud.firestore_v1.base_query import FieldFilter
44
from .result import Result
55
from .utils import convert_to_array
66

77
DB = firestore.Client(project=os.environ.get('PROJECT'), database=os.environ.get('DATABASE'))
8+
TABLE = 'adoption'
89

910
def list_data(params):
10-
ref = DB.collection(u'adoption')
1111

12-
query = ref
12+
technology_array = convert_to_array(params['technology'])
13+
data = []
1314

14-
if 'start' in params:
15-
query = query.where('date', '>=', params['start'])
16-
if 'end' in params:
17-
query = query.where('date', '<=', params['end'])
18-
if 'geo' in params:
19-
query = query.where('geo', '==', params['geo'])
20-
if 'technology' in params:
21-
params_array = convert_to_array(params['technology'])
22-
query = query.where('technology', 'in', params_array)
23-
if 'rank' in params:
24-
query = query.where('rank', '==', params['rank'])
15+
for technology in technology_array:
16+
query = DB.collection(TABLE)
2517

26-
documents = query.stream()
18+
if 'start' in params:
19+
query = query.where(filter=FieldFilter('date', '>=', params['start']))
2720

28-
data = []
29-
for doc in documents:
30-
data.append(doc.to_dict())
21+
if 'end' in params:
22+
query = query.where(filter=FieldFilter('date', '<=', params['end']))
23+
24+
if 'geo' in params:
25+
query = query.where(filter=FieldFilter('geo', '==', params['geo']))
26+
27+
if 'rank' in params:
28+
query = query.where(filter=FieldFilter('rank', '==', params['rank']))
29+
30+
query = query.where(filter=FieldFilter('technology', '==', technology))
31+
32+
documents = query.stream()
33+
34+
for doc in documents:
35+
data.append(doc.to_dict())
3136

32-
return Result(result=data)
37+
return Result(result=data)

functions/categories/libs/queries.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import os
2-
import json
32
from google.cloud import firestore
3+
from google.cloud.firestore_v1.base_query import FieldFilter
44
from .result import Result
55
from .utils import convert_to_array
66

77
DB = firestore.Client(project=os.environ.get('PROJECT'), database=os.environ.get('DATABASE'))
8+
TABLE = 'categories'
89

910
def list_data(params):
10-
ref = DB.collection(u'categories')
11+
ref = DB.collection(TABLE)
1112

1213
query = ref
1314

@@ -27,7 +28,7 @@ def list_data(params):
2728
category_array = convert_to_array(params['category'])
2829

2930
for category in category_array:
30-
results = query.where("category", "==", category).stream()
31+
results = query.where(filter=FieldFilter("category", "==", category)).stream()
3132
for doc in results:
3233
data.append(doc.to_dict())
3334

functions/cwvtech/libs/queries.py

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,31 @@
11
import os
2-
import json
32
from google.cloud import firestore
3+
from google.cloud.firestore_v1.base_query import FieldFilter
44
from .result import Result
55
from .utils import convert_to_array
66

77
DB = firestore.Client(project=os.environ.get('PROJECT'), database=os.environ.get('DATABASE'))
8+
TABLE = 'core_web_vitals'
89

910
def list_data(params):
10-
ref = DB.collection(u'core_web_vitals')
11+
technology_array = convert_to_array(params['technology'])
12+
data = []
1113

12-
query = ref
13-
14-
if 'start' in params:
15-
query = query.where('date', '>=', params['start'])
16-
if 'end' in params:
17-
query = query.where('date', '<=', params['end'])
18-
19-
if 'geo' in params:
20-
query = query.where('geo', '==', params['geo'])
14+
for technology in technology_array:
15+
query = DB.collection(TABLE)
2116

22-
if 'technology' in params:
23-
params_array = convert_to_array(params['technology'])
24-
query = query.where('technology', 'in', params_array)
17+
if 'start' in params:
18+
query = query.where(filter=FieldFilter('date', '>=', params['start']))
19+
if 'end' in params:
20+
query = query.where(filter=FieldFilter('date', '<=', params['end']))
2521

26-
if 'rank' in params:
27-
query = query.where('rank', '==', params['rank'])
22+
query = query.where(filter=FieldFilter('geo', '==', params['geo']))
23+
query = query.where(filter=FieldFilter('rank', '==', params['rank']))
24+
query = query.where(filter=FieldFilter('technology', '==', technology))
2825

29-
documents = query.stream()
26+
documents = query.stream()
3027

31-
data = []
32-
for doc in documents:
33-
data.append(doc.to_dict())
28+
for doc in documents:
29+
data.append(doc.to_dict())
3430

3531
return Result(result=data)

functions/lighthouse/libs/queries.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,32 @@
11
import os
2-
import json
32
from google.cloud import firestore
3+
from google.cloud.firestore_v1.base_query import FieldFilter
44
from .result import Result
55
from .utils import convert_to_array
66

77
DB = firestore.Client(project=os.environ.get('PROJECT'), database=os.environ.get('DATABASE'))
8+
TABLE = 'lighthouse'
89

910
def list_data(params):
1011

1112
technology_array = convert_to_array(params['technology'])
1213
data = []
1314

1415
for technology in technology_array:
15-
query = DB.collection(u'lighthouse')
16+
query = DB.collection(TABLE)
1617

1718
if 'start' in params:
18-
query = query.where('date', '>=', params['start'])
19+
query = query.where(filter=FieldFilter('date', '>=', params['start']))
1920
if 'end' in params:
20-
query = query.where('date', '<=', params['end'])
21+
query = query.where(filter=FieldFilter('date', '<=', params['end']))
2122

22-
query = query.where('geo', '==', params['geo'])
23-
query = query.where('rank', '==', params['rank'])
24-
query = query.where('technology', '==', technology)
23+
query = query.where(filter=FieldFilter('geo', '==', params['geo']))
24+
query = query.where(filter=FieldFilter('rank', '==', params['rank']))
25+
query = query.where(filter=FieldFilter('technology', '==', technology))
2526

2627
documents = query.stream()
2728

2829
for doc in documents:
2930
data.append(doc.to_dict())
3031

31-
return Result(result=data)
32+
return Result(result=data)

0 commit comments

Comments
 (0)