Fix bugs for FGU remote_annoucement
Added english support Skip data with blank title
This commit is contained in:
parent
e2d09c7379
commit
f851ad0e27
|
@ -8,46 +8,80 @@ require 'date'
|
||||||
@coll_cat = @db["bulletin_categories"]
|
@coll_cat = @db["bulletin_categories"]
|
||||||
|
|
||||||
@categories = @coll_cat.find().to_a.inject({}) do |categories, category|
|
@categories = @coll_cat.find().to_a.inject({}) do |categories, category|
|
||||||
categories[category['key']] = category['_id']
|
categories[category['key']] = category['_id']
|
||||||
categories
|
categories
|
||||||
end
|
end
|
||||||
|
|
||||||
def get_remote_bulletins_json(url)
|
def get_remote_bulletins_json(url)
|
||||||
data = ""
|
data = ""
|
||||||
open(url){|f| f.each_line {|line| data << line} }
|
open(url){|f| f.each_line {|line| data << line} }
|
||||||
|
|
||||||
bulletins = JSON.parse data
|
bulletins = JSON.parse data
|
||||||
|
|
||||||
bulletins.each do |b|
|
bulletins.each do |b|
|
||||||
|
|
||||||
bulletin = { _type: "Bulletin",
|
lang = b[1]=='zh-tw' ? "zh_tw".to_sym : "en".to_sym
|
||||||
postdate: Time.now,
|
|
||||||
created_at: Time.now,
|
next if b[2]==""
|
||||||
updated_at: Time.now,
|
|
||||||
|
bulletin = { _type: "Bulletin",
|
||||||
|
postdate: Time.parse(b[8]),
|
||||||
|
created_at: Time.parse(b[8]),
|
||||||
|
updated_at: Time.parse(b[8]),
|
||||||
is_checked: true,
|
is_checked: true,
|
||||||
is_pending: false,
|
is_pending: false,
|
||||||
is_rejected: false,
|
is_rejected: false,
|
||||||
bulletin_category_id: @categories["#{b[7]}"],
|
bulletin_category_id: @categories["#{b[7]}"],
|
||||||
title: {:zh_tw => b[2]},
|
title: {lang => b[2]},
|
||||||
text: {:zh_tw => b[5]},
|
text: {lang => b[5]},
|
||||||
available_for_zh_tw: true,
|
available_for_zh_tw: true,
|
||||||
available_for_en: false,
|
available_for_en: true,
|
||||||
create_user_id: "",
|
create_user_id: "",
|
||||||
public: true,
|
public: true,
|
||||||
sn: b[0],
|
sn: b[0],
|
||||||
site: b[9],
|
site: b[9],
|
||||||
|
site_id: b[10],
|
||||||
is_top: false,
|
is_top: false,
|
||||||
is_hot: false,
|
is_hot: false,
|
||||||
is_hidden: false }
|
is_hidden: false }
|
||||||
|
|
||||||
unless @coll_bulletin.find_one(:$and => [{ :sn => bulletin[:sn]},{ :site => bulletin[:site]}])
|
this_bulletin = @coll_bulletin.find_one(:$and => [{ :sn => bulletin[:sn]},{ :site => bulletin[:site]}])
|
||||||
@coll_bulletin.save(bulletin)
|
# p bulletin
|
||||||
# puts "Inserted"
|
|
||||||
|
unless this_bulletin
|
||||||
|
@coll_bulletin.save(bulletin)
|
||||||
|
# puts "Inserted "+lang.to_s+" "+bulletin[:title][lang]
|
||||||
|
# p bulletin
|
||||||
else
|
else
|
||||||
# puts "Exist"
|
@coll_bulletin.update(
|
||||||
|
{"_id"=>this_bulletin["_id"]},
|
||||||
|
{
|
||||||
|
:_type => "Bulletin",
|
||||||
|
:postdate => bulletin[:postdate],
|
||||||
|
:created_at => bulletin[:created_at],
|
||||||
|
:updated_at => bulletin[:updated_at],
|
||||||
|
:is_checked => this_bulletin["is_checked"],
|
||||||
|
:is_pending => this_bulletin["is_pending"],
|
||||||
|
:is_rejected => this_bulletin["is_rejected"],
|
||||||
|
:bulletin_category_id => bulletin[:bulletin_category_id],
|
||||||
|
:title => bulletin[:title],
|
||||||
|
:text => bulletin[:text],
|
||||||
|
:available_for_zh_tw => this_bulletin["available_for_zh_tw"],
|
||||||
|
:available_for_en => this_bulletin["available_for_en"],
|
||||||
|
:create_user_id => "",
|
||||||
|
:public => this_bulletin["public"],
|
||||||
|
:sn => bulletin[:sn],
|
||||||
|
:site => bulletin[:site],
|
||||||
|
:site_id => bulletin[:site_id],
|
||||||
|
:is_top => this_bulletin["is_top"],
|
||||||
|
:is_hot => this_bulletin["is_hot"],
|
||||||
|
:is_hidden => this_bulletin["is_hidden"]
|
||||||
|
})
|
||||||
|
# puts "Updated "+lang.to_s+" "+bulletin[:title][lang]
|
||||||
|
# p this_bulletin["_id"]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
get_remote_bulletins_json("http://president.fgu.edu.tw/remote_annoucement/get_news.php")
|
get_remote_bulletins_json("http://president.fgu.edu.tw/remote_annoucement/get_news2.php")
|
||||||
get_remote_bulletins_json("http://car.fgu.edu.tw/remote_annoucement/get_news.php")
|
get_remote_bulletins_json("http://car.fgu.edu.tw/remote_annoucement/get_news2.php")
|
Loading…
Reference in New Issue