in usb_monitor_pkg/usb_monitor_pkg/usb_monitor_node.py [0:0]
def get_mount_point(self, node_name, post_action=None):
"""Return a MountPoint object from the cache or create one if it does not exist.
Args:
node_name (str): Name of the node mounted.
post_action (function, optional): Optional post action function.
Defaults to None.
Returns:
MountPoint: Mount point tracker object.
"""
try:
mount_point = self.mount_point_map[node_name]
if not mount_point.is_valid():
raise Exception("Not a valid mount point.")
self.get_logger().info(f"{node_name} is previosuly mounted")
mount_point.ref_inc()
mount_point.add_post_action(post_action)
except Exception:
self.get_logger().info(f"Creating a mount point for {node_name}")
mount_point = mount_point_tracker.MountPoint(node_name,
self.get_logger(),
post_action)
self.mount_point_map[node_name] = mount_point
return mount_point