优麒麟的优在哪里?

uk

优麒麟系统能否取代Windows? 政府部门不让W8进,优麒麟似乎是众望所归。 目前看,为了做到最有中国味的操作系统,优麒麟拿出天气插件、中国农历这几个极具中国特色的插件,吸引力确是很大。 在已有成熟的系统如Ubuntu以及Windows的前提下做自己的操作系统,单单从操作系统“汉化”层面明显不够。

indicator

优麒麟的天气插件中,采用的天气数据获取自中国天气。 然而目前用户只能获得实时天气参数,六天天气预报在2014年3月4日终止向用户开放。(原因也许是为了让大家都用印有中国天气链接的插件,提高点击量?) base.py 文件中的数据接口中的WEATHER_URL所对应的是实时天气预报,其余的1和2结尾对应的是6天的天气预报:

WEATHER_URL = 'http://m.weather.com.cn/data/%s.html'
WEATHER_URL1 = 'http://www.weather.com.cn/data/sk/%s.html'
WEATHER_URL2 = 'http://www.weather.com.cn/data/cityinfo/%s.html'
PM25_URL = 'http://pm25.in/api/querys/pm2_5.json?city='

不过对于开源控,大可以换一个API,做一个最有自己味的系统。 其实这些中国农历、中国天气等等插件完全可以用conky由用户自行搞定,大家最缺少的是稳定的官方的API,这样才不会让开发者心灰意冷。

2014年5月30日添加

竟然查找到了这个神秘的地址!修改方法自然灰常简单了,首先修改base.py文件中的WEATHER_URL中相应的dataatad,然后一般情况这个时候六天天气预报可以使用了。但版本1.1.0中另有一处bug,文件indicator-china-weather.py中,在对六天天气预报小窗口进行传递字符串时,其中的地名为None,与字符串拼接出现错误。

def forecast(self, widget):
    # added by kobe 20140212
    self.forecast_data['city'] = self.currentCity                                                
    self.forecastwd = forecastui.ExtendedForecast(self.forecast_data)

修改方法:在370行,即indicator-weather类的menu_mormal函数中的if操作之后添加

else:
    self.currentCity=self.places[0][1]

这样完整的目录中选择城市的逻辑如下:

if len(self.places) != 1:
    log.debug("Indicator: menu_normal: adding first location menu item '%s'" % self.places[0][1])
    loco1 = gtk.RadioMenuItem(None, self.places[0][1])
    if self.placechosen == 0:
	loco1.set_active(True)
	# added by kobe 20140212
	self.currentCity = self.places[0][1]
    loco1.connect("toggled", self.on_city_changed)
    loco1.show()
    self.menu.append(loco1)
    for place in self.places[1:]:
	log.debug("Indicator: menu_normal: adding location menu item '%s'" % place[1])
	loco = gtk.RadioMenuItem(loco1, place[1])
	if self.places.index(place) == self.placechosen:
	    loco.set_active(True)
	    # added by kobe 20140212
	    self.currentCity = place[1]
	loco.connect("toggled", self.on_city_changed)
	loco.show()
	self.menu.append(loco)
    breaker = gtk.SeparatorMenuItem()
    breaker.show()
    self.menu.append(breaker)
else:
    self.currentCity=self.places[0][1]

六天天气预报

石见 石页 /
在共享协议(CC)下发布于
类别: else 
标签: 优麒麟  Ubuntu  API  中