Тестировано на прошивке iNext от ув. Farvoice 9981 R3 (только squashfs менял на yaffs2 чтобы можно было файлы системные ковырять)
Изменения файла /usr/local/bin/home_menu/scripts/HomeMenu.rss
под строками
- Code: Select all
redrawDisplay();
-->
</getWeatherInfo>
добавить
- Code: Select all
<script>
img_refresh=1;
</script>
<getImgData>
gettingnewimg="true";
img_baseurl="http://www.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1&mkt=en-US";
img_filename_def="/tmp/cached/bing_pic.xml";
getURL(img_baseurl,"async",img_filename_def);
</getImgData>
под строками
- Code: Select all
if (serviceEnabled("accuweather") != null)
{
weathertimer_counter = (weathertimer_counter-1);
if(weathertimer_counter == 0)
{
weathertimer_counter = 3600;
executeScript("getWeatherInfo");
}
}
добавить
- Code: Select all
img_refresh=img_refresh-1;
if (img_refresh==0)
{
test = readStringFromFile("/tmp/cached/bing_pic.xml");
if (test == null)
{
executeScript("getImgData");
img_refresh=1;
}
else
{
img_refresh=1;
if(gettingnewimg=="true")
{
completed=getURLCompleted(img_baseurl);
if(completed == "TRUE")
{
img_refresh=3600;
imgurlXML=loadXMLFile(img_baseurl);
if (imgurlXML != null)
{
startdate=getXMLText("images","image","startdate");
enddate=getXMLText("images","image","enddate");
imgurl=getXMLText("images","image","url");
imgurlbase=getXMLText("images","image","urlBase");
timeDate = getTimeDate();
year = getStringArrayAt(timeDate , 0);
month = getStringArrayAt(timeDate , 1);
day = getStringArrayAt(timeDate , 2);
if ( month < 10 ) {month="0"+month;}
if ( day < 10 ) {day="0"+day;}
ymd=year+month+day;
if(ymd==startdate)
{
test=ReadStringFromFile("/usr/local/etc/dvdplayer/picofday.jpg");
if(test==null)
{
getUrl("http://www.bing.com"+imgurl,"async","/usr/local/etc/dvdplayer/picofday.jpg");
picofday="/usr/local/etc/dvdplayer/picofday.jpg";
}
}
else
{
getUrl("http://www.bing.com"+imgurl,"async","/usr/local/etc/dvdplayer/picofday.jpg");
picofday="/usr/local/etc/dvdplayer/picofday.jpg";
}
}
}
}
}
}
кусок с
- Code: Select all
BG_image = GetUserBackgroundImg();
if ( "false" == BG_image) {
BG_image = "./i_image/main_screen/image_5.jpg";
}
BG_image;
заменить на
- Code: Select all
test=ReadStringFromFile("/usr/local/etc/dvdplayer/picofday.jpg");
if (test!=null)
{
bingimage="/usr/local/etc/dvdplayer/picofday.jpg";
bingimage;
}
else
{
BG_image = GetUserBackgroundImg();
if ( "false" == BG_image) {
BG_image = "./i_image/main_screen/image_5.jpg";
}
BG_image;
}
Это мой первый более-менее значимый опыт с RSS-ом и толковой документации особо не нашел, поэтому делал по образу и подобию.
Если кто подскажет как завернуть это в модуль, то можно попробовать сделать модуль.
Выглядит красиво - раз в час скрипт провряет не поменялась ли картинка дня на bing.com и если поменялась - ставит ее на фон.