def Save_Last_Serial_Info(tag, serial, serial_url, img, part): # get max history lenght try: max_history = (1, 5, 10, 20, 30, 50)[int(Addon.getSetting('history_len'))] if max_history > 99: max_history = 99 except: max_history = 10 sdate = today = date.today().isoformat() # load or create history file try: tree = ElementTree() tree.parse(os.path.join(Addon.getAddonInfo('path'), r'resources', r'data', r'history.xml')) xml1 = tree.getroot() except: # create XML structure xml1 = Element("SERIALU_NET_HISTORY") # shrink history to limit if len(xml1) > max_history: idx = 1 for rec in xml1: if idx >= max_history: xml1.remove(rec) idx = idx + 1 # format name if part.find('[/COLOR]') > -1: part = re.compile('[COLOR FF00FF00](.+?)[/COLOR]', re.MULTILINE|re.DOTALL).find(part) xml_hist = None # update sequince number for history records for rec in xml1: if rec.tag == tag: rec.find("ID").text = str(0).zfill(2) xml_hist = rec else: rec.find("ID").text = str(int(rec.find("ID").text)+1).zfill(2) if xml_hist == None: xml_hist = SubElement(xml1, tag) SubElement(xml_hist, "ID").text = str(0).zfill(2) SubElement(xml_hist, "Serial").text = unescape(serial) SubElement(xml_hist, "URL").text = serial_url SubElement(xml_hist, "Date").text = sdate SubElement(xml_hist, "Part").text = unescape(part) SubElement(xml_hist, "Image").text = img else: xml_hist.find("Part").text = unescape(part) xml_hist.find("Date").text = sdate # sort history by IDs xml1[:] = sorted(xml1, key=getkey) ElementTree(xml1).write(os.path.join(Addon.getAddonInfo('path'), r'resources', r'data', r'history.xml'), encoding='utf-8')
def Save_History(name, url, img): tag = 'ch_'+f_md5(url).hexdigest() # get max history lenght try: max_history = (1, 5, 10, 20, 30, 50)[int(Addon.getSetting('history_len'))] if max_history > 99: max_history = 99 except: max_history = 10 sdate = today = date.today().isoformat() # load or create history file try: tree = ElementTree() tree.parse(os.path.join(Addon.getAddonInfo('path'), r'resources', r'data', r'history.xml')) xml1 = tree.getroot() except: # create XML structure xml1 = Element("ULTIMATV_HISTORY") # shrink history to limit if len(xml1) > max_history: idx = 1 for rec in xml1: if idx >= max_history: xml1.remove(rec) idx = idx + 1 xml_hist = None # update sequince number for history records for rec in xml1: if rec.tag == tag: rec.find("ID").text = str(0).zfill(2) xml_hist = rec else: rec.find("ID").text = str(int(rec.find("ID").text)+1).zfill(2) if xml_hist == None: xml_hist = SubElement(xml1, tag) SubElement(xml_hist, "ID").text = str(0).zfill(2) SubElement(xml_hist, "Channel").text = unescape(name) SubElement(xml_hist, "URL").text = url SubElement(xml_hist, "Image").text = img SubElement(xml_hist, "Date").text = sdate else: xml_hist.find("Date").text = sdate # sort history by IDs xml1[:] = sorted(xml1, key=getkey) ElementTree(xml1).write(os.path.join(Addon.getAddonInfo('path'), r'resources', r'data', r'history.xml'), encoding='utf-8')
def Save_Last_Serial_Info(tag, serial, serial_url, img, part): # get max history lenght try: max_history = (1, 5, 10, 20, 30, 50)[int(Addon.getSetting('history_len'))] if max_history > 99: max_history = 99 except: max_history = 10 sdate = today = date.today().isoformat() # load or create history file try: tree = ElementTree() tree.parse( os.path.join(Addon.getAddonInfo('path'), r'resources', r'data', r'history.xml')) xml1 = tree.getroot() except: # create XML structure xml1 = Element("SERIALU_NET_HISTORY") # shrink history to limit if len(xml1) > max_history: idx = 1 for rec in xml1: if idx >= max_history: xml1.remove(rec) idx = idx + 1 # format name if part.find('[/COLOR]') > -1: part = re.compile('[COLOR FF00FF00](.+?)[/COLOR]', re.MULTILINE | re.DOTALL).find(part) xml_hist = None # update sequince number for history records for rec in xml1: if rec.tag == tag: rec.find("ID").text = str(0).zfill(2) xml_hist = rec else: rec.find("ID").text = str(int(rec.find("ID").text) + 1).zfill(2) if xml_hist == None: xml_hist = SubElement(xml1, tag) SubElement(xml_hist, "ID").text = str(0).zfill(2) SubElement(xml_hist, "Serial").text = unescape(serial) SubElement(xml_hist, "URL").text = serial_url SubElement(xml_hist, "Date").text = sdate SubElement(xml_hist, "Part").text = unescape(part) SubElement(xml_hist, "Image").text = img else: xml_hist.find("Part").text = unescape(part) xml_hist.find("Date").text = sdate # sort history by IDs xml1[:] = sorted(xml1, key=getkey) ElementTree(xml1).write(os.path.join(Addon.getAddonInfo('path'), r'resources', r'data', r'history.xml'), encoding='utf-8')