1
0
mirror of https://github.com/gryf/pygtktalog.git synced 2025-12-17 11:30:19 +01:00

Resolved issue with sort order of children of the file obj.

This commit is contained in:
2010-05-04 06:48:58 +02:00
parent 7417b9e98e
commit 62ab67ecc5
2 changed files with 14 additions and 14 deletions

View File

@@ -28,8 +28,9 @@ class File(Base):
note = Column(Text)
description = Column(Text)
children = relation('File', backref=backref('parent',
remote_side="File.id"))
children = relation('File',
backref=backref('parent', remote_side="File.id"),
order_by=[type, filename])
tags = relation("Tag", secondary=tags_files)
thumbnail = relation("Thumbnail", backref="file")
images = relation("Image", backref="file")

View File

@@ -245,24 +245,23 @@ class MainModel(ModelMT):
Arguments:
fileob - File object
"""
files = self._session.query(File).filter(File.parent_id==fileob.id)\
.order_by(File.type, File.filename).all()
files = []
LOG.info("found %d files for root id %s" %(len(files), str(fileob)))
LOG.info("found %d files for File object: %s" % (len(fileob.children),
str(fileob)))
self.files.clear()
for fob in files:
for child in fileob.children:
myiter = self.files.insert_before(None, None)
self.files.set_value(myiter, 0, fob.id)
self.files.set_value(myiter, 1, fob.parent_id if fob.parent_id!=1 else None)
self.files.set_value(myiter, 2, fob.filename)
self.files.set_value(myiter, 3, fob.filepath)
self.files.set_value(myiter, 4, fob.size)
self.files.set_value(myiter, 5, fob.date)
self.files.set_value(myiter, 0, child.id)
self.files.set_value(myiter, 1, child.parent_id \
if child.parent_id!=1 else None)
self.files.set_value(myiter, 2, child.filename)
self.files.set_value(myiter, 3, child.filepath)
self.files.set_value(myiter, 4, child.size)
self.files.set_value(myiter, 5, child.date)
self.files.set_value(myiter, 6, 1)
self.files.set_value(myiter, 7, gtk.STOCK_DIRECTORY \
if fob.type==1 else gtk.STOCK_FILE)
if child.type==1 else gtk.STOCK_FILE)