לוח שידורים ל-HOT

תוכנות ניהול מדיה: KODI, תוספים, XBMC, Media Portal, PLEX וכו'
ofer1973 פותח השרשור
סמל אישי של משתמש
חבר ותיק
חבר ותיק
תגובות: 1339
הצטרף: דצמבר 2004
שם מלא: ofer1973
מיקום: חולון
נתן תודות: 507 פעמים
קיבל תודות: 26 פעמים

שליחה #1 

ערב טוב לכולם.

בפורום כולם מדברים ומסבירים איך להוריד
EGP של YES ,אבל אף אחד לא עוזר
או מסביר איך בדיוק עושים את זה עם HOT.

מישהו יכול בבקשה להסביר ולהנחות ,איך מקבלים
את לוח השידורים של HOT בתוכנה SAGE-TV ?


בתודה מראש
עופר.י

MartinHSabag
סמל אישי של משתמש
מנהל
מנהל
תגובות: 59344
הצטרף: נובמבר 2004
שם מלא: מרטין סבג
מיקום: כפר-סבא
נתן תודות: 826 פעמים
קיבל תודות: 1567 פעמים
יצירת קשר:

שליחה #2 

droren עובד על זה, אם אני לא טועה...
Making Products, Mentor, Lecturer
twitter facebook linkedin
About.me

droren
סמל אישי של משתמש
חבר מביא חבר
חבר מביא חבר
תגובות: 4222
הצטרף: דצמבר 2004
מיקום: רמת אפעל
נתן תודות: 7 פעמים
קיבל תודות: 3 פעמים

שליחה #3 

אכן אנ עובד על הנושא
הדבר לצערי יקח עוד זמן , אבל צפוי לצאת בעוד כחודש לערך
Microsoft Regional Director- Windows Media Center

הבלוג שלי - הצצה לחיים של טכנובלוגר

oshapir
סמל אישי של משתמש
גורו
גורו
תגובות: 4019
הצטרף: פברואר 2005
מיקום: צורן
נתן תודות: 4 פעמים
קיבל תודות: 36 פעמים

שליחה #4 

בינתיים, ניתן להשתמש ב-TVXB.
יש לה תמיכה גם ב-YES וגם ב-HOT ממספר אתרים שונים.

אורן.

doron_amedey
חבר מביא חבר
חבר מביא חבר
תגובות: 3149
הצטרף: נובמבר 2004
מיקום: מודיעין
נתן תודות: 6 פעמים
קיבל תודות: 7 פעמים

שליחה #5 

או פשוט יותר עבור ל-YES גם איכות תמונה וגם מגוון טוב יותר :lol:
אף פעם אל תחשוב שמשהו מצחיק, הוא עלול לקרות גם לך

ofer1973 פותח השרשור
סמל אישי של משתמש
חבר ותיק
חבר ותיק
תגובות: 1339
הצטרף: דצמבר 2004
שם מלא: ofer1973
מיקום: חולון
נתן תודות: 507 פעמים
קיבל תודות: 26 פעמים

שליחה #6 

תודה רבה לכולכם :wink: .



עופר.י
עופר.י

leo212
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 477
הצטרף: אוגוסט 2005
נתן תודות: 0
קיבל תודות: 21 פעמים

לוח שידורים ל-HOT ב10 שניות...

שליחה #7 

