summaryrefslogtreecommitdiffstats
path: root/leafymiracle/populate.py
diff options
context:
space:
mode:
Diffstat (limited to 'leafymiracle/populate.py')
-rw-r--r--leafymiracle/populate.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/leafymiracle/populate.py b/leafymiracle/populate.py
index 9f78fc5..cb3c7d4 100644
--- a/leafymiracle/populate.py
+++ b/leafymiracle/populate.py
@@ -19,7 +19,8 @@ from kitchen.text.converters import to_unicode
from models import Root, Category, Group, Package, DBSession, initialize_sql
-def populate(comps='comps-f16'):
+
+def populate(comps='comps-f16', do_dependencies=True):
from yum.comps import Comps
session = DBSession()
@@ -58,6 +59,22 @@ def populate(comps='comps-f16'):
session.flush()
+ if do_dependencies:
+ yumobj = yum.YumBase()
+ yumobj.setCacheDir()
+ for package in session.query(Package).all():
+ deps = yumobj.pkgSack.searchNevra(name=package.name)[0]
+ deps_d = pkg.findDeps([pkg])
+ deps = [tup[0] for tup in deps_d[deps_d.keys()[0]].keys()]
+
+ for dep in deps:
+ dep_as_package = session.query(Package)\
+ .filter_by(name=dep).one()
+ if dep_as_package not in package.dependencies:
+ package.dependencies.append(dep_as_package)
+
+
+
session.commit()
def build_comps():