Pārlūkot izejas kodu

add port selection to the config

nico 8 gadi atpakaļ
vecāks
revīzija
6b1d37df27

+ 3 - 2
core/ConfigurationManager/SettingLoader.py

@@ -226,6 +226,7 @@ class SettingLoader(object):
             login = rest_api["login"]
             password = rest_api["password"]
             active = rest_api["active"]
-            rest_api_obj = RestAPI(password_protected=password_protected, login=login, password=password, active=active)
+            port = rest_api["port"]
+            rest_api_obj = RestAPI(password_protected=password_protected, login=login, password=password, active=active, port=port)
 
-            return rest_api_obj
+            return rest_api_obj

+ 9 - 6
core/Models/RestAPI.py

@@ -1,5 +1,5 @@
 class RestAPI(object):
-    def __init__(self, password_protected=None, login=None, password=None, active=None):
+    def __init__(self, password_protected=None, login=None, password=None, active=None, port=None):
         """
 
         :param password_protected: If true, the rest api will ask for an authentication
@@ -11,10 +11,13 @@ class RestAPI(object):
         self.login = login
         self.password = password
         self.active = active
+        self.port = port
 
     def __str__(self):
-        return "%s: RestAPI: password_protected: %s, login: %s, password: %s, active: %s" % (self.__class__.__name__,
-                                                                                             self.password_protected,
-                                                                                             self.login,
-                                                                                             self.password,
-                                                                                             self.active)
+        return "%s: RestAPI: password_protected: %s, login: %s, " \
+               "password: %s, active: %s, port: %s" % (self.__class__.__name__,
+                                                       self.password_protected,
+                                                       self.login,
+                                                       self.password,
+                                                       self.active,
+                                                       self.port)

+ 3 - 2
core/RestAPI/FlaskAPI.py

@@ -8,9 +8,10 @@ from core.SynapseLauncher import SynapseLauncher
 
 
 class FlaskAPI(threading.Thread):
-    def __init__(self, app, brain_file=None):
+    def __init__(self, app, port=5000, brain_file=None):
         super(FlaskAPI, self).__init__()
         self.app = app
+        self.port = port
         self.brain_file = brain_file
         self.brain_yaml = BrainLoader.get_yaml_config(file_path=self.brain_file)
 
@@ -19,7 +20,7 @@ class FlaskAPI(threading.Thread):
         self.app.add_url_rule('/synapses/<synapse_name>', view_func=self.run_synapse, methods=['POST'])
 
     def run(self):
-        self.app.run(host='0.0.0.0', debug=True, threaded=True, use_reloader=False)
+        self.app.run(host='0.0.0.0', port="%s" % int(self.port), debug=True, threaded=True, use_reloader=False)
 
     def _get_synapse_by_name(self, synapse_name):
         """

+ 1 - 0
settings.yml

@@ -102,6 +102,7 @@ random_wake_up_sounds:
 # ---------------------------
 rest_api:
   active: True
+  port: 5000
   password_protected: True
   login: admin
   password: secret