diff options
author | Jauhien Piatlicki (jauhien) <piatlicki@gmail.com> | 2013-06-23 02:22:27 +0200 |
---|---|---|
committer | Jauhien Piatlicki (jauhien) <piatlicki@gmail.com> | 2013-06-23 02:22:27 +0200 |
commit | a8ec7786e12dab514996b60b4b79f1f57dc58a66 (patch) | |
tree | 3c48213f5676d3d145fc2b36efca2fd596306cb5 /g_sorcery/ebuild.py | |
parent | g_sorcery/ebuild.py: initial commit (diff) | |
download | g-sorcery-a8ec7786e12dab514996b60b4b79f1f57dc58a66.tar.gz g-sorcery-a8ec7786e12dab514996b60b4b79f1f57dc58a66.tar.bz2 g-sorcery-a8ec7786e12dab514996b60b4b79f1f57dc58a66.zip |
g_sorcery/ebuild: EbuildGenerator
Diffstat (limited to 'g_sorcery/ebuild.py')
-rw-r--r-- | g_sorcery/ebuild.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/g_sorcery/ebuild.py b/g_sorcery/ebuild.py index 47c727a..88e9acd 100644 --- a/g_sorcery/ebuild.py +++ b/g_sorcery/ebuild.py @@ -10,3 +10,31 @@ :copyright: (c) 2013 by Jauhien Piatlicki :license: GPL-2, see LICENSE for more details. """ + +import string + +class EbuildGenerator: + def __init__(self, db): + self.db = db + + def generate(self, package): + #a possible exception should be catched in the caller + description = self.db.get_package_description(package) + ebuild = self.get_template(package, description) + ebuild = self.process(ebuild, description) + ebuild = self.postprocess(ebuild, description) + return ebuild + + def process(self, ebuild, description): + result = [] + for line in ebuild: + tmpl = string.Template(line) + result.append(tmpl.substitute(description)) + return result + + def get_template(self, package, description): + ebuild = [] + return ebuild + + def postprocess(self, ebuild, description): + return ebuild |