title: Hachoir - Retrieving data from a group
body: <p>Trying to use Hachoir to retrieve metadata from a video file.  Working reasonably well except when using 'get' or similar to return the width and height values.</p>
  
  <p>I assumed it would be:</p>
  
  <pre><code>metadata.get('width') 
  </code></pre>
  
  <p>But this throws an error (object does not have 'width' property).</p>
  
  <p>When I run the following:</p>
  
  <pre><code>for data in sorted(metadata):
      if len(data.values ) &gt; 0:
          print data.key, data.values[0].value
  </code></pre>
  
  <p>All that is returned is the information from the "Common" Group.  </p>
  
  <p>When I use the:</p>
  
  <pre><code>metadata.exportPlaintext 
  </code></pre>
  
  <p>... the information from "Common", "Video stream" and "Audio stream" is returned.  I <em>could</em> simply parse over the resulting 'text' item and strip out the height and width values, but I would rather try to do it properly using metadata.get('width') or similar.</p>
  
  <p>Looking at the source code, I thought I could use the following:</p>
  
  <pre><code>for key, metadata in metadata.__groups.iteritems():
  </code></pre>
  
  <p>To iterate through the ._<em>groups in the metadata, but it then throws a "'AsfMetadata' object has no attribute '</em>_groups' - which I'm sure shouldn't be the case as I thought 'AsfMetadata' was a subclass of MultipleMetadata() which does have such a variable.</p>
  
  <p>Probably missing something quite obvious.</p>