<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_etree(root, received=pytz.UTC.localize(datetime.utcnow())):
 """ Init a Voevent row from an LXML etree loaded with voevent-parse """

        ivorn = root.attrib['ivorn']
        # Stream- Everything except before the '#' separator,
        # with the prefix 'ivo://' removed:
        stream = ivorn.split('#')[0][6:]
        row = Voevent(ivorn=ivorn,
                      role=root.attrib['role'],
                      version=root.attrib['version'],
                      stream=stream,
                      xml=vp.dumps(root),
                      received=received,
                      )
        row.author_datetime = _grab_xpath(root, 'Who/Date',
                                          converter=iso8601.parse_date)
        row.author_ivorn = _grab_xpath(root, 'Who/AuthorIVORN')

        row.cites = Cite.from_etree(root)
        if not _has_bad_coords(root, stream):
            try:
                row.coords = Coord.from_etree(root)
            except:
                logger.exception(
                    'Error loading coords for ivorn {}, coords dropped.'.format(
                        ivorn)
                )
        return row