בשעה טובה סיימתי לכתוב סקריפט לטעינת לוח שידורים של HOT.
1. הסקריפט כתוב בJavaScript וניתן להרצה באמצעות הcscript.exe של windows.
2. הסקריפט "שואב" את נתוני לוח השידורים מהאתר הרשמי של HOT. באמצעות ממשק XML שהאתר מספק. (אמנם לא בפורמט xmltv אך מספיק בכדי לקרוא אותו בצורה נוחה ומהירה)
3. הסקריפט יוצר קובץ xmltv.xml בפורמט סטנדרטי אשר ניתן לקריאה כמעט בכל תוכנת media center.
4. הסקריפט (בגרסתו הנוכחית) לא מוריד מידע מורחב על התכניות אלא רק כותרות.
5. קצת סטטיסטיקות: לוח שידורים מלא (ללא פירוט) של HOT (כ130 ערוצים) של יומיים וחצי בפחות מ-10 שניות(!)
6. באג קטן - אשר נובע מהצורה שבה מתקבלים הנתונים מהאתר של HOT: לוח השידורים מחולק לסגמנטים של 4 שעות ותכניות בין סגמנטים מפוצלות לשניים. (לדוגמא אם הסגמנט הוא בין שעה 21 ל01 בלילה והתכנית מתחילה ברבע לאחת ומסתיימת באחת ורבע אז יהיו שתי תכניות בנות רבע שעה כ"א - אחת בין רבע לאחת לאחת ואחת בין אחת לאחת ורבע)

טוב, אחרי שדיברתי הרבה הנה הקוד:



קוד: בחירת הכל

//this script was written by Lior Tamam 2006
//global constants
var TVGUIDE_QUERY_ASP="http://www.aztv.co.il/site/XmlFiles/createTvProgr.hx.asp";
var TVGUIDE_QUERY_SINGLE_ASP="http://www.aztv.co.il/site/XmlFiles/singalProgram.hx.asp?id="; // for future use
var CHANNELS_TO_LOAD=""; //channels list to load, leave empty for all. (must be a " " after the last one, for example "4 10 20 ")
var CHANNELS_TO_LOAD_DETAILS="4 "; //not implemented - channels list to load details leave empty for none. (must be a " " after the last one)
var TIME_RATIO=0.4; // do not change this number
var OUTPUT_FILE="s:\\Multimedia\\gbpvr\\xmltv.xml";
var LOG_FILE=".\\tvguide.log";
var START_DATE=new Date();
var DEFAULT_TIME_UNIT=4; // cannot be changed - each request we get 4 hours of data
var NUMBER_OF_UNITS_TO_QUERY=(4 * 24 / DEFAULT_TIME_UNIT); // 4 Days
var XMLTAG="<?xml version='1.0' encoding='Windows-1255'?>";

var clObj      = new ActiveXObject&#40;"MSXML2.DOMDocument"&#41;;
var tvguidexml = new ActiveXObject&#40;"MSXML2.DOMDocument"&#41;;
fso 	= new ActiveXObject&#40;"Scripting.FileSystemObject"&#41;;		
logfile = fso.createTextFile&#40;LOG_FILE, 1&#41;
	
clObj.async=false;

function log&#40;str&#41;
&#123;
	logfile.write&#40;str&#41;;
	WScript.echo&#40;str&#41;;
&#125;

function length2&#40;str&#41;
&#123;
	if&#40;&#40;typeof str =='undefined'&#41;||&#40;str==null&#41;&#41;
		return '';
	if&#40;str.length==0&#41;
		return '00';
	if&#40;str.length==1&#41;
		return &#40;'0'+str&#41;;
	return str.substring&#40;0,2&#41;;
&#125;

function gethottvguide&#40;&#41;
&#123;
  var channelsLoaded=false;
	
  log&#40;"GetHOTTvGuide Started at " + String&#40;new Date&#40;&#41;&#41; + "\n"&#41;;
  log&#40;"Preparing..."&#41;;
  try 
  &#123;	
	var otv='';
	var currDate=new Date&#40;START_DATE&#41;;
	
	clObj.loadXML&#40;XMLTAG + "<data><date/><otv/></data>"&#41;;
	tvguidexml.loadXML&#40;XMLTAG + "<tv></tv>"&#41;;
	
	log&#40;"Done.\n"&#41;;

	log&#40;"Downloading Data&#58;\n"&#41;;
	for&#40;tu=1;tu<=NUMBER_OF_UNITS_TO_QUERY;tu++&#41;
	&#123;
		log&#40;"From " + String&#40;currDate.getDate&#40;&#41;&#41; + "/" + String&#40;currDate.getMonth&#40;&#41;+1&#41; + " " + String&#40;currDate.getHours&#40;&#41;&#41; + "&#58;" + "00... "&#41;;
		var datetime='';
		datetime=length2&#40;String&#40;currDate.getDate&#40;&#41;&#41;&#41;+"_"+length2&#40;String&#40;currDate.getMonth&#40;&#41;+1&#41;&#41;+"_"+length2&#40;String&#40;currDate.getHours&#40;&#41;&#41;&#41;+"_00";
		clObj.documentElement.selectSingleNode&#40;"date"&#41;.text=datetime;
		clObj.documentElement.selectSingleNode&#40;"otv"&#41;.text=otv;
		
		var xmlhttp = new ActiveXObject&#40;"Microsoft.XMLHTTP"&#41;;
		xmlhttp.Open&#40;"POST",TVGUIDE_QUERY_ASP, false&#41;;
		xmlhttp.Send&#40;clObj&#41;;
		
		if&#40;xmlhttp.status!=200&#41;
		&#123;
			log&#40;"XMLHTTP Error &#58; "+xmlhttp.statusText+"\n"&#41;;
		&#125;
		else
		&#123;
			tempxml=xmlhttp.responseXML;
			sourcedoc=tempxml.selectSingleNode&#40;"//programs"&#41;;
			if &#40;sourcedoc == null&#41; 
			&#123;
				log&#40;"no more data, stopping process."&#41;;
				tu=NUMBER_OF_UNITS_TO_QUERY;
			&#125;
			else
			&#123;
				targetdoc=tvguidexml.documentElement;
				channels=sourcedoc.getElementsByTagName&#40;"channel"&#41;;
				if &#40;! channelsLoaded&#41; 
					&#123;
						log&#40;"Creating Chanells list..."&#41;
						channels=sourcedoc.getElementsByTagName&#40;"channel"&#41;;
						
						for&#40;i=0;i<channels.length;i++&#41;
						&#123;
							channelid=channels&#40;i&#41;.getAttribute&#40;"id"&#41;
							channelname=channels&#40;i&#41;.getAttribute&#40;"name"&#41;;
							if &#40;CHANNELS_TO_LOAD.indexOf&#40;channelid+" "&#41;>=0 || CHANNELS_TO_LOAD.length==0&#41;
							&#123;
								log&#40;channelid+" - "+channelname&#41;;
								var newchannel=tvguidexml.createElement&#40;"channel"&#41;;
								var disName=tvguidexml.createElement&#40;"display-name"&#41;;
								var chName=tvguidexml.createTextNode&#40;channelname&#41;;
								newchannel.setAttribute&#40;"id",channelid&#41;;
								disName.appendChild&#40;chName&#41;;
								newchannel.appendChild&#40;disName&#41;;
								targetdoc.appendChild&#40;newchannel&#41;;
							&#125;
						&#125;
						channelsLoaded=true;
					&#125;
				
				for&#40;i=0;i<channels.length;i++&#41;
				&#123;
					var currChannel=channels&#40;i&#41;;
					channelid=currChannel.getAttribute&#40;"id"&#41;;
					
					// check if this channel is requested
					if &#40;CHANNELS_TO_LOAD.indexOf&#40;channelid+" "&#41;>=0 || CHANNELS_TO_LOAD.length==0&#41;
					&#123;
						currTime=new Date&#40;currDate.getFullYear&#40;&#41;,currDate.getMonth&#40;&#41;,currDate.getDate&#40;&#41;,currDate.getHours&#40;&#41;,0&#41;;
						
						// load the programs list of the channel
						programs=currChannel.getElementsByTagName&#40;"program"&#41;;
						for&#40;j=0;j<programs.length;j++&#41;
						&#123;
							programid=programs&#40;j&#41;.getAttribute&#40;"id"&#41;;
							programtitle=programs&#40;j&#41;.getAttribute&#40;"title"&#41;;
							programlength=&#40;programs&#40;j&#41;.getAttribute&#40;"width"&#41;&#41;*TIME_RATIO;
							programstart=String&#40;currTime.getFullYear&#40;&#41;&#41;+
									length2&#40;String&#40;currTime.getMonth&#40;&#41;+1&#41;&#41;+
									length2&#40;String&#40;currTime.getDate&#40;&#41;&#41;&#41;+
									length2&#40;String&#40;currTime.getHours&#40;&#41;&#41;&#41;+
									length2&#40;String&#40;currTime.getMinutes&#40;&#41;&#41;&#41;+
									length2&#40;String&#40;currTime.getSeconds&#40;&#41;&#41;&#41;;
							currTime.setTime&#40;currTime.getTime&#40;&#41;+programlength*60*1000&#41;;
							programstop=String&#40;currTime.getFullYear&#40;&#41;&#41;+
									length2&#40;String&#40;currTime.getMonth&#40;&#41;+1&#41;&#41;+
									length2&#40;String&#40;currTime.getDate&#40;&#41;&#41;&#41;+
									length2&#40;String&#40;currTime.getHours&#40;&#41;&#41;&#41;+
									length2&#40;String&#40;currTime.getMinutes&#40;&#41;&#41;&#41;+
									length2&#40;String&#40;currTime.getSeconds&#40;&#41;&#41;&#41;;
							issplitted=&#40;programs&#40;j&#41;.getAttribute&#40;"en"&#41;==0&#41;;
							
							var newprogram=tvguidexml.createElement&#40;"programme"&#41;;
							var title=tvguidexml.createElement&#40;"title"&#41;;
							var desc=tvguidexml.createElement&#40;"desc"&#41;;
							var titletext=tvguidexml.createTextNode&#40;programtitle&#41;;
							
							newprogram.setAttribute&#40;"channel", channelid&#41;;
							newprogram.setAttribute&#40;"start", programstart&#41;;
							newprogram.setAttribute&#40;"stop", programstop&#41;;
							newprogram.setAttribute&#40;"id",programid&#41;;
							if &#40;issplitted&#41; 
							&#123;
								newprogram.setAttribute&#40;"splitted","true"&#41;;
							&#125;
							title.appendChild&#40;titletext&#41;;
							newprogram.appendChild&#40;title&#41;;
							newprogram.appendChild&#40;desc&#41;;
							targetdoc.appendChild&#40;newprogram&#41;;
						&#125;
					&#125;
				&#125;
			log&#40;"Done.\n"&#41;;
			currDate.setTime&#40;currDate.getTime&#40;&#41;+DEFAULT_TIME_UNIT*60*60*1000&#41;;
			&#125;
	
		&#125;
	&#125;
	
	log&#40;"Creating an output XML File..."&#41;;
	var xmlfile;
	xmlfile = fso.createTextFile&#40;OUTPUT_FILE, 1&#41;
	xmlfile.write&#40;XMLTAG&#41;;
	xmlfile.write&#40;tvguidexml.documentElement.xml&#41;;
	xmlfile.close&#40;&#41;;
	log&#40;"Done.\n"&#41;;
  &#125;
  catch&#40;e&#41;
  &#123;
	log&#40;"\nERROR&#58;" + e.description+"\n"&#41;;
  &#125;

  log&#40;"GetHOTTvGuide Ended at " + String&#40;new Date&#40;&#41;&#41; + "\n"&#41;;
  logfile.close&#40;&#41;;
&#125;

gethottvguide&#40;&#41;;
אתם מוזמנים לשפר ולבצע שינויים ק אל תשכחו לפרסם שכולם יהנו.

droren
סמל אישי של משתמש
חבר מביא חבר
חבר מביא חבר
תגובות: 4222
הצטרף: דצמבר 2004
מיקום: רמת אפעל
נתן תודות: 7 פעמים
קיבל תודות: 3 פעמים

שליחה #8 

כל הכבוד
Microsoft Regional Director- Windows Media Center

הבלוג שלי - הצצה לחיים של טכנובלוגר

oshapir
סמל אישי של משתמש
גורו
גורו
תגובות: 4019
הצטרף: פברואר 2005
מיקום: צורן
נתן תודות: 4 פעמים
קיבל תודות: 36 פעמים

שליחה #9 

מעולה!
אם אתה צריך עזרה באנפורמציה לגבי קטגוריות/שמות פרקים וכיו"ב - אל תהסס לפנות...

האם קיימת אפשרות לקבל יותר מ-יומיים וחצי?
האם אתה מתכוון לפתור את הבאג של התוכניות הכפולות? לדעתי זה מחוייב אחרת הנתונים לא כל כך רלונטיים לשימוש...

אורן.

ofer1973 פותח השרשור
סמל אישי של משתמש
חבר ותיק
חבר ותיק
תגובות: 1339
הצטרף: דצמבר 2004
שם מלא: ofer1973
מיקום: חולון
נתן תודות: 507 פעמים
קיבל תודות: 26 פעמים

שליחה #10 

כל הכבוד על העבודה :) .

