ジャンル別新着アドオン
フォト
ビデオ
ミュージック
アドオンの詳細
アドオン名  Apple_Trailer_Posters
対象コンテンツ  Photo
概要  Appleの動画トレイラーに付属するポスターを表示するアドオン
詳細説明  Appleの動画トレイラーに付属するポスターを表示するアドオン
アドオンインストール用URL http://www.corockets.com/add_ons/fetch/13
ソースコード
 # -*- encoding: utf-8 -*-
# Apple Trailer Posters
# Copyright Tomoya Kitayama All rights reserved.

import clr
clr.AddReferenceByPartialName("PresentationCore")
clr.AddReferenceByPartialName("PresentationFramework")
clr.AddReferenceByPartialName("WindowsBase")
clr.AddReferenceByPartialName("System.Xml")
clr.AddReferenceByPartialName("System.Configuration")
clr.AddReferenceByPartialName("coRockets")

from System import String, Int32, Uri, DateTime, TimeSpan, Exception
from System.IO import Stream, StreamReader, Path, DirectoryInfo
from System.Collections.Generic import List
from System.Collections.ObjectModel import Collection;
from System.Globalization import CultureInfo, DateTimeStyles
from System.Text.RegularExpressions import Regex, RegexOptions, Match
from System.Timers import Timer
from System.Net import WebRequest, WebResponse, WebClient, HttpRequestHeader
from System.Net.NetworkInformation import NetworkInterface
from System.Windows.Threading import DispatcherTimer;
from System.Xml import XmlDocument, XmlNode, XmlAttribute
from System.Configuration import ConfigurationManager, ConfigurationUserLevel
from System.Diagnostics import *
from CoRockets import Entry

def update():
	try:
		global rootEntry
		
		if not NetworkInterface.GetIsNetworkAvailable():
			return
		
		request = WebRequest.Create("http://www.apple.com/trailers/home/xml/current.xml")
		response = request.GetResponse()
		s = response.GetResponseStream()
		doc = XmlDocument()
		doc.Load(s)
		entryList = List[Entry]()
		
		for movieinfoXmlNode in doc.SelectNodes("/records/movieinfo"):
			newEntry = Entry()
			for xmlNode in movieinfoXmlNode.ChildNodes:
				if xmlNode.Name.Equals("info"):
					for infoXmlNode in xmlNode.ChildNodes:
						if infoXmlNode.Name.Equals("title"):
							newEntry.Title = infoXmlNode.InnerText
						if infoXmlNode.Name.Equals("description"):
							newEntry.Description = infoXmlNode.InnerText
						if infoXmlNode.Name.Equals("studio"):
							newEntry.Author = infoXmlNode.InnerText
						if infoXmlNode.Name.Equals("postdate"):
							newEntry.Updated = newEntry.Updated = DateTime.ParseExact(infoXmlNode.InnerText, "yyyy-MM-dd", CultureInfo.InvariantCulture.DateTimeFormat, DateTimeStyles.None)
				if xmlNode.Name.Equals("poster"):
					for posterXmlNode in xmlNode.ChildNodes:
						if posterXmlNode.Name.Equals("xlarge"):
							newEntry.ImageUri = newEntry.Uri = Uri(posterXmlNode.InnerText)

			if newEntry.Uri != None:
				isExist = False
				for entry in rootEntry.ChildEntries:
					if entry.Uri == newEntry.Uri:
						isExist = True
				if isExist == False:
					entryList.Add(newEntry)
					
		if entryList.Count > 0:
			rootEntry.ImageUri = Uri("http://www.sindhtoday.net/wp-content/uploads/2008/07/apple-logo.jpg")
			
			entryList.Reverse()
			for entry in entryList:
				rootEntry.InsertChild(0, entry)
				
		if s != None:
			s.Close()
			
		if response != None:
			response.Close()

	except Exception, e:
		Trace.WriteLine("Apple Trailer Posters "+e)

def onUpdate(s, e):
	update()

rootEntry = None

for entry in Fetcher.Entries:
	if entry.Title.Equals("Apple Trailer Posters"):
		rootEntry = entry
		break

if rootEntry == None:
	rootEntry = Entry()
	rootEntry.Title = "Apple Trailer Posters"
	rootEntry.Type = "Photos"
	Fetcher.Entries.Add(rootEntry)

Fetcher.Update += onUpdate
      
作成日  2009-02-16 11:07:29
更新日  2010-09-05 16:57:46
過去の更新履歴 履歴を見る
初期設定パラメータ
パラメータ1:名前   パラメータ1:値  
パラメータ2:名前   パラメータ2:値  
パラメータ3:名前   パラメータ3:値  
パラメータ4:名前   パラメータ4:値  
パラメータ5:名前   パラメータ5:値  
コメント
Name jopteernurz
URL http://ugxdmigoybdy.com/
Comment sDWFbu <a href="http://xkockmxilxsy.com/">xkockmxilxsy</a>, [url=http://kvttgixcdehw.com/]kvttgixcdehw[/url], [link=http://youttqtrxnbw.com/]youttqtrxnbw[/link], http://ylarlprmpwzj.com/

Name djgymnz
URL http://vqezxkfsoqbi.com/
Comment h1eKOU <a href="http://nthejaoxgbao.com/">nthejaoxgbao</a>, [url=http://beudivyjdzjj.com/]beudivyjdzjj[/url], [link=http://qlkwcowxjqan.com/]qlkwcowxjqan[/link], http://kdwmqjikwsvb.com/

Name mvksyxqnt
URL http://wkzgjnxqyfav.com/
Comment A1Yt8n <a href="http://wjmudaxqqips.com/">wjmudaxqqips</a>, [url=http://rxgboggvnzhj.com/]rxgboggvnzhj[/url], [link=http://pfmnydgkwnqr.com/]pfmnydgkwnqr[/link], http://uibipmyrbunq.com/

Name mzdnbjxuhss
URL http://lktxvvrfakuo.com/
Comment 4jx9xJ <a href="http://jugqwghvkkqx.com/">jugqwghvkkqx</a>, [url=http://gwddithhwfhn.com/]gwddithhwfhn[/url], [link=http://yruksnepxpzl.com/]yruksnepxpzl[/link], http://rfmsjagqmfxr.com/

Name nzpeadkb
URL http://pbnnxdlrezjx.com/
Comment PxObNI <a href="http://pyflahucebsb.com/">pyflahucebsb</a>, [url=http://psygkqebgulg.com/]psygkqebgulg[/url], [link=http://qpxamqbyatkt.com/]qpxamqbyatkt[/link], http://vphhwkrdulqr.com/