aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJauhien Piatlicki (jauhien) <piatlicki@gmail.com>2013-06-23 02:22:27 +0200
committerJauhien Piatlicki (jauhien) <piatlicki@gmail.com>2013-06-23 02:22:27 +0200
commita8ec7786e12dab514996b60b4b79f1f57dc58a66 (patch)
tree3c48213f5676d3d145fc2b36efca2fd596306cb5 /g_sorcery/ebuild.py
parentg_sorcery/ebuild.py: initial commit (diff)
downloadg-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.py28
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