def item_source(item = @item)
filename = "content" + item.identifier
+ filebase = filename.chomp(File.extname(filename))
- if File.file? filename then
- return filename
- end
-
- return nil
+ [ if item.binary? then filebase + ".yaml" end,
+ filename].compact.find { |f| File.file? f }
end
def item_uri(item = @item, rep: :default)
p = xml.xpath('//xhtml:p', Xmlns)
if p.empty? then nil else p[0].xpath('string(.)') end
end
+
+def human_filesize(size)
+ units = ["B", "KiB", "MiB", "GiB"]
+
+ for unit in units
+ if (size < 1024)
+ break
+ end
+
+ size /= 1024.0
+ end
+
+ sprintf("%.1f %s", size + 0.05, unit)
+end