From e8b426c1d38150cb778e03f668df916e58c23e98 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Tue, 2 May 2023 15:39:58 +0000
Subject: [PATCH] Service component:

- Minor code cleanup before merging
---
 src/service/requirements.in                       |  4 ++--
 src/service/service/ServiceServiceServicerImpl.py | 11 ++++-------
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/src/service/requirements.in b/src/service/requirements.in
index 41034109f..61f27a20b 100644
--- a/src/service/requirements.in
+++ b/src/service/requirements.in
@@ -14,7 +14,7 @@
 
 
 anytree==2.8.0
+geopy==2.3.0
 networkx==2.6.3
 pydot==1.4.2
-redis==4.1.2
-geopy==2.3.0
\ No newline at end of file
+redis==4.1.2
\ No newline at end of file
diff --git a/src/service/service/ServiceServiceServicerImpl.py b/src/service/service/ServiceServiceServicerImpl.py
index ad44ff183..50886d9d5 100644
--- a/src/service/service/ServiceServiceServicerImpl.py
+++ b/src/service/service/ServiceServiceServicerImpl.py
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import grpc, json, logging
+import copy, grpc, json, logging
 from typing import Optional
 from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_method
 from common.method_wrappers.ServiceExceptions import AlreadyExistsException, InvalidArgumentException
@@ -26,7 +26,6 @@ from pathcomp.frontend.client.PathCompClient import PathCompClient
 from .service_handler_api.ServiceHandlerFactory import ServiceHandlerFactory
 from .task_scheduler.TaskScheduler import TasksScheduler
 from .tools.GeodesicDistance import gps_distance
-import copy
 
 LOGGER = logging.getLogger(__name__)
 
@@ -121,18 +120,16 @@ class ServiceServiceServicerImpl(ServiceServiceServicer):
         for config_rule in request.service_config.config_rules:
             service.service_config.config_rules.add().CopyFrom(config_rule) # pylint: disable=no-member
 
-
         for constraint in request.service_constraints:
             if constraint.WhichOneof('constraint') == 'endpoint_location':
-                context_client = ContextClient()
                 device_list = context_client.ListDevices(Empty())
                 service_location = constraint.endpoint_location.location
                 distances = {}
                 for device in device_list.devices:
                     for endpoint in device.device_endpoints:
-                        if endpoint.endpoint_location.HasField('gps_position'):
-                            distance = gps_distance(service_location.gps_position, endpoint.endpoint_location.gps_position)
-                            distances[distance] = endpoint.endpoint_id
+                        if not endpoint.endpoint_location.HasField('gps_position'): continue
+                        distance = gps_distance(service_location.gps_position, endpoint.endpoint_location.gps_position)
+                        distances[distance] = endpoint.endpoint_id
 
                 closer_endpoint_uuid = distances[min(distances)]
                 service.service_endpoint_ids.append(closer_endpoint_uuid)
-- 
GitLab