parameters: (self, file_dict)
return_statement: return etree.tostring(root, encoding='utf-8') if root is not None else b'', checksum.hexdigest()[:64]
docstring: Concatenate xml files
  
          :param dict(list) file_dict:
              key: addon name
              value: list of files for an addon
          :returns: (concatenation_result, checksum)
          :rtype: (bytes, str)
docstring_summary: Concatenate xml files
docstring_tokens: Concatenate xml files
function: def _concat_xml(self, file_dict):
          """Concatenate xml files
  
          :param dict(list) file_dict:
              key: addon name
              value: list of files for an addon
          :returns: (concatenation_result, checksum)
          :rtype: (bytes, str)
          """
          checksum = hashlib.new('sha512')  # sha512/256
          if not file_dict:
              return b'', checksum.hexdigest()
  
          root = None
          for addon, fnames in file_dict.items():
              for fname in fnames:
                  contents = self._read_addon_file(fname)
                  checksum.update(contents)
                  if not self.checksum_only:
                      xml = self._compute_xml_tree(addon, fname, contents)
  
                      if root is None:
                          root = etree.Element('templates')
  
          for addon in self.template_dict.values():
              for template in addon.values():
                  root.append(template)
  
          return etree.tostring(root, encoding='utf-8') if root is not None else b'', checksum.hexdigest()[:64]
function_tokens: def _concat_xml ( self , file_dict ) : checksum = hashlib . new ( 'sha512' ) # sha512/256 if not file_dict : return b'' , checksum . hexdigest ( ) root = None for addon , fnames in file_dict . items ( ) : for fname in fnames : contents = self . _read_addon_file ( fname ) checksum . update ( contents ) if not self . checksum_only : xml = self . _compute_xml_tree ( addon , fname , contents ) if root is None : root = etree . Element ( 'templates' ) for addon in self . template_dict . values ( ) : for template in addon . values ( ) : root . append ( template ) return etree . tostring ( root , encoding = 'utf-8' ) if root is not None else b'' , checksum . hexdigest ( ) [ : 64 ]