pkg_version.py
Go to the documentation of this file.
1 #! /usr/bin/python
2 import os
3 import rospkg
4 import subprocess
5 import xml.etree.ElementTree as ET
6 
7 
8 def versionSupport(pkg):
9  if pkg in rospack.list() or pkg in rosstack.list():
10  try:
11  os.chdir(rospack.get_path(pkg))
12  except:
13  os.chdir(rosstack.get_path(pkg))
14  finally:
15  # Checks if we are in a Git repository
16  if (subprocess.call(['git', 'branch'], stderr=subprocess.STDOUT, stdout=open(os.devnull, 'w')) == 0):
17  proc = subprocess.Popen(['git', 'describe', '--tags'], stdout=subprocess.PIPE, stderr=open(os.devnull, 'w'))
18  else:
19  proc = subprocess.Popen(['rosversion', pkg], stdout=subprocess.PIPE)
20  version = proc.communicate()[0].rstrip()
21 
22  if (version == '<unversioned>' and os.path.isfile('package.xml')):
23  tree = ET.parse('package.xml').getroot()
24  version = tree.find('version').text
25  print("(%s) - %s" % (pkg, version))
26  else:
27  print("(%s) - Not found." % pkg)
28 
29 
30 pkgs = ['move_basic',
31  'ubiquity_motor',
32  'fiducials',
33  'magni_robot',
34  'fiducial_slam',
35  'raspicam_node',
36  'pi_sonar',
37  'oled_display_node',
38  'dnn_detect']
39 
40 if __name__ == '__main__':
41 
42  rospack = rospkg.RosPack()
43  rosstack = rospkg.RosStack()
44  try:
45  from joblib import Parallel, delayed
46  Parallel(n_jobs=-1)(delayed(versionSupport)(pkg) for pkg in pkgs)
47 
48  except ImportError:
49  for pkg in pkgs:
50  versionSupport(pkg)
def versionSupport(pkg)
Definition: pkg_version.py:8


magni_bringup
Author(s):
autogenerated on Tue Jun 1 2021 02:33:35