Class: Aniview::Interface::Schedule

Inherits:
Object
  • Object
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

Returns:

  • (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

#getAllObject



24
25
26
27
# File 'lib/aniview/interface/schedule/schedule.rb', line 24

def getAll
  empty?
  return @schedule
end

#getAllCerealObject



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

#loadObject



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

#saveObject



76
77
78
# File 'lib/aniview/interface/schedule/schedule.rb', line 76

def save
  @pref.set "schedule", (Util.encode_object @schedule)
end