(self, src, dst)
Since the original function always creates the directory, to resolve
        the issue a new function had to be created. It's a simple copy and
        was reduced for this case.

        More info at:
        https://github.com/scrapy/scrapy/pull/2005
Since the original function always creates the directory, to resolve
        the issue a new function had to be created. It's a simple copy and
        was reduced for this case.
Since the original function always creates the directory to resolve the issue a new function had to be created . It s a simple copy and was reduced for this case .
def _copytree(self, src, dst):
        """
        Since the original function always creates the directory, to resolve
        the issue a new function had to be created. It's a simple copy and
        was reduced for this case.

        More info at:
        https://github.com/scrapy/scrapy/pull/2005
        """
        ignore = IGNORE
        names = os.listdir(src)
        ignored_names = ignore(src, names)

        if not os.path.exists(dst):
            os.makedirs(dst)

        for name in names:
            if name in ignored_names:
                continue

            srcname = os.path.join(src, name)
            dstname = os.path.join(dst, name)
            if os.path.isdir(srcname):
                self._copytree(srcname, dstname)
            else:
                copy2(srcname, dstname)
                _make_writable(dstname)

        copystat(src, dst)
        _make_writable(dst)
def _copytree ( self , src , dst ) : ignore = IGNORE names = os . listdir ( src ) ignored_names = ignore ( src , names ) if not os . path . exists ( dst ) : os . makedirs ( dst ) for name in names : if name in ignored_names : continue srcname = os . path . join ( src , name ) dstname = os . path . join ( dst , name ) if os . path . isdir ( srcname ) : self . _copytree ( srcname , dstname ) else : copy2 ( srcname , dstname ) _make_writable ( dstname ) copystat ( src , dst ) _make_writable ( dst )