EISA 2.0

So for a while I as working on personal type assistant thing called EISA. Well after a lot of consideration I have decided to rewrite EISA.

Why

EISA was written in python over a few years with sparse development. Over that time I have learned a lot more about coding and whenever attempting to return and make new modules for EISA I would have to dig thorugh lots of old and poorly written and marked code to figure out what I needed to do to deal with some of the old infrastructure for EISA I had put in place.

Well this complicated mess of poor code was never my intent, EISA was supposed to be a backbone for lots of other code, and after you have the backbone you dont need to mess with the two main files again, and instead all I was doing was messing with those files. So I decided to rewrite everything

Whats New

So the old EISA you had to write the mod code and then have code in the main processing file that would talk to that other code and it was a mess.

In the new EISA there are two new main folders, one is the modules file and the other is mod_dict.

modules

This file houses all the modules that do the heavy lifting for there own purposes. one constant input is passed on to these files which then have to be dealt with in the file. Before what happened was in main processing you would cater the output to each module which was dumb and was a pain to do everytime.

mod_dicts

So this is the most important new feature. For each mod added you need to have a module dictionary. These module dictionaries all have the same format and allows the file to load all the mods that are enabled.

The format is as follows

{'name': 'name of modules', 'action': 'module program name.py', 'keywords': {'keyword1', 'keyword2'}}

this is important because it tells the program where to look and what to do without editing the main two files.

Conclusion

Im really happy with this new EISA, if anybody has any better ideas for names just email me them id love input. I did take me some time and some frustration to rewrite everything but ultimately im pretty sure this will enhance future development

The code for EISA_2.0 can be found this here

Gage Coprivnicar