]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/dbconn.py
daklib/dbconn.py (PoolFile): add component property
[dak.git] / daklib / dbconn.py
index e320a78f0da17d9e4b0adbfd863ae7d0c988126d..1972e412af81e4a5bad852c30a14f13405945165 100644 (file)
@@ -1440,6 +1440,13 @@ class PoolFile(ORMObject):
         af = session.query(ArchiveFile).join(Archive).filter(ArchiveFile.file == self).first()
         return af.path
 
+    @property
+    def component(self):
+        session = DBConn().session().object_session(self)
+        component_id = session.query(ArchiveFile.component_id).filter(ArchiveFile.file == self) \
+                              .group_by(ArchiveFile.component_id).one()
+        return session.query(Component).get(component_id)
+
     @property
     def basename(self):
         return os.path.basename(self.filename)