סוף סוף גם לקוחות HOT יוכלו להנות מלוח
שידורים סביר .



תודה רבה
עופר.י
עופר.י

leo212
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 477
הצטרף: אוגוסט 2005
נתן תודות: 0
קיבל תודות: 21 פעמים

שליחה #11 

oshapir כתב:מעולה!
אם אתה צריך עזרה באנפורמציה לגבי קטגוריות/שמות פרקים וכיו"ב - אל תהסס לפנות...

האם קיימת אפשרות לקבל יותר מ-יומיים וחצי?
האם אתה מתכוון לפתור את הבאג של התוכניות הכפולות? לדעתי זה מחוייב אחרת הנתונים לא כל כך רלונטיים לשימוש...

אורן.
...
זה תלוי באתר של HOT, בפעם אחת זה תפס לי 5 ימים ובפעם אחרת תפס רק יומיים. (הסקריפט מפסיק לרוץ כאשר אין יותר מידע).
כן, אני מתכוון לתקן את זה, ישנה אינדקציה לגבי התכניות המפוצלות (לא כפולות) ואפשר באמצעות לולאה פשוטה לרוץ על לוח השידורים ולאחד אותם.

ofer1973 פותח השרשור
סמל אישי של משתמש
חבר ותיק
חבר ותיק
תגובות: 1339
הצטרף: דצמבר 2004
שם מלא: ofer1973
מיקום: חולון
נתן תודות: 507 פעמים
קיבל תודות: 26 פעמים

