diff --git a/README.rst b/README.rst index 4d7b67f..58aca8f 100644 --- a/README.rst +++ b/README.rst @@ -66,3 +66,16 @@ Usage: from . import msg # modules are still available, but importer has been deactivated. + + +I only believe what I can see: +------------------------------ +.. |SVG term anim| raw:: html + :file: ./doc/rosimport_take1.svg + + + + + + + diff --git a/doc/rosimport_take1.cast b/doc/rosimport_take1.cast new file mode 100644 index 0000000..8d11a10 --- /dev/null +++ b/doc/rosimport_take1.cast @@ -0,0 +1,390 @@ +{"version": 2, "width": 80, "height": 24} +[0.0, "o", "\u001b]0;alexv@pop-os: ~\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~\u001b[00m$ "] +[1.288532, "o", "m"] +[1.318498, "o", "k"] +[1.432447, "o", "d"] +[1.495768, "o", "i"] +[1.560816, "o", "r"] +[1.673193, "o", " "] +[1.828062, "o", "r"] +[1.910604, "o", "o"] +[2.028498, "o", "s"] +[2.141465, "o", "i"] +[2.202345, "o", "m"] +[2.312848, "o", "p"] +[2.370819, "o", "o"] +[2.505013, "o", "r"] +[2.547316, "o", "t"] +[2.778505, "o", "_"] +[2.972006, "o", "t"] +[3.024869, "o", "e"] +[3.079031, "o", "s"] +[3.14583, "o", "t"] +[3.666123, "o", "\r\n"] +[3.67691, "o", "\u001b]0;alexv@pop-os: ~\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~\u001b[00m$ "] +[4.885515, "o", "c"] +[4.941625, "o", "d"] +[5.064124, "o", " "] +[5.161466, "o", "r"] +[5.208364, "o", "o"] +[5.40851, "o", "s"] +[5.665538, "o", "import_test/"] +[6.28693, "o", "\r\n"] +[6.294769, "o", "\u001b]0;alexv@pop-os: ~/rosimport_test\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~/rosimport_test\u001b[00m$ "] +[7.330293, "o", "m"] +[7.383206, "o", "k"] +[7.659728, "o", "v"] +[7.747509, "o", "i"] +[7.844839, "o", "r"] +[7.958941, "o", "t"] +[7.984477, "o", "u"] +[8.159491, "o", "q"] +[8.339169, "o", "l"] +[8.778412, "o", "\b\u001b[K"] +[8.857987, "o", "\b\u001b[K"] +[9.210464, "o", "a"] +[9.292833, "o", "l"] +[9.767099, "o", "e"] +[9.856059, "o", "n"] +[9.924358, "o", "v"] +[10.565841, "o", " "] +[10.750443, "o", "r"] +[10.864927, "o", "o"] +[10.952826, "o", "s"] +[11.196447, "o", "i"] +[11.279875, "o", "m"] +[11.414883, "o", "p"] +[11.482326, "o", "o"] +[11.669692, "o", "r"] +[12.812765, "o", "t"] +[13.364115, "o", "-"] +[13.591411, "o", "t"] +[13.649259, "o", "e"] +[13.708936, "o", "s"] +[13.754307, "o", "t"] +[14.829672, "o", "\r\n"] +[14.994413, "o", "New python executable in /home/alexv/.virtualenvs/rosimport-test/bin/python\r\n"] +[15.356091, "o", "Installing setuptools, pip, wheel...\r\n"] +[16.78779, "o", "done.\r\n"] +[17.136243, "o", "(rosimport-test) \u001b]0;alexv@pop-os: ~/rosimport_test\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~/rosimport_test\u001b[00m$ "] +[37.497643, "o", "m"] +[37.550227, "o", "k"] +[37.711419, "o", "d"] +[37.981039, "o", "i"] +[38.094561, "o", "r"] +[38.202991, "o", " "] +[38.520437, "o", "-"] +[39.029289, "o", "p"] +[39.239151, "o", " "] +[39.608387, "o", "m"] +[39.745162, "o", "y"] +[39.948078, "o", "p"] +[39.991924, "o", "k"] +[40.133152, "o", "g"] +[40.996737, "o", "/"] +[41.415602, "o", "m"] +[41.484768, "o", "s"] +[41.51516, "o", "g"] +[42.483933, "o", "\r\n"] +[42.49613, "o", "(rosimport-test) \u001b]0;alexv@pop-os: ~/rosimport_test\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~/rosimport_test\u001b[00m$ "] +[43.182869, "o", "t"] +[43.260577, "o", "o"] +[43.300484, "o", "u"] +[43.432853, "o", "c"] +[43.490693, "o", "h"] +[43.702694, "o", " "] +[44.026995, "o", "m"] +[44.157036, "o", "y"] +[44.346623, "o", "p"] +[44.400105, "o", "k"] +[44.516491, "o", "g"] +[45.959131, "o", "/"] +[46.393604, "o", "_"] +[46.51834, "o", "_"] +[46.773321, "o", "i"] +[46.815448, "o", "n"] +[46.907948, "o", "i"] +[47.054349, "o", "t"] +[47.387484, "o", "_"] +[47.537668, "o", "_"] +[48.771174, "o", "."] +[49.087036, "o", "p"] +[49.176813, "o", "y"] +[51.850725, "o", "\r\n"] +[51.861322, "o", "(rosimport-test) \u001b]0;alexv@pop-os: ~/rosimport_test\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~/rosimport_test\u001b[00m$ "] +[52.71954, "o", "e"] +[52.91441, "o", "c"] +[53.003949, "o", "h"] +[53.052567, "o", "o"] +[56.88768, "o", " "] +[57.451998, "o", "\""] +[58.370636, "o", "s"] +[58.525501, "o", "t"] +[58.607784, "o", "r"] +[58.643076, "o", "i"] +[58.693282, "o", "n"] +[58.762817, "o", "g"] +[59.374362, "o", " "] +[59.579281, "o", "m"] +[59.665305, "o", "y"] +[59.909026, "o", "s"] +[60.04332, "o", "t"] +[60.100936, "o", "r"] +[60.140682, "o", "i"] +[60.192074, "o", "n"] +[60.3085, "o", "g"] +[60.932358, "o", "\""] +[61.087462, "o", " "] +[61.381885, "o", ">"] +[62.899932, "o", " "] +[63.493551, "o", "m"] +[63.591772, "o", "y"] +[63.763492, "o", "p"] +[63.807375, "o", "k"] +[64.13967, "o", "g/"] +[65.865166, "o", "m \r"] +[66.091856, "o", "s"] +[66.220446, "o", "g/"] +[68.43113, "o", "M"] +[68.610815, "o", "y"] +[68.830431, "o", "M"] +[68.928651, "o", "e"] +[69.170127, "o", "s"] +[69.301692, "o", "s"] +[69.459952, "o", "a"] +[69.639674, "o", "g"] +[69.684194, "o", "e"] +[69.879194, "o", "."] +[70.108918, "o", "m"] +[70.175451, "o", "s"] +[70.215168, "o", "g"] +[73.807994, "o", "\r\n"] +[73.816402, "o", "(rosimport-test) \u001b]0;alexv@pop-os: ~/rosimport_test\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~/rosimport_test\u001b[00m$ "] +[74.74139, "o", "t"] +[74.791851, "o", "r"] +[75.045859, "o", "e"] +[75.143799, "o", "e"] +[75.500403, "o", "\r\n"] +[75.502899, "o", "\u001b[01;34m.\u001b[00m\r\n"] +[75.503119, "o", "└── \u001b[01;34mmypkg\u001b[00m\r\n ├── __init__.py\r\n └── \u001b[01;34mmsg\u001b[00m\r\n └── MyMessage.msg\r\n\r\n2 directories, 2 files\r\n"] +[75.511301, "o", "(rosimport-test) \u001b]0;alexv@pop-os: ~/rosimport_test\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~/rosimport_test\u001b[00m$ "] +[78.939421, "o", "p"] +[78.985618, "o", "y"] +[79.148874, "o", "t"] +[79.279006, "o", "h"] +[79.313448, "o", "o"] +[79.463709, "o", "n"] +[81.924658, "o", "\r\n"] +[81.933474, "o", "Python 2.7.16 (default, Apr 6 2019, 01:42:57) \r\n[GCC 8.3.0] on linux2\r\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\r\n"] +[81.934079, "o", ">>> "] +[88.370453, "o", "i"] +[88.408332, "o", "m"] +[88.533462, "o", "p"] +[88.595687, "o", "o"] +[88.68362, "o", "r"] +[88.741294, "o", "t"] +[88.843196, "o", " "] +[88.977364, "o", "r"] +[89.030986, "o", "o"] +[89.154264, "o", "s"] +[89.254711, "o", "i"] +[89.3323, "o", "m"] +[89.420071, "o", "p"] +[89.471935, "o", "o"] +[89.592083, "o", "r"] +[89.636881, "o", "t"] +[91.169838, "o", "\r\n"] +[91.231851, "o", ">>> "] +[91.908581, "o", "w"] +[91.970616, "o", "i"] +[92.083457, "o", "t"] +[92.158329, "o", "h"] +[92.313626, "o", " "] +[92.422042, "o", "r"] +[92.502752, "o", "o"] +[92.617814, "o", "s"] +[93.422985, "o", "i"] +[93.473591, "o", "m"] +[93.611797, "o", "p"] +[93.664357, "o", "o"] +[93.786194, "o", "r"] +[93.844085, "o", "t"] +[94.005906, "o", "."] +[95.194039, "o", "R"] +[95.326587, "o", "o"] +[95.434251, "o", "s"] +[95.713719, "o", "I"] +[95.908883, "o", "m"] +[96.05318, "o", "p"] +[96.106568, "o", "o"] +[96.218224, "o", "t"] +[96.378113, "o", "e"] +[96.445392, "o", "r"] +[96.977815, "o", "\b\u001b[K"] +[97.080414, "o", "\b\u001b[K"] +[97.211585, "o", "\b\u001b[K"] +[97.576124, "o", "r"] +[97.783672, "o", "t"] +[97.870934, "o", "e"] +[97.943256, "o", "r"] +[99.638326, "o", "("] +[99.694845, "o", ")"] +[100.172936, "o", ":"] +[101.221146, "o", "\r\n"] +[101.221381, "o", "... "] +[102.428704, "o", " "] +[102.550805, "o", " "] +[102.76905, "o", "i"] +[102.826655, "o", "m"] +[102.950501, "o", "p"] +[102.990574, "o", "o"] +[103.123669, "o", "r"] +[103.172318, "o", "t"] +[103.69808, "o", " "] +[104.014162, "o", "m"] +[104.10425, "o", "y"] +[104.321751, "o", "p"] +[104.365292, "o", "k"] +[104.511635, "o", "g"] +[104.801205, "o", "."] +[105.292572, "o", "m"] +[105.360168, "o", "s"] +[105.404048, "o", "g"] +[106.832902, "o", "\r\n"] +[106.833241, "o", "... "] +[107.797046, "o", "\r\n"] +[107.804584, "o", ">>> "] +[108.227017, "o", "m"] +[108.323019, "o", "y"] +[108.485744, "o", "p"] +[108.534088, "o", "k"] +[108.845769, "o", "g"] +[109.074849, "o", "."] +[109.394319, "o", "m"] +[109.466545, "o", "s"] +[109.552617, "o", "g"] +[110.033074, "o", "\r\n"] +[110.033338, "o", "\r\n>>> "] +[111.685132, "o", "d"] +[111.75285, "o", "i"] +[111.837433, "o", "r"] +[112.165074, "o", "("] +[112.849302, "o", "m"] +[112.92143, "o", "y"] +[113.113665, "o", "p"] +[113.147891, "o", "k"] +[113.283582, "o", "g"] +[113.508165, "o", "."] +[114.134449, "o", "m"] +[114.219468, "o", "s"] +[114.255129, "o", "g"] +[115.045995, "o", ")"] +[116.13919, "o", "\r\n"] +[116.139406, "o", "['MyMessage', '_MyMessage', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'genpy', 'python3', 'struct', 'sys']\r\n>>> "] +[118.116008, "o", "i"] +[118.178345, "o", "m"] +[118.28454, "o", "p"] +[118.334452, "o", "o"] +[118.460595, "o", "r"] +[118.518582, "o", "t"] +[118.665376, "o", " "] +[118.827395, "o", "i"] +[118.887742, "o", "n"] +[119.02691, "o", "s"] +[119.133637, "o", "p"] +[119.26458, "o", "e"] +[119.429694, "o", "c"] +[119.559533, "o", "t"] +[121.461056, "o", "\r\n"] +[121.461274, "o", ">>> "] +[124.211556, "o", "i"] +[124.250991, "o", "n"] +[124.376336, "o", "s"] +[124.443887, "o", "p"] +[124.570995, "o", "e"] +[124.720993, "o", "c"] +[124.85599, "o", "t"] +[126.428484, "o", "."] +[126.877647, "o", "\b\u001b[K"] +[127.002545, "o", "\b\u001b[K"] +[127.133753, "o", "\b\u001b[K"] +[127.272561, "o", "\b\u001b[K"] +[127.397056, "o", "\b\u001b[K"] +[127.536909, "o", "\b\u001b[K"] +[127.656696, "o", "\b\u001b[K"] +[127.986098, "o", "\b\u001b[K"] +[128.440328, "o", "r"] +[128.560678, "o", "i"] +[128.675324, "o", "n"] +[128.964853, "o", "\b\u001b[K"] +[129.0646, "o", "\b\u001b[K"] +[129.189546, "o", "\b\u001b[K"] +[129.443439, "o", "p"] +[129.578585, "o", "r"] +[129.656564, "o", "i"] +[129.727738, "o", "n"] +[129.826288, "o", "t"] +[130.133545, "o", "("] +[130.387996, "o", "i"] +[130.450593, "o", "n"] +[130.581874, "o", "s"] +[130.787932, "o", "p"] +[131.147205, "o", "e"] +[131.321939, "o", "c"] +[131.4819, "o", "t"] +[132.535447, "o", "."] +[132.964507, "o", "g"] +[133.026921, "o", "e"] +[133.104889, "o", "t"] +[133.394177, "o", "s"] +[133.48028, "o", "o"] +[133.520324, "o", "u"] +[133.596312, "o", "r"] +[133.78362, "o", "c"] +[133.818248, "o", "e"] +[134.504381, "o", "("] +[135.276656, "o", "m"] +[135.350178, "o", "y"] +[135.541017, "o", "p"] +[135.579019, "o", "k"] +[135.703693, "o", "g"] +[136.659804, "o", "."] +[137.049071, "o", "m"] +[137.163887, "o", "s"] +[137.24121, "o", "g"] +[137.50378, "o", "."] +[137.840552, "o", "m"] +[137.913203, "o", "y"] +[138.177664, "o", "s"] +[138.307685, "o", "t"] +[138.365413, "o", "r"] +[138.424724, "o", "i"] +[138.46672, "o", "n"] +[138.559903, "o", "g"] +[139.241047, "o", "\b\u001b[K"] +[139.360934, "o", "\b\u001b[K"] +[139.486024, "o", "\b\u001b[K"] +[139.625667, "o", "\b\u001b[K"] +[139.750722, "o", "\b\u001b[K"] +[140.299675, "o", "\b\u001b[K"] +[141.128504, "o", "\b\u001b[K"] +[141.253534, "o", "\b\u001b[K"] +[141.717733, "o", "M"] +[142.049591, "o", "y"] +[142.247121, "o", "M"] +[142.361313, "o", "e"] +[142.56656, "o", "s"] +[142.671447, "o", "s"] +[142.786513, "o", "a"] +[142.971206, "o", "g"] +[143.013398, "o", "e"] +[144.474125, "o", ")"] +[144.598894, "o", ")"] +[146.406525, "o", "\r\n"] +[146.413502, "o", "class MyMessage(genpy.Message):\r\n _md5sum = \"e8054fff057e825e73968032a7c26bc8\"\r\n _type = \"mypkg/MyMessage\"\r\n _has_header = False #flag to mark the presence of a Header object\r\n _full_text = \"\"\"string mystring\r\n\"\"\"\r\n __slots__ = ['mystring']\r\n _slot_types = ['string']\r\n\r\n def __init__(self, *args, **kwds):\r\n \"\"\"\r\n Constructor. Any message fields that are implicitly/explicitly\r\n set to None will be assigned a default value. The recommend\r\n use is keyword arguments as this is more robust to future message\r\n changes. You cannot mix in-order arguments and keyword arguments.\r\n\r\n The available fields are:\r\n mystring\r\n\r\n :param args: complete set of field values, in .msg order\r\n :param kwds: use keyword arguments corresponding to message field names\r\n to set specific fields.\r\n \"\"\"\r\n if args or kwds:\r\n super(MyMessage, self).__init__(*args, **kwds)\r\n #message fields cannot be None, assign default values for those that are\r\n if self.mystring is None:\r\n "] +[146.413741, "o", " self.mystring = ''\r\n else:\r\n self.mystring = ''\r\n\r\n def _get_types(self):\r\n \"\"\"\r\n internal API method\r\n \"\"\"\r\n return self._slot_types\r\n\r\n def serialize(self, buff):\r\n \"\"\"\r\n serialize message into buffer\r\n :param buff: buffer, ``StringIO``\r\n \"\"\"\r\n try:\r\n _x = self.mystring\r\n length = len(_x)\r\n if isinstance(_x, str if python3 else unicode):\r\n _x = _x.encode('utf-8')\r\n length = len(_x)\r\n buff.write(struct.pack('>> "] +[152.292059, "o", "\r\n"] +[152.319074, "o", "(rosimport-test) \u001b]0;alexv@pop-os: ~/rosimport_test\u0007\u001b[01;32malexv@pop-os\u001b[00m:\u001b[01;34m~/rosimport_test\u001b[00m$ "] +[154.294018, "o", "exit\r\n"] diff --git a/doc/rosimport_take1.svg b/doc/rosimport_take1.svg new file mode 100644 index 0000000..156f5a4 --- /dev/null +++ b/doc/rosimport_take1.svg @@ -0,0 +1,44 @@ + + + + + + + + + + alexv@pop-os:~$ alexv@pop-os:~$ m alexv@pop-os:~$ mk alexv@pop-os:~$ mkd alexv@pop-os:~$ mkdi alexv@pop-os:~$ mkdir alexv@pop-os:~$ mkdir alexv@pop-os:~$ mkdir r alexv@pop-os:~$ mkdir ro alexv@pop-os:~$ mkdir ros alexv@pop-os:~$ mkdir rosi alexv@pop-os:~$ mkdir rosim alexv@pop-os:~$ mkdir rosimp alexv@pop-os:~$ mkdir rosimpo alexv@pop-os:~$ mkdir rosimpor alexv@pop-os:~$ mkdir rosimport alexv@pop-os:~$ mkdir rosimport_ alexv@pop-os:~$ mkdir rosimport_t alexv@pop-os:~$ mkdir rosimport_te alexv@pop-os:~$ mkdir rosimport_tes alexv@pop-os:~$ mkdir rosimport_test alexv@pop-os:~$ c alexv@pop-os:~$ cd alexv@pop-os:~$ cd alexv@pop-os:~$ cd r alexv@pop-os:~$ cd ro alexv@pop-os:~$ cd ros alexv@pop-os:~$ cd rosimport_test/ alexv@pop-os:~/rosimport_test$ alexv@pop-os:~/rosimport_test$ m alexv@pop-os:~/rosimport_test$ mk alexv@pop-os:~/rosimport_test$ mkv alexv@pop-os:~/rosimport_test$ mkvi alexv@pop-os:~/rosimport_test$ mkvir alexv@pop-os:~/rosimport_test$ mkvirt alexv@pop-os:~/rosimport_test$ mkvirtu alexv@pop-os:~/rosimport_test$ mkvirtuq alexv@pop-os:~/rosimport_test$ mkvirtuql alexv@pop-os:~/rosimport_test$ mkvirtuq alexv@pop-os:~/rosimport_test$ mkvirtu alexv@pop-os:~/rosimport_test$ mkvirtua alexv@pop-os:~/rosimport_test$ mkvirtual alexv@pop-os:~/rosimport_test$ mkvirtuale alexv@pop-os:~/rosimport_test$ mkvirtualen alexv@pop-os:~/rosimport_test$ mkvirtualenv alexv@pop-os:~/rosimport_test$ mkvirtualenv alexv@pop-os:~/rosimport_test$ mkvirtualenv r alexv@pop-os:~/rosimport_test$ mkvirtualenv ro alexv@pop-os:~/rosimport_test$ mkvirtualenv ros alexv@pop-os:~/rosimport_test$ mkvirtualenv rosi alexv@pop-os:~/rosimport_test$ mkvirtualenv rosim alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimp alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimpo alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimpor alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimport alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimport- alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimport-t alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimport-te alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimport-tes alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimport-test (rosimport-test) alexv@pop-os:~/rosimport_test$ (rosimport-test) alexv@pop-os:~/rosimport_test$ m (rosimport-test) alexv@pop-os:~/rosimport_test$ mk (rosimport-test) alexv@pop-os:~/rosimport_test$ mkd (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdi (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir - (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p m (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p my (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p myp (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p mypk (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p mypkg (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p mypkg/ (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p mypkg/m (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p mypkg/ms (rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p mypkg/msg (rosimport-test) alexv@pop-os:~/rosimport_test$ t (rosimport-test) alexv@pop-os:~/rosimport_test$ to (rosimport-test) alexv@pop-os:~/rosimport_test$ tou (rosimport-test) alexv@pop-os:~/rosimport_test$ touc (rosimport-test) alexv@pop-os:~/rosimport_test$ touch (rosimport-test) alexv@pop-os:~/rosimport_test$ touch (rosimport-test) alexv@pop-os:~/rosimport_test$ touch m (rosimport-test) alexv@pop-os:~/rosimport_test$ touch my (rosimport-test) alexv@pop-os:~/rosimport_test$ touch myp (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypk (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/ (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/_ (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__ (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__i (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__in (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__ini (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__init (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__init_ (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__init__ (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__init__. (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__init__.p (rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__init__.py (rosimport-test) alexv@pop-os:~/rosimport_test$ e (rosimport-test) alexv@pop-os:~/rosimport_test$ ec (rosimport-test) alexv@pop-os:~/rosimport_test$ ech (rosimport-test) alexv@pop-os:~/rosimport_test$ echo (rosimport-test) alexv@pop-os:~/rosimport_test$ echo (rosimport-test) alexv@pop-os:~/rosimport_test$ echo " (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "s (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "st (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "str (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "stri (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "strin (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string m (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string my (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mys (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string myst (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystr (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystri (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystrin (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" > (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" > (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" > m (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" > my (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" > myp (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" > mypk (rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" > mypkg/ s sg/ sg/M sg/My sg/MyM sg/MyMe sg/MyMes sg/MyMess sg/MyMessa sg/MyMessag sg/MyMessage sg/MyMessage. sg/MyMessage.m sg/MyMessage.ms sg/MyMessage.msg (rosimport-test) alexv@pop-os:~/rosimport_test$ tr (rosimport-test) alexv@pop-os:~/rosimport_test$ tre (rosimport-test) alexv@pop-os:~/rosimport_test$ tree (rosimport-test) alexv@pop-os:~/rosimport_test$ p (rosimport-test) alexv@pop-os:~/rosimport_test$ py (rosimport-test) alexv@pop-os:~/rosimport_test$ pyt (rosimport-test) alexv@pop-os:~/rosimport_test$ pyth (rosimport-test) alexv@pop-os:~/rosimport_test$ pytho (rosimport-test) alexv@pop-os:~/rosimport_test$ python >>> >>> i >>> im >>> imp >>> impo >>> impor >>> import >>> import >>> import r >>> import ro >>> import ros >>> import rosi >>> import rosim >>> import rosimp >>> import rosimpo >>> import rosimpor >>> import rosimport >>> w >>> wi >>> wit >>> with >>> with >>> with r >>> with ro >>> with ros >>> with rosi >>> with rosim >>> with rosimp >>> with rosimpo >>> with rosimpor >>> with rosimport >>> with rosimport. >>> with rosimport.R >>> with rosimport.Ro >>> with rosimport.Ros >>> with rosimport.RosI >>> with rosimport.RosIm >>> with rosimport.RosImp >>> with rosimport.RosImpo >>> with rosimport.RosImpot >>> with rosimport.RosImpote >>> with rosimport.RosImpoter >>> with rosimport.RosImpote >>> with rosimport.RosImpot >>> with rosimport.RosImpo >>> with rosimport.RosImpor >>> with rosimport.RosImport >>> with rosimport.RosImporte >>> with rosimport.RosImporter >>> with rosimport.RosImporter( >>> with rosimport.RosImporter() alexv@pop-os:~$ mkdir rosimport_testalexv@pop-os:~$ cd rosimport_test/alexv@pop-os:~/rosimport_test$ mkvirtualenv rosimport-test New python executable in /home/alexv/.virtualenvs/rosimport-test/bin/pythonInstalling setuptools, pip, wheel...done.(rosimport-test) alexv@pop-os:~/rosimport_test$ mkdir -p mypkg/msg(rosimport-test) alexv@pop-os:~/rosimport_test$ touch mypkg/__init__.py(rosimport-test) alexv@pop-os:~/rosimport_test$ echo "string mystring" > mypkg/msg/MyMessage.msg(rosimport-test) alexv@pop-os:~/rosimport_test$ tree2 directories, 2 files.└── mypkg ├── __init__.py └── msg └── MyMessage.msg(rosimport-test) alexv@pop-os:~/rosimport_test$ pythonPython 2.7.16 (default, Apr 6 2019, 01:42:57) [GCC 8.3.0] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import rosimport>>> with rosimport.RosImporter(): ... ... ... ... i ... im ... imp ... impo ... impor ... import ... import ... import m ... import my ... import myp ... import mypk ... import mypkg ... import mypkg. ... import mypkg.m ... import mypkg.ms >>> with rosimport.RosImporter(): ... import mypkg.msg ... import mypkg.msg>>> m >>> my >>> myp >>> mypk >>> mypkg >>> mypkg. >>> mypkg.m >>> mypkg.ms ... >>> mypkg.msg >>> d >>> di >>> dir >>> dir( >>> dir(m >>> dir(my >>> dir(myp >>> dir(mypk >>> dir(mypkg >>> dir(mypkg. >>> dir(mypkg.m >>> dir(mypkg.ms >>> dir(mypkg.msg >>> mypkg.msg<module 'mypkg.msg' from '/tmp/rosimport/13345/mypkg/msg/__init__.py'>>>> dir(mypkg.msg) >>> import i >>> import in >>> import ins >>> import insp >>> import inspe >>> import inspec >>> dir(mypkg.msg)['MyMessage', '_MyMessage', '__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'genpy', 'python3', 'struct', 'sys']>>> import inspect >>> in >>> ins >>> insp >>> inspe >>> inspec >>> inspect >>> inspect. >>> inspect >>> inspec >>> inspe >>> insp >>> ins >>> in >>> i >>> >>> r >>> ri >>> rin >>> p >>> pr >>> pri >>> prin >>> print >>> print( >>> print(i >>> print(in >>> print(ins >>> print(insp >>> print(inspe >>> print(inspec >>> print(inspect >>> print(inspect. >>> print(inspect.g >>> print(inspect.ge >>> print(inspect.get >>> print(inspect.gets >>> print(inspect.getso >>> print(inspect.getsou >>> print(inspect.getsour >>> print(inspect.getsourc >>> print(inspect.getsource >>> print(inspect.getsource( >>> print(inspect.getsource(m >>> print(inspect.getsource(my >>> print(inspect.getsource(myp >>> print(inspect.getsource(mypk >>> print(inspect.getsource(mypkg >>> print(inspect.getsource(mypkg. >>> print(inspect.getsource(mypkg.m >>> print(inspect.getsource(mypkg.ms >>> print(inspect.getsource(mypkg.msg >>> print(inspect.getsource(mypkg.msg. >>> print(inspect.getsource(mypkg.msg.m >>> print(inspect.getsource(mypkg.msg.my >>> print(inspect.getsource(mypkg.msg.mys >>> print(inspect.getsource(mypkg.msg.myst >>> print(inspect.getsource(mypkg.msg.mystr >>> print(inspect.getsource(mypkg.msg.mystri >>> print(inspect.getsource(mypkg.msg.mystrin >>> print(inspect.getsource(mypkg.msg.mystring >>> print(inspect.getsource(mypkg.msg.M >>> print(inspect.getsource(mypkg.msg.My >>> print(inspect.getsource(mypkg.msg.MyM >>> print(inspect.getsource(mypkg.msg.MyMe >>> print(inspect.getsource(mypkg.msg.MyMes >>> print(inspect.getsource(mypkg.msg.MyMess >>> print(inspect.getsource(mypkg.msg.MyMessa >>> print(inspect.getsource(mypkg.msg.MyMessag >>> print(inspect.getsource(mypkg.msg.MyMessage >>> print(inspect.getsource(mypkg.msg.MyMessage) >>> import inspect>>> print(inspect.getsource(mypkg.msg.MyMessage)) >>> print(inspect.getsource(mypkg.msg.MyMessage)) def deserialize_numpy(self, str, numpy): """ unpack serialized message in str into this message instance using numpy for array types :param str: byte array of serialized message, ``str`` :param numpy: numpy python module try: end = 0 start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) end += length if python3: self.mystring = str[start:end].decode('utf-8') else: self.mystring = str[start:end] return self except struct.error as e: raise genpy.DeserializationError(e) #most likely buffer underfill>>> (rosimport-test) alexv@pop-os:~/rosimport_test$ exit + \ No newline at end of file