Replace eval with getattr when loading plugin classes
This commit is contained in:
@@ -619,8 +619,8 @@ class ArgHandler:
|
|||||||
#import of plugin failed
|
#import of plugin failed
|
||||||
return
|
return
|
||||||
category = pdata.category
|
category = pdata.category
|
||||||
report_class = eval('mod.' + pdata.reportclass)
|
report_class = getattr(mod, pdata.reportclass)
|
||||||
options_class = eval('mod.' + pdata.optionclass)
|
options_class = getattr(mod, pdata.optionclass)
|
||||||
if category in (CATEGORY_BOOK, CATEGORY_CODE):
|
if category in (CATEGORY_BOOK, CATEGORY_CODE):
|
||||||
options_class(self.dbstate.db, name, category,
|
options_class(self.dbstate.db, name, category,
|
||||||
options_str_dict)
|
options_str_dict)
|
||||||
@@ -668,8 +668,8 @@ class ArgHandler:
|
|||||||
#import of plugin failed
|
#import of plugin failed
|
||||||
return
|
return
|
||||||
category = pdata.category
|
category = pdata.category
|
||||||
tool_class = eval('mod.' + pdata.toolclass)
|
tool_class = getattr(mod, pdata.toolclass)
|
||||||
options_class = eval('mod.' + pdata.optionclass)
|
options_class = getattr(mod, pdata.optionclass)
|
||||||
tool.cli_tool(dbstate=self.dbstate,
|
tool.cli_tool(dbstate=self.dbstate,
|
||||||
name=name,
|
name=name,
|
||||||
category=category,
|
category=category,
|
||||||
|
@@ -100,9 +100,9 @@ class BookItem:
|
|||||||
else:
|
else:
|
||||||
self.category = book_categories[pdata.category]
|
self.category = book_categories[pdata.category]
|
||||||
mod = pmgr.load_plugin(pdata)
|
mod = pmgr.load_plugin(pdata)
|
||||||
self.write_item = eval('mod.' + pdata.reportclass)
|
self.write_item = getattr(mod, pdata.reportclass)
|
||||||
self.name = pdata.id
|
self.name = pdata.id
|
||||||
oclass = eval('mod.' + pdata.optionclass)
|
oclass = getattr(mod, pdata.optionclass)
|
||||||
self.option_class = oclass(self.name, self.dbase)
|
self.option_class = oclass(self.name, self.dbase)
|
||||||
self.option_class.load_previous_values()
|
self.option_class.load_previous_values()
|
||||||
|
|
||||||
|
@@ -2310,7 +2310,7 @@ def get_relationship_calculator(reinit=False, clocale=glocale):
|
|||||||
# the loaded module is put in variable mod
|
# the loaded module is put in variable mod
|
||||||
mod = pmgr.load_plugin(plugin)
|
mod = pmgr.load_plugin(plugin)
|
||||||
if mod:
|
if mod:
|
||||||
__RELCALC_CLASS = eval('mod.' + plugin.relcalcclass)
|
__RELCALC_CLASS = getattr(mod, plugin.relcalcclass)
|
||||||
relation_translation_found = True
|
relation_translation_found = True
|
||||||
break
|
break
|
||||||
if not relation_translation_found and \
|
if not relation_translation_found and \
|
||||||
|
@@ -250,8 +250,8 @@ class PluginDialog(ManagedWindow):
|
|||||||
active_handle = self.uistate.get_active('Person')
|
active_handle = self.uistate.get_active('Person')
|
||||||
report(self.state, self.uistate,
|
report(self.state, self.uistate,
|
||||||
self.state.db.get_person_from_handle(active_handle),
|
self.state.db.get_person_from_handle(active_handle),
|
||||||
eval('mod.' + pdata.reportclass),
|
getattr(mod, pdata.reportclass),
|
||||||
eval('mod.' + pdata.optionclass),
|
getattr(mod, pdata.optionclass),
|
||||||
pdata.name, pdata.id,
|
pdata.name, pdata.id,
|
||||||
pdata.category, pdata.require_active)
|
pdata.category, pdata.require_active)
|
||||||
else:
|
else:
|
||||||
@@ -259,8 +259,8 @@ class PluginDialog(ManagedWindow):
|
|||||||
tool.gui_tool(
|
tool.gui_tool(
|
||||||
dbstate = self.state,
|
dbstate = self.state,
|
||||||
user = User(uistate=self.uistate),
|
user = User(uistate=self.uistate),
|
||||||
tool_class = eval('mod.' + pdata.toolclass),
|
tool_class = getattr(mod, pdata.toolclass),
|
||||||
options_class = eval('mod.' + pdata.optionclass),
|
options_class = getattr(mod, pdata.optionclass),
|
||||||
translated_name = pdata.name,
|
translated_name = pdata.name,
|
||||||
name = pdata.id,
|
name = pdata.id,
|
||||||
category = pdata.category,
|
category = pdata.category,
|
||||||
|
@@ -222,7 +222,7 @@ def run_quick_report_by_name_direct(report_name, database, document, handle):
|
|||||||
d.open("")
|
d.open("")
|
||||||
mod = pmgr.load_plugin(report)
|
mod = pmgr.load_plugin(report)
|
||||||
if mod:
|
if mod:
|
||||||
reportfunc = eval('mod.' + report.runfunc)
|
reportfunc = getattr(mod, report.runfunc)
|
||||||
retval = reportfunc(database, d, handle)
|
retval = reportfunc(database, d, handle)
|
||||||
d.close()
|
d.close()
|
||||||
return retval
|
return retval
|
||||||
@@ -246,7 +246,7 @@ def run_report(dbstate, uistate, category, handle, pdata, container=None,
|
|||||||
if not mod:
|
if not mod:
|
||||||
print("QuickView Error: plugin does not load")
|
print("QuickView Error: plugin does not load")
|
||||||
return
|
return
|
||||||
func = eval('mod.' + pdata.runfunc)
|
func = getattr(mod, pdata.runfunc)
|
||||||
if handle:
|
if handle:
|
||||||
d = TextBufDoc(make_basic_stylesheet(), None, track=track)
|
d = TextBufDoc(make_basic_stylesheet(), None, track=track)
|
||||||
d.dbstate = dbstate
|
d.dbstate = dbstate
|
||||||
|
@@ -251,7 +251,7 @@ class PlaceBaseView(ListView):
|
|||||||
serv = self.mapservicedata[self.mapservice]
|
serv = self.mapservicedata[self.mapservice]
|
||||||
mod = pmgr.load_plugin(serv)
|
mod = pmgr.load_plugin(serv)
|
||||||
if mod:
|
if mod:
|
||||||
servfunc = eval('mod.' + serv.mapservice)
|
servfunc = getattr(mod, serv.mapservice)
|
||||||
servfunc()(self.dbstate.db, places, self.uistate)
|
servfunc()(self.dbstate.db, places, self.uistate)
|
||||||
else:
|
else:
|
||||||
print('Failed to load map plugin, see Plugin Manager')
|
print('Failed to load map plugin, see Plugin Manager')
|
||||||
|
Reference in New Issue
Block a user