'append(parent, row=None)
:param parent: A valid :obj:`Gtk.TreeIter`, or :obj:`None`
:type parent: :obj:`Gtk.TreeIter` or :obj:`None`
:param row: a list of values to apply to the newly inserted row or :obj:`None`
:type row: [:obj:`object`] or :obj:`None`
:returns: obj:`Gtk.TreeIter` pointing to the inserted row
:rtype: :obj:`Gtk.TreeIter`
Appends a new row to `self`. If `parent` is not :obj:`None`, then it
will append the new row after the last child of `parent`, otherwise it
will append a row to the top level.
The returned `iterator will point to the new row. The row will be
empty after this function is called  if `row` is :obj:`None`. To fill
in values, you need to call :obj:`Gtk.TreeStore.set`\() or
:obj:`Gtk.TreeStore.set_value`\().
If `row` isn\'t :obj:`None` it has to be a list of values which will be
used to fill the row.'

def append(self, parent, row=None):

    return self._do_insert(parent, (-1), row)
