'Set the filter (as a sting) and compute the regular expression
A filter could be one of the following:
- python > Process name of cmd start with python
- .*python.* > Process name of cmd contain python
- username:nicolargo > Process of nicolargo user'

@filter.setter
def filter(self, value):

    self._filter_input = value
    if (value is None):
        self._filter = None
        self._filter_key = None
    else:
        new_filter = value.split(':')
        if (len(new_filter) == 1):
            self._filter = new_filter[0]
            self._filter_key = None
        else:
            self._filter = new_filter[1]
            self._filter_key = new_filter[0]
    self._filter_re = None
    if (self.filter is not None):
        logger.info('Set    filter    to    {}    on    key    {}'.format(self.filter, self.filter_key))
        try:
            self._filter_re = re.compile(self.filter)
            logger.debug('Filter    regex    compilation    OK:    {}'.format(self.filter))
        except Exception as e:
            logger.error('Cannot    compile    filter    regex:    {}    ({})'.format(self.filter, e))
            self._filter = None
            self._filter_re = None
            self._filter_key = None
