class_docstr: An AttrTree offers convenient, multi-level attribute access for
  collections of objects. AttrTree objects may also be combined
  together using the update method or merge classmethod. Here is an
  example of adding a ViewableElement to an AttrTree and accessing it:
  
  >>> t = AttrTree()
  >>> t.Example.Path = 1
  >>> t.Example.Path                             #doctest: +ELLIPSIS
  1
class_docstr_tok: ["An","AttrTree","offers","convenient",",","multi-level","attribute","access","for","collections","of","objects",".","AttrTree","objects","may","also","be","combined","together","using","the","update","method","or","merge","classmethod",".","Here","is","an","example","of","adding","a","ViewableElement","to","an","AttrTree","and","accessing","it",":",">",">",">","t","=","AttrTree","(",")",">",">",">","t.Example.Path","=","1",">",">",">","t.Example.Path","#","doctest",":","+ELLIPSIS","1"]
docstr: Updated the contents of the current AttrTree with the
  contents of a second AttrTree.
docstr_tok: ["Updated","the","contents","of","the","current","AttrTree","with","the","contents","of","a","second","AttrTree","."]
code: def update(self, other):
      """
      Updated the contents of the current AttrTree with the
      contents of a second AttrTree.
      """
      if not isinstance(other, AttrTree):
          raise Exception("Can only update with another AttrTree type.")
      fixed_status = (self.fixed, other.fixed)
      (self.fixed, other.fixed) = (False, False)
      for identifier, element in other.items():
          if identifier not in self.data:
              self[identifier] = element
          else:
              self[identifier].update(element)
      (self.fixed, other.fixed) = fixed_status
  
imports: from .None import util
  from .pprint import PrettyPrinter
label_desc: Use image node_id 8 for calling the AttrTree obj's underlying member method code with example usage: obj.update(other) without return types