parameters: (self, member, targetpath, pwd)
return_statement: return targetpath
docstring: Extract the ZipInfo object 'member' to a physical
             file on the path targetpath.
docstring_summary: Extract the ZipInfo object 'member' to a physical
             file on the path targetpath.
docstring_tokens: Extract the ZipInfo object member to a physical file on the path targetpath .
function: def _extract_member(self, member, targetpath, pwd):
          """Extract the ZipInfo object 'member' to a physical
             file on the path targetpath.
          """
          # 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
function_tokens: 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