<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _publish_status(self, port):
        '''
        Publish status for specified port.

        Parameters
        ----------
        port : str
            Device name/port.
        '''
        if port not in self.open_devices:
            status = {}
        else:
            device = self.open_devices[port].serial
            properties = ('port', 'baudrate', 'bytesize', 'parity', 'stopbits',
                          'timeout', 'xonxoff', 'rtscts', 'dsrdtr')
            status = {k: getattr(device, k) for k in properties}
        status_json = json.dumps(status)
        self.mqtt_client.publish(topic='serial_device/%s/status' % port,
                                 payload=status_json, retain=True)