code: def overpass_json_from_file(filename):
      
  
      _, ext = os.path.splitext(filename)
      
      if ext == '.bz2':
          # Use Python 2/3 compatible BZ2File()
          opener = lambda fn: bz2.BZ2File(fn)
      else:
          # Assume an unrecognized file extension is just XML
          opener = lambda fn: open(fn, mode='rb')
      
      with opener(filename) as file:
          handler = OSMContentHandler()
          xml.sax.parse(file, handler)
          return handler.object
docs: Read OSM XML from input filename and return Overpass-like JSON.
  
      Parameters
      ----------
      filename : string
          name of file containing OSM XML data
  
      Returns
      -------
      OSMContentHandler object