64 lines
2.5 KiB
Ruby
64 lines
2.5 KiB
Ruby
module JamRuby
|
|
class IcecastMount < ActiveRecord::Base
|
|
include JAmXml
|
|
self.primary_key = 'id'
|
|
|
|
attr_accessible :mount_name, :username, :password, :max_listeners, :max_listener_duration, :dump_file
|
|
attr_accessible :intro, :fallback_mount, :fallback_override, :fallback_when_full, :charset
|
|
attr_accessible :publicc, :stream_name, :stream_description, :stream_url, :genre, :bitrate
|
|
attr_accessible :mtype, :subtype, :hidden, :burst_size, :mp3_metadata_interval, :on_connect, :on_disconnect
|
|
|
|
validates :mount_name, presence: true
|
|
validates :username, presence: true
|
|
validates :password, presence: true
|
|
|
|
#has_one :authentication, :class_name => "IcecastUserAuthentication"
|
|
has_one :authentication, :class_name => "IcecastUserAuthentication"
|
|
belongs_to :servermount, :class_name => "JamRuby::IcecastServermount" , :inverse_of => :mount
|
|
|
|
def dumpXml (ident=1, output=$stdout)
|
|
hash = Hash["mount_name" => self.mount_name,
|
|
"username" => self.username,
|
|
"password" => self.password,
|
|
"max_listeners" => self.max_listeners,
|
|
"max_listener_duration" => self.max_listener_duration,
|
|
"dump_file" => self.dump_file,
|
|
|
|
"intro" => self.intro,
|
|
"fallback_mount" => self.fallback_mount,
|
|
"fallback_override" => self.fallback_override,
|
|
"fallback_when_full" => self.fallback_when_full,
|
|
"charset" => self.charset,
|
|
|
|
"public" => self.publicc,
|
|
"stream_name" => self.stream_name,
|
|
"stream_description" => self.stream_description,
|
|
"stream_url" => self.stream_url,
|
|
"genre" => self.genre,
|
|
"bitrate" => self.bitrate,
|
|
|
|
"type" => self.mtype,
|
|
"subtype" => self.subtype,
|
|
"hidden" => self.hidden,
|
|
"burst_size" => self.burst_size,
|
|
"mp3_metadata_interval" => self.mp3_metadata_interval,
|
|
"on_connect" => self.on_connect,
|
|
"on_disconnect" => self.on_disconnect
|
|
]
|
|
|
|
self.jdumpXml(hash, "mount", ident, output, self.authentication)
|
|
end
|
|
|
|
def getMediaUrl
|
|
if !self.servermount.nil?
|
|
@server = self.servermount.server
|
|
@misc = @server.misc
|
|
url = "http://" + @misc.hostname + self.mount_name
|
|
return url;
|
|
else
|
|
raise ("Undefined severid")
|
|
end
|
|
end
|
|
|
|
end
|
|
end |