def _getmember(self, name, tarinfo=None, normalize=False):
<EOL>members = self.getmembers()<EOL>if tarinfo is not None:<EOL><INDENT>members = members[:members.index(tarinfo)]<EOL><DEDENT>if normalize:<EOL><INDENT>name = os.path.normpath(name)<EOL><DEDENT>for member in reversed(members):<EOL><INDENT>if normalize:<EOL><INDENT>member_name = os.path.normpath(member.name)<EOL><DEDENT>else:<EOL><INDENT>member_name = member.name<EOL><DEDENT>if name == member_name:<EOL><INDENT>return member<EOL><DEDENT><DEDENT>
Find an archive member by name from bottom to top.
           If tarinfo is given, it is used as the starting point.