שליחה #12 

מישהו מוכן להסביר לי מה אני עושה עם ה-script הזה ?
איך ואיפה שמים אותו ?
בקיצור , איך אני גורם ל-SAGETV למשוך ולהראות לי
לוח שידורים של HOT ?


בתודה רבה
עופר.י
עופר.י

leo212
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 477
הצטרף: אוגוסט 2005
נתן תודות: 0
קיבל תודות: 21 פעמים

שליחה #13 

ofer1973 כתב:מישהו מוכן להסביר לי מה אני עושה עם ה-script הזה ?
איך ואיפה שמים אותו ?
בקיצור , איך אני גורם ל-SAGETV למשוך ולהראות לי
לוח שידורים של HOT ?


בתודה רבה
עופר.י
...
א. צריך לעדכן בסקריפט איפה לשמור את קובץ הפלט (שדה OUTPUT_FILE)
ב. צריך לדאוג שהסקריפט ירוץ פעם בכמה זמן (כל לילה למשל) ויעדכן את הקובץ. ניתן להגדיר זאת בScheduled Tasks בControl Panel של הWindows.
ג. צריך לקנפג את הsagetv כך שישתמש בנתוני הקובץ שנוצר. (אני לא מכיר איך בדיוק מבצעים זאת ב-sagetv)

