Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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")
Exemplo n.º 5
0
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")
Exemplo n.º 6
0
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
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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
Exemplo n.º 9
0
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")
Exemplo n.º 10
0
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")