docs: def get_addon_module_name(addonxml_filename):
      '''Attempts to extract a module name for the given addon's addon.xml file.
      Looks for the 'xbmc.python.pluginsource' extension node and returns the
      addon's filename without the .py suffix.
      '''
      try:
          xml = ET.parse(addonxml_filename).getroot()
      except IOError:
          sys.exit('Cannot find an addon.xml file in the current working '
                   'directory. Please run this command from the root directory '
                   'of an addon.')
  
      try:
          plugin_source = (ext for ext in xml.findall('extension') if
                           ext.get('point') == 'xbmc.python.pluginsource').next()
      except StopIteration:
          sys.exit('ERROR, no pluginsource in addonxml')
  
      return plugin_source.get('library').split('.')[0]