code: def _extract_member(self, member, targetpath, pwd):
          
          # build the destination pathname, replacing
          # forward slashes to platform specific separators.
          # Strip trailing path separator, unless it represents the root.
          if (targetpath[-1:] in (os.path.sep, os.path.altsep)
              and len(os.path.splitdrive(targetpath)[1]) > 1):
              targetpath = targetpath[:-1]
  
          # don't include leading "/" from file name if present
          if member.filename[0] == '/':
              targetpath = os.path.join(targetpath, member.filename[1:])
          else:
              targetpath = os.path.join(targetpath, member.filename)
  
          targetpath = os.path.normpath(targetpath)
  
          # Create all upper directories if necessary.
          upperdirs = os.path.dirname(targetpath)
          if upperdirs and not os.path.exists(upperdirs):
              os.makedirs(upperdirs)
  
          if member.filename[-1] == '/':
              if not os.path.isdir(targetpath):
                  os.mkdir(targetpath)
              return targetpath
  
          source = self.open(member, pwd=pwd)
          target = file(targetpath, "wb")
          shutil.copyfileobj(source, target)
          source.close()
          target.close()
  
          return targetpath
docs: Extract the ZipInfo object 'member' to a physical
             file on the path targetpath.