בהצלחה.

ofer1973 פותח השרשור
סמל אישי של משתמש
חבר ותיק
חבר ותיק
תגובות: 1339
הצטרף: דצמבר 2004
שם מלא: ofer1973
מיקום: חולון
נתן תודות: 507 פעמים
קיבל תודות: 26 פעמים

שליחה #14 

תודה רבה לך leo212 :wink: .
מישהו יכול להרחיב ?





בתודה
עופר.י
עופר.י

rafid
סמל אישי של משתמש
חבר ותיק
חבר ותיק
תגובות: 1042
הצטרף: מאי 2005
נתן תודות: 13 פעמים
קיבל תודות: 9 פעמים

שליחה #15 

קובץ הXML שמיוצר לא תואם את תקן XMLTV ולכן MCE לא מוכן לקבל אותו

tsella
סמל אישי של משתמש
חבר שרק התחיל
חבר שרק התחיל
תגובות: 10
הצטרף: אוגוסט 2005
נתן תודות: 0
קיבל תודות: 0

שליחה #16 

אני כתבתי משהו כזה באוגוסט. קצת יותר מורכב:

1. XMLTV מלא, כולל טיפול ביצוא ל-BladeRunnerPro ומשם ל-MCE.
2. יבוא פרטי תכניות, כולל קטגוריות, שחקנים ועוד.
3. מטפל בכפילויות, פריסה על פני חלקים שונים, ועוד.
4. מטמון (CACHE) לתוכניות בודדות (שבור כרגע - השתמשתי במקור בקוד התוכנית, ובדיעבד הסתבר שהקוד אינו קבוע ואינו מייצג תוכנית אחת בעקביות - צריך לשמור במקום לשמור HASH של שם התוכנית + תזמון + ערוץ (טריוואלי)). אגב, ללא מטמון, יבוא יכול לקחת מספר שעות עבור כ-10 ערוצים...
5. בחירת ערוצים לטיפול (תמיכה ב-whitelist ו-blacklist) עפ"י הנוחות.
6. יצירת עץ קטגוריות מורחב ל-MCE לדוגמא -
<c id="C12" value="בידור ומוסיקה" mscname="UNKNOWN">
<c id="C1200" value="הכל" />
<c id="C1201" value="אינטראקטיבי" />
<c id="C1202" value="אופרה" />
<c id="C1203" value="אמנות" />
<c id="C1204" value="בידור" />
<c id="C1205" value="בלט" />
<c id="C1206" value="מוסיקה קלאסית" />
<c id="C1207" value="מוסיקת עם" />
<c id="C1208" value="מופע בידור" />
<c id="C1209" value="ספיישל" />
<c id="C1210" value="ספרות" />
<c id="C1211" value="פופ" />
<c id="C1212" value="קולנוע" />
<c id="C1213" value="קונצרט" />
<c id="C1214" value="קסמים" />
<c id="C1215" value="רוק" />
<c id="C1216" value="שעשועון" />
<c id="C1217" value="תוכנית אירוח" />
<c id="C1218" value="תיאטרון" />
<c id="C1219" value="תרבות" />
<c id="C1220" value="תרבות ומוסיקה" />
</c>

