forked from huacnlee/imax.im
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsource.rb
73 lines (66 loc) · 1.43 KB
/
source.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
class Source
include Mongoid::Document
embedded_in :movie
field :site
field :url
validates_presence_of :url
validates_uniqueness_of :url, :site
validates_presence_of :site
before_validation :fix_source_site
def fix_source_site
if !self.url.blank?
url_domain = self.url.split("://").last.split("/").first
self.site = case url_domain
when "tv.sohu.com"
"sohu"
when "my.tv.sohu.com"
"sohu"
when "v.qq.com"
"qq"
when "www.tudou.com"
"tudou"
when "www.youku.com"
"youku"
when "v.youku.com"
"youku"
when "cps.youku.com"
"youku"
when "www.iqiyi.com"
"iqiyi"
when "www.letv.com"
"letv"
when "www.56.com"
"56"
when "video.sina.com.cn"
"sina"
when "www.funshion.com"
"funshion"
when "v.pps.tv"
"pps"
when "www.m1905.com"
"m1905"
when "vod.kankan.com"
"kankan"
when "v.ku6.com"
"ku6"
when "v.pptv.com"
"pptv"
end
end
end
def self.sites
%w(sohu sina qq youku iqiyi letv tudou 56 funshion m1905 kankan ku6 pptv pps)
end
def self.site_collection
self.sites.collect { |s| [I18n.t("source.site.#{s}"),s] }
end
def to_atv_json
{
:site => self.site_s,
:url => self.url
}
end
def site_s
I18n.t("source.site.#{self.site}")
end
end