def read(*parts):
    """
    Build an absolute path from *parts* and and return the contents of the
    resulting file.  Assume UTF-8 encoding.
    """
    with codecs.open(os.path.join(HERE, *parts), "rb", "utf-8") as f:
        return f.read()
def _on_item_widget_size_allocate(self, item_widget, allocation, item):
    if item in self._items_allocations:
      self._update_width(allocation.width - self._items_allocations[item].width)
      self._update_height(allocation.height - self._items_allocations[item].height)
    else:
      self._update_width(allocation.width)
      self._update_height(allocation.height + self._item_spacing)