def _set_attributes(self): """ Set file attibutes """ def set_link_attributes(): """ Set appropriate soft link attibutes """ self.info = "" self.visual = "-> %s" % self.obj.linkname or "" #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.name = self.either(self.parent.name, lambda: self.name) self.mtime = self.either(self.parent.mtime, lambda: self.obj.mtime) self.size = self.either(self.parent.size, lambda: self.obj.size) self.uid = self.either(self.parent.uid, lambda: self.obj.uid) self.gid = self.either(self.parent.gid, lambda: self.obj.gid) self.mode = mode.Mode(self.either(self.parent.mode.raw, lambda: self.obj.mode), self.ftype) self.visual = "%s%s" % (self.vtype, self.name) self.info = "%s %s" % (util.format_size(self.size), self.mode) if self.is_link(): set_link_attributes() elif self.is_file(): _mode = stat.S_IMODE(self.mode.raw) # Executable if _mode & 0111: self.vtype = "*" self.visual = "*%s" % self.name
_dev = self._stat.st_rdev self.info = "%s, %s %s" % (os.major(_dev), os.minor(_dev), self.mode) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ self.atime = self._stat.st_atime self.mtime = self._stat.st_mtime self.ctime = self._stat.st_ctime self.size = self._stat.st_size self.uid = self._stat.st_uid self.gid = self._stat.st_gid self.inode = self._stat.st_ino self.mode = mode.Mode(self._stat.st_mode, self.ftype) self.visual = "%s%s" % (self.vtype, self.name) self.info = "%s %s" % (util.format_size(self.size), self.mode) if self.is_link(): set_link_attributes() elif self.is_char(): set_char_attributes() elif self.is_file(): _mode = stat.S_IMODE(self.mode.raw) # Executable if _mode & 0111: self.vtype = "*" self.visual = "*%s" % self.name #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~