למה אני לא מפיץ? עזבתי את זה זמנית (כמה חודשים שאני כבר לא נוגע בזה - אין לי זמן, ועוד לא קניתי את ה-WinPVR שאני כל כך רוצה :( ). אם משהו רוצה לחבור אלי ולסיים פיתוח, ורצוי ידע ב-VS.NET, אני רוצא להמיר את ה-Javascript לקוד מקומפל - יש אפשרות כזו, אני רוצה משהו שמכיר את הנושא.

יש לי עוד כמה TODO-ים:
- לתקן את המטמו
- לתמוך בקריאה אסינכרונית ולייצר READ POOL (ניסיתי בעבר, לא עבד לי - אם יש מישהו עם נסיון ב-AJAX הוא בטח יוכל לפתור בדקה)
- לפרסס במאי, שחקנים, ארץ ותאריך יצירה והסיכום (במאי מופיע גם ב-XML של HOT, אבל לעיתים השמות חתוכים)
- באג שלעיתים מייצר תאריך לא חוקי (משהו מאוד נקודתי שעוד לא מצאתי את הגורם לו), לתקן באג בטיפול בכפולים (כרגע אני שומר רשומה ישנה - זו טעות מאחר ורשומה חדשה יכולה להצביע על עדכון).

אם יש מישהו *רציני* שרוצה לקדם את זה, שיצור עימי קשר בפרטי.

כמה שורות דוגמה -

<programme start="20060131063200 +0200" stop="20060131065800 +0200" channel="chn3.il" id="106679">
<title lang="he">נני</title>
<desc lang="he">קומדיה. הציפורניים לשעבר: פראן וסיסי מבקשות מד``ר גויס בראדרס (בהופעת אורח) לקבוע מי משתיהן תהיה אישה טובה יותר למקסוול. בינתיים, מחליט ניילס להתפטר מעבודתו.</desc>
<rating system="MPAA">
<value>G</value>
</rating>
<category lang="he">סדרות</category>
<category lang="he">קומדיה</category>
</programme>


<programme start="20060205194500 +0200" stop="20060205213000 +0200" channel="chn12.il" id="128611">
<title lang="he">בלונדינית אמיתית</title>
<desc lang="he">דרמה קומית. מאפרת ובן זוגה, שחקן מובטל, מתמודדים עם קשיי הקריירה והזוגיות, תוך שחברם רודף השמלות חולם לפגוש סוף סוף בלונדינית אמיתית. עם: מתיו מודין, קתרין קיניר, בימוי: טום דיצילו (ארה``ב 1996).</desc>
<credits>
<director>טום דיצי</director>
</credits>
<rating system="MPAA">
<value>PG-13</value>
</rating>
<category lang="he">סרטים</category>
<category lang="he">קומדיה</category>
</programme>

leo212
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 477
הצטרף: אוגוסט 2005
נתן תודות: 0
קיבל תודות: 21 פעמים

GetHOTEPG שוחרר בגרסה חדשה ומשופרת

שליחה #17 

כפי שהבטחתי, שיפרתי את הסקריפט וכעת:
1. נפתרה בעיית התכניות המפוצלות.
2. מוריד מידע נרחב הכולל:
א. תיאור מפורט.
ב. קטגוריה.
ג. שם פרק / תת-כותרת.
ד. בימאי.
ה. שחקנים.
ו. ארץ ושנת הפקה.
3. מבצע הורדה סינכרונית של פרטי כמה תכניות במקביל.
4. שומר במטמון קבצים שהורדו וכך מונע הורדה חוזרת של תכניות.

התקנה
1. הורידו את הקובץ http://www.files.bz/files/3559/GetHOTEPG.zip אם הלינק לא עובד, ניתן לפנות אליי בפרטי.
2. פתחו את הקובץ לתקייה כלשהי.
3. הריצו על ידי הפקודה:
[left]
c:\windows\system32\cscript.exe gethottvguide.js
[/left]
4. קובץ הxml יווצר בתקייה הנוכחית.

קינפוג
ערכו באמצעות notepad את הקובץ gethottvguide.js:
ישנם כמה שדות הניתנים לשינוי:
CHANNELS_TO_LOAD - מכיל רשימת ערוצים להורדת תוכן בסיסי (כותרת ושעה) מומלץ להשאיר שדה זה ריק בכדי להוריד את כל הערוצים - לא משפיע במידה רבה על מהירות ההורדה גם ככה זה לוקח 10 שניות...
CHANNELS_TO_LOAD_DETAILS - מכיל רשימת ערוצים להורדת תוכן מפורט. אם משאירים ריק אז לא יורד פירוט עבור שום ערוץ. מומלץ להזין בין 10 ל-20 ערוצים אשר מועדפים עליכם - לוקח כשעתיים עבור 15 ערוצים לשבוע מלא.
BUFFER_SIZE - מספר הורדות של תכנים במקביל, מומלץ להשאיר על 10.
OUTPUT_FILE - שם קובץ היעד ומיקומו (xmltv.xml)

אשמח לענות על שאלות ולתת פרטים נוספים.
שימוש מהנה,
ליאור.
נערך לאחרונה על ידי leo212 ב 25/03/2006 20:31, נערך פעם 1 בסך הכל.

leo212
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 477
הצטרף: אוגוסט 2005
נתן תודות: 0
קיבל תודות: 21 פעמים

שליחה #18 

rafid כתב:קובץ הXML שמיוצר לא תואם את תקן XMLTV ולכן MCE לא מוכן לקבל אותו
...
הקובץ כן תואם את תקן הXMLTV כפי שמפורט ב:
http://membled.com/twiki/bin/view/Main/XmltvFileFormat
תוכנות MediaCenter נורמליות מצליחות לקרוא את הקובץ ללא בעיות.

microsoft ידועה כחברה שמפרה תקנים ואח"כ טוענת שהקבצים שלה הם התקן האמיתי...

שלח תגובה

חזור אל “תוכנה - KODI”