Skip to content

Commit

Permalink
#54 - Send entities to modules
Browse files Browse the repository at this point in the history
  • Loading branch information
n1amr committed Jul 9, 2017
1 parent 5f5ce44 commit d746d8d
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 15 deletions.
22 changes: 11 additions & 11 deletions alfred/alfred.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,16 @@ def process_text(self, text):

self.main_widget.show_module_running_widget(module_info.name)

self.set_module(module_info)
entities_dict = {}
try:
needed_entities = module_info.needed_entities()
Parser([]).set_entities_types(needed_entities)
entities_dict = Parser([]).parse(text)
except:
Logger().err('Could not extract named entities')
Logger().info("Extracted Entities are {}".format(entities_dict))

self.set_module(module_info, entities_dict)
self.main_widget.set_status_icon_busy(False)

@pyqtSlot()
Expand Down Expand Up @@ -168,7 +176,7 @@ def add_new_sentence(self):
self.main_widget.showFullScreen()
self.main_widget.lineEdit.setText(self.curr_sentence)

def set_module(self, module_info):
def set_module(self, module_info, entities_dict):
if module_info.root() in sys.path:
sys.path.remove(module_info.root())
sys.path.append(module_info.root())
Expand All @@ -181,17 +189,9 @@ def set_module(self, module_info):
self.web_bridge.signal_event_triggered.disconnect(self.curr_module.event_triggered)
self.web_bridge.signal_form_submitted.disconnect(self.curr_module.form_submitted)

try:
needed_entities = module_info.needed_entities()
Parser([]).set_entities_types(needed_entities)
entities_list = Parser([]).parse(text)
Logger().info("Extracted Entities are {}".format(entities_list))
except:
entities_list = {}

self.curr_module = getattr(
module, module_info.class_name()
)(module_info, entities_list)
)(module_info, entities_dict)

self.curr_module.signal_view_changed.connect(self.main_widget.set_view)

Expand Down
4 changes: 3 additions & 1 deletion alfred/modules/api/a_base_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class ABaseModule(QThread):
signal_append_content = pyqtSignal(str, str)
signal_remove_component = pyqtSignal(str)

def __init__(self, module_info, entities={}):
def __init__(self, module_info, entities):
QThread.__init__(self)
self.components = []
self.module_info = module_info
Expand Down Expand Up @@ -43,6 +43,8 @@ def __init__(self, module_info, entities={}):
self.callback_method = None
self.callback_method_args = []

self.entities = entities

def run(self):
try:
if self.callback_method is None:
Expand Down
9 changes: 6 additions & 3 deletions alfred/modules/module_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,13 @@ def needed_entities(self):
self.package_name(),
'resources',
'needed_entities.json')
with open(path) as entities_file:
entities_sent = json.load(entities_file)
if os.path.isfile(path):
with open(path) as entities_file:
needed_entities = json.load(entities_file)
else:
needed_entities = []

return entities_sent
return needed_entities

def package_name(self) -> str:
return re.sub(r'\W', '_', self.name)
Expand Down

0 comments on commit d746d8d

Please sign in to comment.