mirror of
https://github.com/hkalexling/Mango.git
synced 2025-08-02 10:55:30 -04:00
Cache entry display names
This improves the title page load time (#116)
This commit is contained in:
parent
7a7cb78f82
commit
96949905b9
@ -3,7 +3,8 @@ require "../archive"
|
||||
class Title
|
||||
property dir : String, parent_id : String, title_ids : Array(String),
|
||||
entries : Array(Entry), title : String, id : String,
|
||||
encoded_title : String, mtime : Time
|
||||
encoded_title : String, mtime : Time,
|
||||
entry_display_name_cache : Hash(String, String)?
|
||||
|
||||
def initialize(@dir : String, @parent_id, storage,
|
||||
@library : Library)
|
||||
@ -129,13 +130,17 @@ class Title
|
||||
end
|
||||
|
||||
def display_name(entry_name)
|
||||
dn = entry_name
|
||||
TitleInfo.new @dir do |info|
|
||||
info_dn = info.entry_display_name[entry_name]?
|
||||
unless info_dn.nil? || info_dn.empty?
|
||||
dn = info_dn
|
||||
unless @entry_display_name_cache
|
||||
TitleInfo.new @dir do |info|
|
||||
@entry_display_name_cache = info.entry_display_name
|
||||
end
|
||||
end
|
||||
|
||||
dn = entry_name
|
||||
info_dn = @entry_display_name_cache.not_nil![entry_name]?
|
||||
unless info_dn.nil? || info_dn.empty?
|
||||
dn = info_dn
|
||||
end
|
||||
dn
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user