'Find an archive member by name from bottom to top.
If tarinfo is given, it is used as the starting point.'

def _getmember(self, name, tarinfo=None, normalize=False):

    members = self.getmembers()
    if (tarinfo is not None):
        members = members[:members.index(tarinfo)]
    if normalize:
        name = os.path.normpath(name)
    for member in reversed(members):
        if normalize:
            member_name = os.path.normpath(member.name)
        else:
            member_name = member.name
        if (name == member_name):
            return member
