Skip to content
This repository was archived by the owner on Oct 9, 2023. It is now read-only.

Commit 5b5d977

Browse files
author
Adam Mitchell
authored
Remove python 2 compatibility import imap (#89)
## What is the goal of this PR? Fix an issue where a python 2 only import (`imap`) was being used when the client is meant to be python 3 compatible. ## What are the changes implemented in this PR? * Replace usages of `imap` with `six.moves.map`, which works across both versions.
1 parent 66c12b3 commit 5b5d977

File tree

3 files changed

+23
-26
lines changed

3 files changed

+23
-26
lines changed

grakn/service/Session/Concept/RemoteConcept.py

+16-17
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@
1717
# under the License.
1818
#
1919

20-
from itertools import imap
21-
2220
from grakn.service.Session.util import enums
2321
from grakn.service.Session.util.RequestBuilder import RequestBuilder
2422
from grakn.exception.GraknError import GraknError
23+
from six.moves import map
2524

2625

2726
class RemoteConcept(object):
@@ -163,7 +162,7 @@ def subs(self):
163162
""" Retrieve the sub schema concepts of this schema concept, as an iterator """
164163
subs_req = RequestBuilder.ConceptMethod.SchemaConcept.subs()
165164
from grakn.service.Session.Concept import ConceptFactory
166-
return imap(lambda iter_res:
165+
return map(lambda iter_res:
167166
ConceptFactory.create_remote_concept(self._tx_service,
168167
iter_res.schemaConcept_subs_iter_res.schemaConcept),
169168
self._tx_service.run_concept_iter_method(self.id, subs_req))
@@ -172,7 +171,7 @@ def sups(self):
172171
""" Retrieve the all supertypes (direct and higher level) of this schema concept as an iterator """
173172
sups_req = RequestBuilder.ConceptMethod.SchemaConcept.sups()
174173
from grakn.service.Session.Concept import ConceptFactory
175-
return imap(lambda iter_res:
174+
return map(lambda iter_res:
176175
ConceptFactory.create_remote_concept(self._tx_service,
177176
iter_res.schemaConcept_sups_iter_res.schemaConcept),
178177
self._tx_service.run_concept_iter_method(self.id, sups_req))
@@ -201,7 +200,7 @@ def attributes(self):
201200
""" Retrieve all attributes attached to this Type as an iterator """
202201
attributes_req = RequestBuilder.ConceptMethod.Type.attributes()
203202
from grakn.service.Session.Concept import ConceptFactory
204-
return imap(lambda iter_res:
203+
return map(lambda iter_res:
205204
ConceptFactory.create_remote_concept(self._tx_service,
206205
iter_res.type_attributes_iter_res.attributeType),
207206
self._tx_service.run_concept_iter_method(self.id, attributes_req))
@@ -210,7 +209,7 @@ def instances(self):
210209
""" Retrieve all instances of this Type as an iterator """
211210
instances_req = RequestBuilder.ConceptMethod.Type.instances()
212211
from grakn.service.Session.Concept import ConceptFactory
213-
return imap(lambda iter_res:
212+
return map(lambda iter_res:
214213
ConceptFactory.create_remote_concept(self._tx_service,
215214
iter_res.type_instances_iter_res.thing),
216215
self._tx_service.run_concept_iter_method(self.id, instances_req))
@@ -219,7 +218,7 @@ def playing(self):
219218
""" Retrieve iterator of roles played by this type """
220219
playing_req = RequestBuilder.ConceptMethod.Type.playing()
221220
from grakn.service.Session.Concept import ConceptFactory
222-
return imap(lambda iter_res:
221+
return map(lambda iter_res:
223222
ConceptFactory.create_remote_concept(self._tx_service,
224223
iter_res.type_playing_iter_res.role),
225224
self._tx_service.run_concept_iter_method(self.id, playing_req))
@@ -252,7 +251,7 @@ def keys(self):
252251
""" Retrieve an iterator of attribute types that this Type uses as keys """
253252
keys_req = RequestBuilder.ConceptMethod.Type.keys()
254253
from grakn.service.Session.Concept import ConceptFactory
255-
return imap(lambda iter_res:
254+
return map(lambda iter_res:
256255
ConceptFactory.create_remote_concept(self._tx_service,
257256
iter_res.type_keys_iter_res.attributeType),
258257
self._tx_service.run_concept_iter_method(self.id, keys_req))
@@ -353,7 +352,7 @@ def roles(self):
353352
""" Retrieve roles in this relation schema type """
354353
get_roles = RequestBuilder.ConceptMethod.RelationType.roles()
355354
from grakn.service.Session.Concept import ConceptFactory
356-
return imap(lambda iter_res:
355+
return map(lambda iter_res:
357356
ConceptFactory.create_remote_concept(self._tx_service,
358357
iter_res.relationType_roles_iter_res.role),
359358
self._tx_service.run_concept_iter_method(self.id, get_roles))
@@ -407,7 +406,7 @@ def relations(self):
407406
""" Retrieve relations that this role participates in, as an iterator """
408407
relations_req = RequestBuilder.ConceptMethod.Role.relations()
409408
from grakn.service.Session.Concept import ConceptFactory
410-
return imap(lambda iter_res:
409+
return map(lambda iter_res:
411410
ConceptFactory.create_remote_concept(self._tx_service,
412411
iter_res.role_relations_iter_res.relationType),
413412
self._tx_service.run_concept_iter_method(self.id, relations_req))
@@ -416,7 +415,7 @@ def players(self):
416415
""" Retrieve an iterator of entities that play this role """
417416
players_req = RequestBuilder.ConceptMethod.Role.players()
418417
from grakn.service.Session.Concept import ConceptFactory
419-
return imap(lambda iter_res:
418+
return map(lambda iter_res:
420419
ConceptFactory.create_remote_concept(self._tx_service,
421420
iter_res.role_players_iter_res.type),
422421
self._tx_service.run_concept_iter_method(self.id, players_req))
@@ -443,7 +442,7 @@ def relations(self, *roles):
443442
""" Get iterator this Thing's relations, filtered to the optionally provided roles """
444443
relations_req = RequestBuilder.ConceptMethod.Thing.relations(roles)
445444
from grakn.service.Session.Concept import ConceptFactory
446-
return imap(lambda iter_res:
445+
return map(lambda iter_res:
447446
ConceptFactory.create_remote_concept(self._tx_service,
448447
iter_res.thing_relations_iter_res.relation),
449448
self._tx_service.run_concept_iter_method(self.id, relations_req))
@@ -452,7 +451,7 @@ def attributes(self, *attribute_types):
452451
""" Retrieve iterator of this Thing's attributes, filtered by optionally provided attribute types """
453452
attrs_req = RequestBuilder.ConceptMethod.Thing.attributes(attribute_types)
454453
from grakn.service.Session.Concept import ConceptFactory
455-
return imap(lambda iter_res:
454+
return map(lambda iter_res:
456455
ConceptFactory.create_remote_concept(self._tx_service,
457456
iter_res.thing_attributes_iter_res.attribute),
458457
self._tx_service.run_concept_iter_method(self.id, attrs_req))
@@ -461,7 +460,7 @@ def roles(self):
461460
""" Retrieve iterator of roles this Thing plays """
462461
roles_req = RequestBuilder.ConceptMethod.Thing.roles()
463462
from grakn.service.Session.Concept import ConceptFactory
464-
return imap(lambda iter_res:
463+
return map(lambda iter_res:
465464
ConceptFactory.create_remote_concept(self._tx_service,
466465
iter_res.thing_roles_iter_res.role),
467466
self._tx_service.run_concept_iter_method(self.id, roles_req))
@@ -470,7 +469,7 @@ def keys(self, *attribute_types):
470469
""" Retrieve iterator of keys (i.e. actual attributes) of this Thing, filtered by the optionally provided attribute types """
471470
keys_req = RequestBuilder.ConceptMethod.Thing.keys(attribute_types)
472471
from grakn.service.Session.Concept import ConceptFactory
473-
return imap(lambda iter_res:
472+
return map(lambda iter_res:
474473
ConceptFactory.create_remote_concept(self._tx_service,
475474
iter_res.thing_keys_iter_res.attribute),
476475
self._tx_service.run_concept_iter_method(self.id, keys_req))
@@ -506,7 +505,7 @@ def owners(self):
506505
""" Retrieve entities that have this attribute value """
507506
owners_req = RequestBuilder.ConceptMethod.Attribute.owners()
508507
from grakn.service.Session.Concept import ConceptFactory
509-
return imap(lambda iter_res:
508+
return map(lambda iter_res:
510509
ConceptFactory.create_remote_concept(self._tx_service,
511510
iter_res.attribute_owners_iter_res.thing),
512511
self._tx_service.run_concept_iter_method(self.id, owners_req))
@@ -551,7 +550,7 @@ def role_players(self, *roles):
551550
""" Retrieve role players filtered by roles """
552551
role_players_req = RequestBuilder.ConceptMethod.Relation.role_players(roles)
553552
from grakn.service.Session.Concept import ConceptFactory
554-
return imap(lambda iter_res:
553+
return map(lambda iter_res:
555554
ConceptFactory.create_remote_concept(self._tx_service,
556555
iter_res.relation_rolePlayers_iter_res.thing),
557556
self._tx_service.run_concept_iter_method(self.id, role_players_req))

grakn/service/Session/TransactionService.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,14 @@
1818
#
1919

2020
import six
21-
from six.moves import queue
22-
23-
from itertools import imap
21+
from six.moves import queue, map
2422

2523
from grakn.service.Session.util.RequestBuilder import RequestBuilder
2624
import grakn.service.Session.util.ResponseReader as ResponseReader # for circular import issue
2725
from grakn.service.Session.util import enums
2826
from grakn.exception.GraknError import GraknError
2927

28+
3029
class TransactionService(object):
3130

3231
def __init__(self, session_id, tx_type, transaction_endpoint):
@@ -114,7 +113,7 @@ def run_concept_method(self, concept_id, grpc_concept_method_req):
114113
return response.conceptMethod_res.response
115114

116115
def run_concept_iter_method(self, concept_id, grpc_concept_iter_method_req):
117-
return imap(lambda res: res.conceptMethod_iter_res.response, Iterator(self._communicator, RequestBuilder.start_iterating_concept_method(concept_id, grpc_concept_iter_method_req)))
116+
return map(lambda res: res.conceptMethod_iter_res.response, Iterator(self._communicator, RequestBuilder.start_iterating_concept_method(concept_id, grpc_concept_iter_method_req)))
118117

119118
def explanation(self, explainable):
120119
""" Retrieve the explanation of a Concept Map from the server """

grakn/service/Session/util/ResponseReader.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,18 @@
1717
# under the License.
1818
#
1919

20-
from itertools import imap
21-
2220
import datetime
2321
from grakn.service.Session.util import enums
2422
from grakn.service.Session.Concept import ConceptFactory
25-
from grakn.exception.GraknError import GraknError
23+
from grakn.exception.GraknError import GraknError
24+
from six.moves import map
2625

2726

2827
class ResponseReader(object):
2928

3029
@staticmethod
3130
def get_query_results(tx_service, iterator):
32-
return imap(lambda iterate_res: AnswerConverter.convert(tx_service, iterate_res.query_iter_res.answer), iterator)
31+
return map(lambda iterate_res: AnswerConverter.convert(tx_service, iterate_res.query_iter_res.answer), iterator)
3332

3433
@staticmethod
3534
def get_concept(tx_service, grpc_get_schema_concept):
@@ -55,7 +54,7 @@ def get_schema_concept(tx_service, grpc_get_concept):
5554

5655
@staticmethod
5756
def get_attributes_by_value(tx_service, iterator):
58-
return imap(lambda iterate_res: ConceptFactory.create_remote_concept(tx_service, iterate_res.getAttributes_iter_res.attribute), iterator)
57+
return map(lambda iterate_res: ConceptFactory.create_remote_concept(tx_service, iterate_res.getAttributes_iter_res.attribute), iterator)
5958

6059
@staticmethod
6160
def put_entity_type(tx_service, grpc_put_entity_type):

0 commit comments

Comments
 (0)