Class: Aniview::Interface::Schedule
- Inherits:
-
Object
- Object
- Aniview::Interface::Schedule
show all
- Includes:
- Util
- Defined in:
- lib/aniview/interface/schedule/schedule.rb
Instance Method Summary
collapse
Methods included from Util
decode_object, encode_object, format_duration, format_progress, format_size, parse_format, readline
Constructor Details
#initialize(pref) ⇒ Schedule
Returns a new instance of Schedule.
12
13
14
15
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 12
def initialize pref
@pref = pref
load
end
|
Instance Method Details
#addItem(item) ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 49
def addItem item
@schedule.delete_at 0 if @schedule[0].attributes["t"] == "no schedule"
new_item = ScheduleItem.new(item, @pref.get("airing_dir"))
FileUtils.mkdir_p @pref.parseDir new_item.attributes["p"]
@schedule << new_item
save
end
|
#editItem(loc, val) ⇒ Object
61
62
63
64
65
66
67
68
69
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 61
def editItem loc, val
old_dir = @pref.parseDir @schedule[loc].attributes["p"]
@schedule[loc].setTitle val
new_dir = @pref.parseDir @schedule[loc].attributes["p"]
FileUtils.mv old_dir, new_dir unless old_dir == new_dir
save
end
|
#empty? ⇒ Boolean
17
18
19
20
21
22
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 17
def empty?
if @schedule == nil or @schedule.length == 0
@schedule = [ScheduleItem.new("no schedule", "")]
save
end
end
|
#getAll ⇒ Object
24
25
26
27
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 24
def getAll
empty?
return @schedule
end
|
#getAllCereal ⇒ Object
29
30
31
32
33
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 29
def getAllCereal
r=""
getAll.each { |si| r+=si.cereal }
return r
end
|
#load ⇒ Object
80
81
82
83
84
85
86
87
88
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 80
def load
@pref.load
raw = @pref.get "schedule"
if not raw == nil and raw.class == String
@schedule = Util.decode_object raw
else
empty?
end
end
|
#makeHash(arr) ⇒ Object
90
91
92
93
94
95
96
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 90
def makeHash(arr)
ret = {}
arr.each{ |t|
ret.merge!(t => t)
}
return ret
end
|
#mergeItems(items) ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 35
def mergeItems items
items.each { |item|
@schedule.each { |schedule_item|
if item.id == schedule_item.id
m = [schedule_item.attributes["m"], item.attributes["m"]]
if m[0] != m[1]
schedule_item.setmatched m[1]
end
end
}
}
save
end
|
#removeItem(loc) ⇒ Object
71
72
73
74
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 71
def removeItem loc
@schedule.delete_at loc
save
end
|
#save ⇒ Object
76
77
78
|
# File 'lib/aniview/interface/schedule/schedule.rb', line 76
def save
@pref.set "schedule", (Util.encode_object @schedule)
end
|