This file is indexed.

/usr/lib/python3/dist-packages/morse/middleware/sockets/jointstate.py is in python3-morse-simulator 1.4-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import logging; logger = logging.getLogger("morse." + __name__)
import json
from morse.middleware.socket_datastream import SocketPublisher

def fill_missing_pr2_joints(joints):

    pr2_joints = {
                'laser_tilt_mount_joint':0.0, 
                'fl_caster_rotation_joint':0.0, 
                'fl_caster_l_wheel_joint':0.0, 
                'fl_caster_r_wheel_joint':0.0, 
                'fr_caster_rotation_joint':0.0, 
                'fr_caster_l_wheel_joint':0.0, 
                'fr_caster_r_wheel_joint':0.0, 
                'bl_caster_rotation_joint':0.0, 
                'bl_caster_l_wheel_joint':0.0, 
                'bl_caster_r_wheel_joint':0.0, 
                'br_caster_rotation_joint':0.0, 
                'br_caster_l_wheel_joint':0.0, 
                'br_caster_r_wheel_joint':0.0, 
                'r_gripper_motor_slider_joint':0.0, 
                'r_gripper_motor_screw_joint':0.0, 
                'r_gripper_l_finger_joint':0.0, 
                'r_gripper_r_finger_joint':0.0, 
                'r_gripper_l_finger_tip_joint':0.0, 
                'r_gripper_r_finger_tip_joint':0.0, 
                'r_gripper_joint':0.0, 
                'l_gripper_motor_slider_joint':0.0, 
                'l_gripper_motor_screw_joint':0.0, 
                'l_gripper_l_finger_joint':0.0, 
                'l_gripper_r_finger_joint':0.0, 
                'l_gripper_l_finger_tip_joint':0.0, 
                'l_gripper_r_finger_tip_joint':0.0, 
                'l_gripper_joint':0.0, 
                'torso_lift_joint':0.0, 
                'torso_lift_motor_screw_joint':0.0, 
                'head_pan_joint':0.0, 
                'head_tilt_joint':0.0, 
                'l_shoulder_pan_joint':0.0, 
                'l_shoulder_lift_joint':0.0, 
                'l_upper_arm_roll_joint':0.0, 
                'l_elbow_flex_joint':0.0, 
                'l_forearm_roll_joint':0.0, 
                'l_wrist_flex_joint':0.0, 
                'l_wrist_roll_joint':0.0, 
                'r_shoulder_pan_joint':0.0, 
                'r_shoulder_lift_joint':0.0, 
                'r_upper_arm_roll_joint':0.0, 
                'r_elbow_flex_joint':0.0, 
                'r_forearm_roll_joint':0.0, 
                'r_wrist_flex_joint':0.0, 
                'r_wrist_roll_joint':0.0}

    for k, v in joints.items():
        if k != 'timestamp':
            for name, value in v.items():
                pr2_joints[name] = value

    return pr2_joints

class PR2JointStatePublisher(SocketPublisher):

    _type_name = "a JSON dict containing the values of each of the Willow Garage's PR2 joints"

    def encode(self):
        joints =  fill_missing_pr2_joints(self.component_instance.local_data)
        return (json.dumps(joints) + '\n').encode()