def __init__(self, utility): self.utility = utility filename = self.utility.config.Read('language_file') langpath = os.path.join(self.utility.getPath(), "lang") sys.stdout.write("Setting up languages\n") sys.stdout.write("filename: " + str(filename) + "\n") # Set up user language file (stored in user's config directory) self.user_lang = None user_filepath = os.path.join(self.utility.getConfigPath(), 'user.lang') self.user_lang = ConfigReader(user_filepath, "ABC/language") # Set up local language file self.local_lang_filename = None self.local_lang = None local_filepath = os.path.join(langpath, filename) if filename != 'english.lang' and existsAndIsReadable(local_filepath): self.local_lang_filename = filename self.local_lang = ConfigReader(local_filepath, "ABC/language") # Set up english language file self.english_lang = None english_filepath = os.path.join(langpath, 'english.lang') if existsAndIsReadable(english_filepath): self.english_lang = ConfigReader(english_filepath, "ABC/language") self.cache = {} self.langwarning = False
def moveOldConfigFiles(utility): oldpath = utility.getPath() newpath = utility.getConfigPath() files = [ "torrent.lst", "torrent.list", "torrent.list.backup1", "torrent.list.backup2", "torrent.list.backup3", "torrent.list.backup4", "abc.ini", "abc.conf", "webservice.conf", "maker.conf", "torrent", "torrentinfo" ] for name in files: oldname = os.path.join(oldpath, name) if existsAndIsReadable(oldname): newname = os.path.join(newpath, name) try: move(oldname, newname) except: # data = StringIO() # print_exc(file = data) # sys.stderr.write(data.getvalue()) pass # Special case: move lang\user.lang to configdir\user.lang oldname = os.path.join(oldpath, "lang", "user.lang") if existsAndIsReadable(oldname): newname = os.path.join(newpath, "user.lang") try: move(oldname, newname) except: pass
def convertOldList1(utility): # Only continue if torrent.lst exists filename = os.path.join(utility.getConfigPath(), "torrent.lst") if not existsAndIsReadable(filename): return torrentconfig = utility.torrentconfig # Don't continue unless torrent.list is empty try: if torrentconfig.has_section("0"): return except: return oldconfig = open(filename, "r+") configline = oldconfig.readline() index = 0 while configline != "" and configline != "\n": try: configmap = configline.split("|") torrentconfig.setSection(str(index)) torrentconfig.Write("src", configmap[1]) torrentconfig.Write("dest", configmap[2]) # Write status information torrentconfig.Write("status", configmap[3]) torrentconfig.Write("prio", configmap[4]) # Write progress information torrentconfig.Write("downsize", configmap[5]) torrentconfig.Write("upsize", configmap[6]) if (len(configmap) <= 7) or (configmap[7] == "?\n"): progress = "0.0" else: progress = configmap[7] torrentconfig.Write("progress", str(progress)) except: # data = StringIO() # print_exc(file = data) # sys.stderr.write(data.getvalue()) # report exception here too pass configline = oldconfig.readline() index += 1 oldconfig.close() torrentconfig.Flush() # Rename the old list file move(filename, filename + ".old")
def convertOldList1(utility): # Only continue if torrent.lst exists filename = os.path.join(utility.getConfigPath(), "torrent.lst") if not existsAndIsReadable(filename): return torrentconfig = utility.torrentconfig # Don't continue unless torrent.list is empty try: if torrentconfig.has_section("0"): return except: return oldconfig = open(filename, "r+") configline = oldconfig.readline() index = 0 while configline != "" and configline != "\n": try: configmap = configline.split('|') torrentconfig.setSection(str(index)) torrentconfig.Write("src", configmap[1]) torrentconfig.Write("dest", configmap[2]) # Write status information torrentconfig.Write("status", configmap[3]) torrentconfig.Write("prio", configmap[4]) # Write progress information torrentconfig.Write("downsize", configmap[5]) torrentconfig.Write("upsize", configmap[6]) if (len(configmap) <= 7) or (configmap[7] == '?\n'): progress = "0.0" else: progress = configmap[7] torrentconfig.Write("progress", str(progress)) except: # data = StringIO() # print_exc(file = data) # sys.stderr.write(data.getvalue()) # report exception here too pass configline = oldconfig.readline() index += 1 oldconfig.close() torrentconfig.Flush() # Rename the old list file move(filename, filename + ".old")
def moveOldConfigFiles(utility): oldpath = utility.getPath() newpath = utility.getConfigPath() files = [ "torrent.lst", "torrent.list", "torrent.list.backup1", "torrent.list.backup2", "torrent.list.backup3", "torrent.list.backup4", "abc.ini", "abc.conf", "webservice.conf", "maker.conf", "torrent", "torrentinfo", ] for name in files: oldname = os.path.join(oldpath, name) if existsAndIsReadable(oldname): newname = os.path.join(newpath, name) try: move(oldname, newname) except: # data = StringIO() # print_exc(file = data) # sys.stderr.write(data.getvalue()) pass # Special case: move lang\user.lang to configdir\user.lang oldname = os.path.join(oldpath, "lang", "user.lang") if existsAndIsReadable(oldname): newname = os.path.join(newpath, "user.lang") try: move(oldname, newname) except: pass
def convertOldList2B(utility, indexval): torrentconfig = utility.torrentconfig index = str(indexval) try: if not torrentconfig.has_section(index): return False except: return False if indexval == 0: # backup the old file oldconfigname = os.path.join(utility.getConfigPath(), "torrent.list") if existsAndIsReadable(oldconfigname): try: copy2(oldconfigname, oldconfigname + ".old") except: pass # Torrent information filename = torrentconfig.Read("src", section=index) # Format from earlier 2.7.0 test builds: if not filename: # If the src is missing, then we should not try to add the torrent sys.stdout.write("Filename is empty for index: " + str(index) + "!\n") return False elif filename.startswith(utility.getPath()): src = filename else: src = os.path.join(utility.getConfigPath(), "torrent", filename) filename = os.path.split(src)[1] newsrc = os.path.join(utility.getConfigPath(), "torrent", filename) configpath = os.path.join(utility.getConfigPath(), "torrentinfo", filename + ".info") config = ConfigReader(configpath, "TorrentInfo") for name, value in torrentconfig.Items(index): if name != "src" and value != "": config.Write(name, value) config.Flush() torrentconfig.DeleteGroup(index) torrentconfig.Write(index, newsrc) return True
def convertINI(utility): # Only continue if abc.ini exists filename = os.path.join(utility.getConfigPath(), "abc.ini") if not existsAndIsReadable(filename): return config = utility.config lang = utility.lang # We'll ignore anything that was set to the defaults # from the previous version olddefaults = { 0: [-1, "abc_width", 710], 1: [-1, "abc_height", 400], 2: [-1, "detailwin_width", 610], 3: [-1, "detailwin_height", 500], 4: [0, "Title", 150], 5: [1, "Progress", 60], 6: [2, "BT Status", 100], 7: [8, "Priority", 50], 8: [5, "ETA", 85], 9: [6, "Size", 75], 10: [3, "DL Speed", 65], 11: [4, "UL Speed", 60], 12: [7, "%U/D Size", 65], 13: [9, "Error Message", 200], 14: [-1, "#Connected Seed", 60], 15: [-1, "#Connected Peer", 60], 16: [-1, "#Seeing Copies", 60], 17: [-1, "Peer Avg Progress", 60], 18: [-1, "Download Size", 75], 19: [-1, "Upload Size", 75], 20: [-1, "Total Speed", 80], 21: [-1, "Torrent Name", 150], } oldconfig = open(filename, "r+") configline = oldconfig.readline() while configline != "" and configline != "\n": try: configmap = configline.split("|") colid = int(configmap[0]) # Main window - width if colid == 0: if not config.Exists("window_width"): try: width = int(configmap[3]) if width != olddefaults[colid][2]: config.Write("window_width", width) except: pass # Main window - height elif colid == 1: if not config.Exists("window_height"): try: height = int(configmap[3]) if height != olddefaults[colid][2]: config.Write("window_height", height) except: pass # Advanced details - width elif colid == 2: if not config.Exists("detailwindow_width"): try: width = int(configmap[3]) if width != olddefaults[colid][2]: config.Write("detailwindow_width", width) except: pass # Advanced details - height elif colid == 3: if not config.Exists("detailwindow_height"): try: height = int(configmap[3]) if height != olddefaults[colid][2]: config.Write("detailwindow_height", height) except: pass # Column information elif colid >= utility.list.columns.minid and colid < utility.list.columns.maxid: # Column RankQ if not config.Exists("column" + colid + "_rank"): try: rank = int(configmap[1]) if rank != olddefaults[colid][0]: config.Write("column" + colid + "_rank", rank) except: pass # Column title if not lang.user_lang.Exists("column" + colid + "_text"): try: title = configmap[2] if title != olddefaults[colid][1]: lang.writeUser("column" + colid + "_text", title) except: pass # Column width if not config.Exists("column" + colid + "_width"): try: width = int(configmap[3]) if width != olddefaults[colid][2]: config.Write("column" + colid + "_width", width) except: pass except: pass configline = oldconfig.readline() oldconfig.close() # Add in code to process things later lang.flush() config.Flush() # Rename the old ini file # (uncomment this out after we actually include something to process things) move(filename, filename + ".old")
def convertINI(utility): # Only continue if abc.ini exists filename = os.path.join(utility.getConfigPath(), "abc.ini") if not existsAndIsReadable(filename): return config = utility.config lang = utility.lang # We'll ignore anything that was set to the defaults # from the previous version olddefaults = { 0: [-1, "abc_width", 710], 1: [-1, "abc_height", 400], 2: [-1, "detailwin_width", 610], 3: [-1, "detailwin_height", 500], 4: [0, "Title", 150], 5: [1, "Progress", 60], 6: [2, "BT Status", 100], 7: [8, "Priority", 50], 8: [5, "ETA", 85], 9: [6, "Size", 75], 10: [3, "DL Speed", 65], 11: [4, "UL Speed", 60], 12: [7, "%U/D Size", 65], 13: [9, "Error Message", 200], 14: [-1, "#Connected Seed", 60], 15: [-1, "#Connected Peer", 60], 16: [-1, "#Seeing Copies", 60], 17: [-1, "Peer Avg Progress", 60], 18: [-1, "Download Size", 75], 19: [-1, "Upload Size", 75], 20: [-1, "Total Speed", 80], 21: [-1, "Torrent Name", 150] } oldconfig = open(filename, "r+") configline = oldconfig.readline() while configline != "" and configline != "\n": try: configmap = configline.split("|") colid = int(configmap[0]) # Main window - width if colid == 0: if not config.Exists("window_width"): try: width = int(configmap[3]) if width != olddefaults[colid][2]: config.Write("window_width", width) except: pass # Main window - height elif colid == 1: if not config.Exists("window_height"): try: height = int(configmap[3]) if height != olddefaults[colid][2]: config.Write("window_height", height) except: pass # Advanced details - width elif colid == 2: if not config.Exists("detailwindow_width"): try: width = int(configmap[3]) if width != olddefaults[colid][2]: config.Write("detailwindow_width", width) except: pass # Advanced details - height elif colid == 3: if not config.Exists("detailwindow_height"): try: height = int(configmap[3]) if height != olddefaults[colid][2]: config.Write("detailwindow_height", height) except: pass # Column information elif colid >= utility.list.columns.minid and colid < utility.list.columns.maxid: # Column RankQ if not config.Exists("column" + colid + "_rank"): try: rank = int(configmap[1]) if rank != olddefaults[colid][0]: config.Write("column" + colid + "_rank", rank) except: pass # Column title if not lang.user_lang.Exists("column" + colid + "_text"): try: title = configmap[2] if title != olddefaults[colid][1]: lang.writeUser("column" + colid + "_text", title) except: pass # Column width if not config.Exists("column" + colid + "_width"): try: width = int(configmap[3]) if width != olddefaults[colid][2]: config.Write("column" + colid + "_width", width) except: pass except: pass configline = oldconfig.readline() oldconfig.close() # Add in code to process things later lang.flush() config.Flush() # Rename the old ini file # (uncomment this out after we actually include something to process things) move(filename, filename + ".old")