Mercurial > hg > fetch
comparison fetch.py @ 47:72d461e2ccbd
more stubbing of copytree
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Tue, 15 Nov 2011 15:00:10 -0800 |
| parents | fb05b7616bd8 |
| children | bedef9761af9 |
comparison
equal
deleted
inserted
replaced
| 46:fb05b7616bd8 | 47:72d461e2ccbd |
|---|---|
| 23 """ | 23 """ |
| 24 replacement for shutil.copytree because of this nonsense from help(shutil.copytree): | 24 replacement for shutil.copytree because of this nonsense from help(shutil.copytree): |
| 25 "The destination directory must not already exist." | 25 "The destination directory must not already exist." |
| 26 """ | 26 """ |
| 27 | 27 |
| 28 assert os.path.exists(src), "'%s' does not exist" % src | |
| 29 | |
| 28 # if its a file, just copy it | 30 # if its a file, just copy it |
| 29 if os.path.isfile(src): | 31 if os.path.isfile(src): |
| 30 shutil.copy2(src, dst) | 32 shutil.copy2(src, dst) |
| 31 return | 33 return |
| 32 | 34 |
| 35 if os.path.exists(dst): | 37 if os.path.exists(dst): |
| 36 assert os.path.isdir(dst), "%s is a file, %s is a directory" % (src, dst) | 38 assert os.path.isdir(dst), "%s is a file, %s is a directory" % (src, dst) |
| 37 else: | 39 else: |
| 38 os.makedirs(dst) | 40 os.makedirs(dst) |
| 39 | 41 |
| 42 src = os.path.realpath(src) | |
| 40 for dirpath, dirnames, filenames in os.walk(src): | 43 for dirpath, dirnames, filenames in os.walk(src): |
| 44 for d in dirnames: | |
| 45 pass | |
| 46 for f in filenames: | |
| 47 path = os.path.join(dirpath, f) | |
| 48 _dst = os.path.join(dst, os.path.relpath(path, src)) | |
| 49 import pdb; pdb.set_trace() | |
| 50 # shutil.copy2(path | |
| 41 import pdb; pdb.set_trace() | 51 import pdb; pdb.set_trace() |
| 42 | 52 |
| 43 class Fetcher(object): | 53 class Fetcher(object): |
| 44 """abstract base class for resource fetchers""" | 54 """abstract base class for resource fetchers""" |
| 45 | 55 |
| 172 export a clone of the directory | 182 export a clone of the directory |
| 173 """ | 183 """ |
| 174 dest = os.path.abspath(dest) | 184 dest = os.path.abspath(dest) |
| 175 tmpdir = tempfile.mkdtemp() | 185 tmpdir = tempfile.mkdtemp() |
| 176 self.clone(tmpdir) | 186 self.clone(tmpdir) |
| 187 if self.vcs_dir: | |
| 188 shutil.rmtree(os.path.join(tmpdir, self.vcs_dir)) | |
| 177 path = tmpdir | 189 path = tmpdir |
| 178 if self.subpath: | 190 if self.subpath: |
| 179 path = os.path.join([tmpdir] + self.subpath) | 191 path = os.path.join([tmpdir] + self.subpath) |
| 180 assert os.path.exists(path), "subpath %s of %s not found" % (os.path.sep.join(self.subpath), self.url) | 192 assert os.path.exists(path), "subpath %s of %s not found" % (os.path.sep.join(self.subpath), self.url) |
| 181 if os.path.isdir(path): | 193 if os.path.isdir(path): |
