'Init the plugin of plugins class.
All Glances\' plugins should inherit from this class. Most of the
methods are already implemented in the father classes.
Your plugin should return a dict or a list of dicts (stored in the
self.stats). As an example, you can have a look on the mem plugin
(for dict) or network (for list of dicts).
A plugin should implement:
- the __init__ constructor: define the self.display_curse
- the reset method: to set your self.stats variable to {} or []
- the update method: where your self.stats variable is set
and optionnaly:
- the get_key method: set the key of the dict (only for list of dict)
- the update_view method: only if you need to trick your output
- the msg_curse: define the curse (UI) message (if display_curse is True)
:args: args parameters
:items_history_list: list of items to store in the history'

def __init__(self, args=None, items_history_list=None):

    self.plugin_name = self.__class__.__module__[len('glances_'):]
    self.args = args
    self._align = 'left'
    self._input_method = 'local'
    self._short_system_name = None
    self.items_history_list = items_history_list
    self.stats_history = self.init_stats_history()
    self._limits = dict()
    self.actions = GlancesActions(args=args)
    self.views = dict()
    self.stats = None
    self.reset()
