diff options
author | Mykyta Holubakha <hilobakho@gmail.com> | 2017-06-19 04:24:06 +0300 |
---|---|---|
committer | Mykyta Holubakha <hilobakho@gmail.com> | 2017-06-19 04:24:06 +0300 |
commit | 7334e41998fb99dfd10dcf9fd977967ceb0f79f2 (patch) | |
tree | 07d821e70b1d72de917d0f6470bbbc184afc159e /pomu/repo/repo.py | |
parent | major refactoring of pomu package source module (diff) | |
download | pomu-7334e41998fb99dfd10dcf9fd977967ceb0f79f2.tar.gz pomu-7334e41998fb99dfd10dcf9fd977967ceb0f79f2.tar.bz2 pomu-7334e41998fb99dfd10dcf9fd977967ceb0f79f2.zip |
Numerous improvements and fixes
Documented most of the functions and classes.
Added an option to fetch a package into a specified directory.
Added a merge_into method to the Package class, which would merge it
into a directory, and refactored repo::merge_package to use that.
Extended the package class to store category, version and slot metadata.
Added tests of the portage package source module.
Diffstat (limited to 'pomu/repo/repo.py')
-rw-r--r-- | pomu/repo/repo.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/pomu/repo/repo.py b/pomu/repo/repo.py index 076b2b7..6434ed3 100644 --- a/pomu/repo/repo.py +++ b/pomu/repo/repo.py @@ -25,11 +25,10 @@ class Repository(): return path.join(self.root, 'metadata/pomu') def merge(self, package): + """Merge a package into the repository""" r = self.repo + package.merge(self.root).expect('Failed to merge package') for wd, f in package.files: - dst = path.join(self.root, wd) - makedirs(dst) - copy2(path.join(package.root, wd, f), dst) r.index.add(path.join(dst, f)) with open(path.join(self.pomu_dir, package.name), 'w') as f: f.write('{}/{}'.format(wd, f)) @@ -38,6 +37,7 @@ class Repository(): return Result.Ok('Merged package ' + package.name + ' successfully') def unmerge(self, package): + """Remove a package (by contents) from the repository""" r = self.repo for wd, f in package.files: dst = path.join(self.root, wd) @@ -52,6 +52,7 @@ class Repository(): return Result.Ok('Removed package ' + package.name + ' successfully') def remove_package(self, name): + """Remove a package (by name) from the repository""" r = self.repo pf = path.join(self.pomu_dir, name) if not path.isfile(pf): |