السلام عليكم ورحمة الله وبركاته
أنا أستعمل برنامج xbmc مع بلوغين atn network
البلوغين هو بلغة phyton وهو يجلب ملف القنوات channels.xml من داخل مجلد البلوغين الموجود على جهاز الكمبيوتر.
البرنامج استعمله ويستعمله كذلك بعض اصدقائي
المشكل أنني إذا عدلت على ملف القنوات باضافة او حذف قناة فيجب ان انقل الملف الى كل اجهزة اصدقائي كل واحد على حدى
فلو كان بالامكان ان اعدل على البلوغين كي يكون مساره هو رابط انترنت مثلا
وبهذا ارفع الملف المعدل على رابط الانترنت ويتم تحديثه اوتوماتيكيا في كل الاجهزة الاخرى
هذا هو الملف المسؤول عن جلب ملف القنوات
والكود الأصلي لونته باللون الأحمر
أما الكود المرغوب فيه كمثال لونته باللون الأخضر
جزاكم الله خيرا وشكرا لكم مسبقا
import os
import sys
from BeautifulSoup import BeautifulSoup
class Category:
def __init__(self, categoryEl):
self.title = categoryEl['title']
class Channel:
def __init__(self, channelEl):
self.id = channelEl['id']
self.title = channelEl['title']
self.thumbnail = channelEl['thumbnail']
class UtilsChannelsFile:
_channelsXmlFile = os.path.join('resources', 'data', 'channels.xml') // red .. original code
_channelsXmlFile = os.path.join('http://www.exemple.com/channels.xml') // green .. my code
def __init__(self):
self.pluginPath = sys.modules["__main__"].pluginPath
def readChannelsFileAsSoup(self):
filename = os.path.join(self.pluginPath, self._channelsXmlFile)
handler = open(filename).read()
return BeautifulSoup(handler)
def getCategories(self):
soup = self.readChannelsFileAsSoup()
categoryListEl = soup.findAll('category')
list = []
for categoryEl in categoryListEl:
list.append(Category(categoryEl))
return list
def getChannelsByCategoryTitle(self, categoryTitle):
soup = self.readChannelsFileAsSoup()
channelListEl = soup.find('category', {'title' : categoryTitle}).findAll('channel')
list = []
for channelEl in channelListEl:
list.append(Channel(channelEl))
return list