<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def satellites_list(self, daemon_type=''):
 """Get the arbiter satellite names sorted by type Returns a list of the satellites as in: { reactionner: [ "reactionner-master" ], broker: [ "broker-master" ], arbiter: [ "arbiter-master" ], scheduler: [ "scheduler-master-3", "scheduler-master", "scheduler-master-2" ], receiver: [ "receiver-nsca", "receiver-master" ], poller: [ "poller-master" ] } If a specific daemon type is requested, the list is reduced to this unique daemon type: { scheduler: [ "scheduler-master-3", "scheduler-master", "scheduler-master-2" ] } :param daemon_type: daemon type to filter :type daemon_type: str :return: dict with key *daemon_type* and value list of daemon name :rtype: dict """

        with self.app.conf_lock:
            res = {}

            for s_type in ['arbiter', 'scheduler', 'poller', 'reactionner', 'receiver', 'broker']:
                if daemon_type and daemon_type != s_type:
                    continue
                satellite_list = []
                res[s_type] = satellite_list
                for daemon_link in getattr(self.app.conf, s_type + 's', []):
                    satellite_list.append(daemon_link.name)
            return res