private function extract($source) {
		try {
			$task = new Task\Extract($source);
			$dest = $task->run($this->verbosity());
		} catch (\Exception $e) {
			if (false === strpos($e->getMessage(), "checksum mismatch")) {
				throw $e;
			}
			$dest = (new Task\PaxFixup($source))->run($this->verbosity());
		}
		
		$this->cleanup[] = new Task\Cleanup($dest);
		return $dest;
	}
private function extract($source) {
		try {
			$task = new Task\Extract($source);
			$dest = $task->run($this->verbosity());
		} catch (\Exception $e) {
			if (false === strpos($e->getMessage(), "checksum mismatch")) {
				throw $e;
			}
			$dest = (new Task\PaxFixup($source))->run($this->verbosity());
		}
		
		$this->cleanup[] = new Task\Cleanup($dest);
		return $dest;
	}
private function extract ( $ source ) { try { $ task = new Task \ Extract ( $ source ) ; $ dest = $ task -> run ( $ this -> verbosity ( ) ) ; } catch ( \ Exception $ e ) { if ( false === strpos ( $ e -> getMessage ( ) , "checksum mismatch" ) ) { throw $ e ; } $ dest = ( new Task \ PaxFixup ( $ source ) ) -> run ( $ this -> verbosity ( ) ) ; } $ this -> cleanup [ ] = new Task \ Cleanup ( $ dest ) ; return $ dest ; }
Extract local archive
@param stirng $source
@return string extracted directory
Extract local archive