old_contents: import gi
  import logging
  from gi.repository import Gtk, Gst
  
  
  class UiBuilder(object):
  
      def __init__(self, uifile):
          if not self.log:
              self.log = logging.getLogger('UiBuilder')
  
          self.uifile = uifile
  
          self.builder = Gtk.Builder()
          self.builder.add_from_file(self.uifile)
  
      def find_widget_recursive(self, widget, name):
          widget = self._find_widget_recursive(widget, name)
          if not widget:
              self.log.error(
                  'could find required widget "%s" by ID inside the parent %s',
                  name,
                  str(widget)
              )
              raise Exception('Widget not found in parent')
  
          return widget
  
      def _find_widget_recursive(self, widget, name):
          if Gtk.Buildable.get_name(widget) == name:
              return widget
  
          if hasattr(widget, 'get_children'):
              for child in widget.get_children():
                  widget = self._find_widget_recursive(child, name)
                  if widget:
                      return widget
  
          return None
  
      def get_check_widget(self, widget_id, clone=False):
          if clone:
              builder = Gtk.Builder()
              builder.add_from_file(self.uifile)
          else:
              builder = self.builder
  
          self.log.debug('loading widget "%s" from the .ui-File', widget_id)
          widget = builder.get_object(widget_id)
          if not widget:
              self.log.error(
                  'could not load required widget "%s" from the .ui-File',
                  widget_id
              )
              raise Exception('Widget not found in .ui-File')
  
          return widget
  
new_contents: import gi
  import logging
  from gi.repository import Gtk, Gst
  
  
  class UiBuilder(object):
  
      def __init__(self, uifile):
          if not hasattr(self, 'log'):
              self.log = logging.getLogger('UiBuilder')
  
          self.uifile = uifile
  
          self.builder = Gtk.Builder()
          self.builder.add_from_file(self.uifile)
  
      def find_widget_recursive(self, widget, name):
          widget = self._find_widget_recursive(widget, name)
          if not widget:
              self.log.error(
                  'could find required widget "%s" by ID inside the parent %s',
                  name,
                  str(widget)
              )
              raise Exception('Widget not found in parent')
  
          return widget
  
      def _find_widget_recursive(self, widget, name):
          if Gtk.Buildable.get_name(widget) == name:
              return widget
  
          if hasattr(widget, 'get_children'):
              for child in widget.get_children():
                  widget = self._find_widget_recursive(child, name)
                  if widget:
                      return widget
  
          return None
  
      def get_check_widget(self, widget_id, clone=False):
          if clone:
              builder = Gtk.Builder()
              builder.add_from_file(self.uifile)
          else:
              builder = self.builder
  
          self.log.debug('loading widget "%s" from the .ui-File', widget_id)
          widget = builder.get_object(widget_id)
          if not widget:
              self.log.error(
                  'could not load required widget "%s" from the .ui-File',
                  widget_id
              )
              raise Exception('Widget not found in .ui-File')
  
          return widget
  
subject: Fix incorrect check for `self.log`