Ejemplo n.º 1
0
def getTagger(_isAlertIfNotExist=False, _isReloadAgain=False):
    global loaddedTagger
    try:
        if not _isReloadAgain and loaddedTagger is not None:
            return loaddedTagger
        preferedTaggerModule = uni.MySettings["preferedTaggerModule"]
        taggerModule = __import__("Taggers." + preferedTaggerModule, globals(), locals(), ["isAvailable", "Tagger", preferedTaggerModule], 0)
        if taggerModule.isAvailable:
            loaddedTagger = taggerModule.Tagger()
            return loaddedTagger

        taggersNames = uni.getTaggersMachineNames()
        for tagger in taggersNames:
            taggerModule = __import__("Taggers." + tagger, globals(), locals(), ["isAvailable", "Tagger", tagger], 0)
            if taggerModule.isAvailable:
                uni.setMySetting("preferedTaggerModule", tagger)
                loaddedTagger = taggerModule.Tagger()
                return loaddedTagger
        if _isAlertIfNotExist:
            Dialogs.show(translate("Taggers", "You Have Not Any Tagger"),
                         translate("Taggers", "Not found any tagger in your system. "
                                              "Please install a tagger module. "
                                              "Now supporting only eyeD3 module (python-eyed3)."))
        return None
    except:
        ReportBug.ReportBug()
Ejemplo n.º 2
0
 def valueChanged(self, _action=None):
     try:
         senderAction = self.sender()
         if senderAction.parent().objectName() in self.keysOfSettings:
             indexNo = self.keysOfSettings.index(
                 senderAction.parent().objectName())
         else:
             indexNo = self.keysOfSettings.index(senderAction.objectName())
         selectedValue = None
         if self.typesOfValues[indexNo] == "Yes/No":
             if senderAction.isChecked():
                 selectedValue = True
             else:
                 selectedValue = False
         elif self.typesOfValues[indexNo][0] == "options":
             valueIndex = int(_action.objectName().split(";")[1])
             selectedValue = self.valuesOfOptionsKeys[
                 self.typesOfValues[indexNo][1]][valueIndex]
         uni.setMySetting(self.keysOfSettings[indexNo], selectedValue)
         self.checkEnableStates()
         getMainWindow().StatusBar.fillSelectionInfo()
         if getMainTable() is not None:
             getMainTable().fillSelectionInfo()
     except:
         ReportBug.ReportBug()
Ejemplo n.º 3
0
 def closeEvent(self, _event):
     try:
         self.player.stop()
         uni.setMySetting("isPlayNow", self.isPlayNow.isChecked())
     except:
         pass
     self.closeCurrenctImageDialogs()
Ejemplo n.º 4
0
 def closeEvent(self, _event):
     try:
         self.player.stop()
         uni.setMySetting("isPlayNow", self.isPlayNow.isChecked())
     except:
         pass
     self.closeCurrenctImageDialogs()
Ejemplo n.º 5
0
def changeTableTypeByType(_tableType):
    try:
        if uni.tableType != _tableType:
            if getMainTable().checkUnSavedValues() is False:
                return False
            uni.setMySetting(getMainTable().hiddenTableColumnsSettingKey,
                             getMainTable().hiddenTableColumns)
            if uni.tableType in ["2", "6", "8", "9"]:
                getMainWindow().removeToolBar(getMainWindow().PlayerBar)
                getMainWindow().PlayerBar.deleteLater()
                getMainWindow().PlayerBar = None
            try:
                getMainWindow().removeDockWidget(
                    getMainWindow().dckSpecialTools)
            except:
                pass
            getMainWindow().resetCentralWidget()
            uni.tableType = _tableType
            refreshBars()
            getMainWindow().FileManager.makeRefresh()
            MApplication.processEvents()
            return True
        else:
            return False
    except:
        ReportBug.ReportBug()
    return False
Ejemplo n.º 6
0
def installKDE4Languages():
    if uni.isAvailableKDE4():
        for langCode in uni.getInstalledLanguagesCodes():
            installKDE4Language(langCode)
        uni.setMySetting("isInstalledKDE4Language", True)
        return True
    return False
Ejemplo n.º 7
0
def checkAmarok(_isAlertIfNotAvailable=True, _isUseReadOnly=True):
    global isAskEmbeddedDBConfiguration
    if isLoadedMysql and uni.isAvailableKDE4():
        if uni.getBoolValue("amarokIsUseHost"):
            if _isUseReadOnly or uni.getBoolValue(
                    "isReadOnlyAmarokDBHost") is False:
                return True
            else:
                if _isAlertIfNotAvailable:
                    answer = Dialogs.ask(
                        translate("Amarok", "This Feature Is Not Usable"),
                        translate(
                            "Amarok",
                            "This feature is not usable with read only Amarok database. <br>Are you want to give permission to read and write for Amarok database?"
                        ))
                    if answer == Dialogs.Yes:
                        uni.setMySetting("isReadOnlyAmarokDBHost", False)
                        return True
        else:
            isAskEmbeddedDBConfiguration = True
            return checkEmbeddedDB()
    else:
        if _isAlertIfNotAvailable:
            Dialogs.showError(
                translate("Amarok", "Amarok Module Is Not Usable"),
                translate("Amarok", "Please run Amarok once."))
        return False
    return False
Ejemplo n.º 8
0
 def cckbMStateChanged(self, _index=None):
     if self.settingKey is not None:
         if self.checkState() == Mt.Checked:
             uni.setMySetting(self.settingKey, True)
         else:
             uni.setMySetting(self.settingKey, False)
     if self.stateChanged is not None:
         self.stateChanged()
Ejemplo n.º 9
0
 def subDirectoryDeepChanged(self, _action=None):
     try:
         selectedDeep = str(self.SubDirectoryDeeps[_action])
         if self.checkUnSavedValues():
             uni.setMySetting("subDirectoryDeep", int(selectedDeep))
             self.refreshForColumns()
             getMainWindow().SpecialTools.refreshForColumns()
             self.refresh(getMainWindow().FileManager.getCurrentDirectoryPath())
         self.cbSubDirectoryDeep.setCurrentIndex(
             self.cbSubDirectoryDeep.findText(str(uni.MySettings["subDirectoryDeep"])))
     except:
         ReportBug.ReportBug()
Ejemplo n.º 10
0
 def cbTaggerChanged(self, _action=None):
     try:
         tagger = self.cbTagger.currentData()
         if self.checkUnSavedValues():
             uni.setMySetting("preferedTaggerModule", tagger)
             t = Taggers.getTagger(True, True)
             self.refreshForColumns()
             getMainWindow().SpecialTools.refreshForColumns()
             self.refresh(getMainWindow().FileManager.getCurrentDirectoryPath())
         self.cbTagger.setCurrentIndex(
             self.cbTagger.findText(Taggers.getTaggerName(uni.MySettings["preferedTaggerModule"])))
     except:
         ReportBug.ReportBug()
Ejemplo n.º 11
0
 def cbTaggerChanged(self, _action=None):
     try:
         tagger = self.cbTagger.currentData()
         if self.checkUnSavedValues():
             uni.setMySetting("preferedTaggerModule", tagger)
             t = Taggers.getTagger(True, True)
             self.refreshForColumns()
             getMainWindow().SpecialTools.refreshForColumns()
             self.refresh(getMainWindow().FileManager.getCurrentDirectoryPath())
         self.cbTagger.setCurrentIndex(
             self.cbTagger.findText(Taggers.getTaggerName(uni.MySettings["preferedTaggerModule"])))
     except:
         ReportBug.ReportBug()
Ejemplo n.º 12
0
def changeReNamerType(_action):
    try:
        if getMainTable().checkUnSavedValues() is False:
            _action.setChecked(False)
            for x, typeName in enumerate(uni.fileReNamerTypeNamesKeys):
                if typeName == uni.MySettings["fileReNamerType"]:
                    getMainWindow().TableToolsBar.actsFileReNamerTypes[x].setChecked(True)
            return False
        for x, typeName in enumerate(uni.fileReNamerTypeNamesKeys):
            if getMainWindow().TableToolsBar.actsFileReNamerTypes[x].isChecked():
                uni.setMySetting("fileReNamerType", typeName)
        getMainWindow().FileManager.makeRefresh()
        MApplication.processEvents()
    except:
        ReportBug.ReportBug()
Ejemplo n.º 13
0
def changeReNamerType(_action):
    try:
        if getMainTable().checkUnSavedValues() is False:
            _action.setChecked(False)
            for x, typeName in enumerate(uni.fileReNamerTypeNamesKeys):
                if typeName == uni.MySettings["fileReNamerType"]:
                    getMainWindow(
                    ).TableToolsBar.actsFileReNamerTypes[x].setChecked(True)
            return False
        for x, typeName in enumerate(uni.fileReNamerTypeNamesKeys):
            if getMainWindow().TableToolsBar.actsFileReNamerTypes[x].isChecked(
            ):
                uni.setMySetting("fileReNamerType", typeName)
        getMainWindow().FileManager.makeRefresh()
        MApplication.processEvents()
    except:
        ReportBug.ReportBug()
Ejemplo n.º 14
0
def setAllBarsStyleToMySettings():
    uni.setMySetting("TableToolsBarButtonStyle",
                     getMainWindow().TableToolsBar.toolButtonStyle())
    uni.setMySetting("ToolsBarButtonStyle",
                     getMainWindow().ToolsBar.toolButtonStyle())
    if uni.tableType in ["2", "6", "8", "9"]:
        uni.setMySetting("PlayerBarButtonStyle",
                         getMainWindow().PlayerBar.toolButtonStyle())
Ejemplo n.º 15
0
 def tabChanged(self, _index):
     uni.setMySetting("activeTabNoOfSpecialTools", str(_index))
     self.pbtnApply.setEnabled(True)
     self.tbAddToBefore.setEnabled(True)
     self.tbAddToAfter.setEnabled(True)
     if _index == 0:
         self.cbInformationSection.setCurrentIndex(0)
         self.cbInformationSection.setEnabled(False)
     elif _index == 1:
         self.cbInformationSection.setEnabled(True)
         self.clearChangeTypes()
         self.btChange.setChecked(True)
     elif _index == 2:
         self.cbInformationSection.setCurrentIndex(0)
         self.cbInformationSection.setEnabled(False)
     elif _index == 3:
         self.cbInformationSection.setEnabled(True)
         self.clearChangeTypes()
         self.btChange.setChecked(True)
         self.tbAddToBefore.setEnabled(False)
         self.tbAddToAfter.setEnabled(False)
     elif _index == 4:
         self.cbInformationSection.setEnabled(True)
         self.clearChangeTypes()
         self.btChange.setChecked(True)
         self.tbAddToBefore.setEnabled(False)
         self.tbAddToAfter.setEnabled(False)
     elif _index == 5:
         self.cbInformationSection.setCurrentIndex(0)
         self.cbInformationSection.setEnabled(False)
         self.clearChangeTypes()
         self.btChange.setChecked(True)
         self.tbAddToBefore.setEnabled(False)
         self.tbAddToAfter.setEnabled(False)
     elif _index == 6:
         self.cbInformationSection.setCurrentIndex(0)
         self.cbInformationSection.setEnabled(False)
         self.pbtnApply.setEnabled(False)
Ejemplo n.º 16
0
 def tabChanged(self, _index):
     uni.setMySetting("activeTabNoOfSpecialTools", str(_index))
     self.pbtnApply.setEnabled(True)
     self.tbAddToBefore.setEnabled(True)
     self.tbAddToAfter.setEnabled(True)
     if _index == 0:
         self.cbInformationSection.setCurrentIndex(0)
         self.cbInformationSection.setEnabled(False)
     elif _index == 1:
         self.cbInformationSection.setEnabled(True)
         self.clearChangeTypes()
         self.btChange.setChecked(True)
     elif _index == 2:
         self.cbInformationSection.setCurrentIndex(0)
         self.cbInformationSection.setEnabled(False)
     elif _index == 3:
         self.cbInformationSection.setEnabled(True)
         self.clearChangeTypes()
         self.btChange.setChecked(True)
         self.tbAddToBefore.setEnabled(False)
         self.tbAddToAfter.setEnabled(False)
     elif _index == 4:
         self.cbInformationSection.setEnabled(True)
         self.clearChangeTypes()
         self.btChange.setChecked(True)
         self.tbAddToBefore.setEnabled(False)
         self.tbAddToAfter.setEnabled(False)
     elif _index == 5:
         self.cbInformationSection.setCurrentIndex(0)
         self.cbInformationSection.setEnabled(False)
         self.clearChangeTypes()
         self.btChange.setChecked(True)
         self.tbAddToBefore.setEnabled(False)
         self.tbAddToAfter.setEnabled(False)
     elif _index == 6:
         self.cbInformationSection.setCurrentIndex(0)
         self.cbInformationSection.setEnabled(False)
         self.pbtnApply.setEnabled(False)
Ejemplo n.º 17
0
def checkAmarok(_isAlertIfNotAvailable=True, _isUseReadOnly=True):
    global isAskEmbeddedDBConfiguration
    if isLoadedMysql and uni.isAvailableKDE4():
        if uni.getBoolValue("amarokIsUseHost"):
            if _isUseReadOnly or uni.getBoolValue("isReadOnlyAmarokDBHost") is False:
                return True
            else:
                if _isAlertIfNotAvailable:
                    answer = Dialogs.ask(translate("Amarok", "This Feature Is Not Usable"),
                                         translate("Amarok",
                                                   "This feature is not usable with read only Amarok database. <br>Are you want to give permission to read and write for Amarok database?"))
                    if answer == Dialogs.Yes:
                        uni.setMySetting("isReadOnlyAmarokDBHost", False)
                        return True
        else:
            isAskEmbeddedDBConfiguration = True
            return checkEmbeddedDB()
    else:
        if _isAlertIfNotAvailable:
            Dialogs.showError(translate("Amarok", "Amarok Module Is Not Usable"),
                              translate("Amarok", "Please run Amarok once."))
        return False
    return False
Ejemplo n.º 18
0
 def valueChanged(self, _action=None):
     try:
         senderAction = self.sender()
         if senderAction.parent().objectName() in self.keysOfSettings:
             indexNo = self.keysOfSettings.index(senderAction.parent().objectName())
         else:
             indexNo = self.keysOfSettings.index(senderAction.objectName())
         selectedValue = None
         if self.typesOfValues[indexNo] == "Yes/No":
             if senderAction.isChecked():
                 selectedValue = True
             else:
                 selectedValue = False
         elif self.typesOfValues[indexNo][0] == "options":
             valueIndex = int(_action.objectName().split(";")[1])
             selectedValue = self.valuesOfOptionsKeys[self.typesOfValues[indexNo][1]][valueIndex]
         uni.setMySetting(self.keysOfSettings[indexNo], selectedValue)
         self.checkEnableStates()
         getMainWindow().StatusBar.fillSelectionInfo()
         if getMainTable() is not None:
             getMainTable().fillSelectionInfo()
     except:
         ReportBug.ReportBug()
Ejemplo n.º 19
0
def changeTableTypeByType(_tableType):
    try:
        if uni.tableType != _tableType:
            if getMainTable().checkUnSavedValues() is False:
                return False
            uni.setMySetting(getMainTable().hiddenTableColumnsSettingKey,
                             getMainTable().hiddenTableColumns)
            if uni.tableType in ["2", "6", "8", "9"]:
                getMainWindow().removeToolBar(getMainWindow().PlayerBar)
                getMainWindow().PlayerBar.deleteLater()
                getMainWindow().PlayerBar = None
            try: getMainWindow().removeDockWidget(getMainWindow().dckSpecialTools)
            except: pass
            getMainWindow().resetCentralWidget()
            uni.tableType = _tableType
            refreshBars()
            getMainWindow().FileManager.makeRefresh()
            MApplication.processEvents()
            return True
        else:
            return False
    except:
        ReportBug.ReportBug()
    return False
Ejemplo n.º 20
0
    def doAfterRunProcessesStep1(self):
        if str(fu.defaultFileSystemEncoding) != str(uni.MySettings["fileSystemEncoding"]):
            answer = Dialogs.ask(
                translate("HamsiManager", "Your System's \"File System Encoding\" Type Different"),
                translate("HamsiManager",
                          "Your system's \"File System Encoding\" type different from the settings you select. Are you sure you want to continue?If you are not sure press the \"No\"."),
                False, "Your System's \"File System Encoding\" Type Different")
            if answer == Dialogs.No:
                OptionsForm.OptionsForm(self, _focusTo="fileSystemEncoding")
        if uni.getBoolValue("isMakeAutoDesign"):
            self.TableToolsBar.setVisible(False)
            self.ToolsBar.setVisible(False)
            if isActivePyKDE4:
                self.Browser.setVisible(False)
                self.TreeBrowser.setVisible(False)
                self.FileManager.urlNavigator.setMinimumWidth(150)
                self.FileManager.tbarBrowserToolsFull.setVisible(False)
                self.tabifyDockWidget(self.Browser, self.Places)
                self.tabifyDockWidget(self.Browser, self.TreeBrowser)
                self.tabifyDockWidget(self.Browser, self.DirOperator)
            geometries = uni.getListValue("MainWindowGeometries")
            self.setGeometry(int(geometries[0]), int(geometries[1]), 900, 600)
            uni.setMySetting("isMakeAutoDesign", "False")
        if uni.isShowVerifySettings and (uni.changedDefaultValuesKeys != [] or uni.newSettingsKeys != []):
            answer = Dialogs.ask(translate("HamsiManager", "Added New Options And New Features"),
                                 translate("HamsiManager",
                                           "New options and new features added to Hamsi Manager. Are you want to change or verify new options?"),
                                 False, "Added New Options And New Features")
            if answer == Dialogs.Yes:
                newOrChangedKeys = uni.newSettingsKeys + uni.changedDefaultValuesKeys
                OptionsForm.OptionsForm(self, "Normal", None, newOrChangedKeys)
        elif uni.getBoolValue("isShowReconfigureWizard") and uni.isBuilt() is False:
            from Tools import Configurator

            Configurator.Configurator()
            uni.setMySetting("isShowReconfigureWizard", "False")
Ejemplo n.º 21
0
 def apply(self):
     try:
         uni.setMySetting(self.filterKeyName, str(self.leFilter.text()))
         getMainTable().refresh(getMainWindow().FileManager.getCurrentDirectoryPath())
     except:
         ReportBug.ReportBug()
Ejemplo n.º 22
0
 def remindMeLaterAndClose(self):
     uni.setMySetting("remindMeLaterForUpdate",
                      self.cbRemindMeLater.value())
     uni.saveSettings()
     self.close()
Ejemplo n.º 23
0
def setSelectedTagTargetType(_type, _tableName="AmarokMusicTable"):
    uni.setMySetting("AmarokTagTargetType" + _tableName, _type)
Ejemplo n.º 24
0
def checkCommandLineOptions():
    global isQuickMake, QuickMakeParameters, myArgvs, parser, optionList
    myArgvs = sys.argv
    isDontRun = False
    optionList = []
    parser = OptionParser(usage="%prog [options] [<arg1>...]",
                          version="HamsiManager " + uni.version,
                          epilog="""\
Copyright (c) 2010 - 2015 Murat Demir <*****@*****.**> ,
HamsiManager is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.""")
    parser.add_option('-d',
                      '--debug',
                      help='Enable debugging output. '
                      'Chatty',
                      action='store_const',
                      const=logging.DEBUG,
                      dest='loggingLevel')
    optionList.append("d")
    optionList.append("debug")
    parser.add_option('-v',
                      '--verbose',
                      help='Enable informative output',
                      action='store_const',
                      const=logging.INFO,
                      dest='loggingLevel')
    optionList.append("v")
    optionList.append("verbose")
    parser.add_option('--directory',
                      help='The current directory path. '
                      'Example : /home/yourname/someDirectory ')
    optionList.append("directory <directory>")
    parser.add_option(
        '-s',
        '--sFileName',
        help='The setting file name(or path). '
        '"The settings directory path" + "/" + "YourEnteredName" '
        'Example : enteredName.ini ')
    optionList.append("s <settingFile>")
    optionList.append("sFileName <settingFile>")
    parser.add_option('--sDirectoryPath',
                      help='The settings directory path. '
                      'Example : /home/yourname/.HamsiApps/HamsiManager ')
    optionList.append("sDirectoryPath <settingDirectory>")
    parser.add_option('-t',
                      '--tableType',
                      help='Table Type Name. '
                      'Example : "0" for Folder Table '
                      'Example : "1" for File Table '
                      'Example : "2" for Music Table '
                      'Example : "3" for Subfolder Table '
                      'Example : "4" for Cover Table ')
    optionList.append("t <tableTypeNo>")
    optionList.append("tableType <tableTypeNo>")
    parser.add_option('-f',
                      '--fileReNamerType',
                      help='File Renamer Type. '
                      'Example : "Personal Computer" '
                      'Example : "Web Server" '
                      'Example : "Removable Media" ')
    optionList.append("f <fileReNamerTypeNo>")
    optionList.append("fileReNamerType <fileReNamerTypeNo>")
    qmgroup = OptionGroup(parser, "Quick Make Options",
                          "You can make quickly what are you want.")
    qmgroup.add_option('--qmw',
                       help='Are you want to show Quick Make Window. '
                       'Example : "1" or "True" for Yes '
                       'Example : "0" or "False" for No ')
    optionList.append("qmw <o>")
    qmgroup.add_option(
        '--qm',
        help='Are you want to run Quick Make by some parameters?',
        action='store_const',
        const=True)
    optionList.append("qm")
    qmgroup.add_option('--configurator',
                       help='Open Hamsi Manager Configurator',
                       action='store_const',
                       const=True)
    optionList.append("configurator")
    qmgroup.add_option('--plugins',
                       help='Show plugins',
                       action='store_const',
                       const=True)
    optionList.append("plugins")
    qmgroup.add_option('--pack',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("pack <directory>")
    qmgroup.add_option('--hash',
                       help='The file path. '
                       'Example : /home/yourname/someFile')
    optionList.append("hash <file>")
    qmgroup.add_option('--checkIcon',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("checkIcon <directory>")
    qmgroup.add_option('--clearEmptyDirectories',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("clearEmptyDirectories <directory>")
    qmgroup.add_option('--clearUnneededs',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("clearUnneededs <directory>")
    qmgroup.add_option('--clearIgnoreds',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("clearIgnoreds <directory>")
    qmgroup.add_option('--emendFile',
                       help='The file path. '
                       'Example : /home/yourname/someFile')
    optionList.append("emendFile <file>")
    qmgroup.add_option('--emendDirectory',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("emendDirectory <directory>")
    qmgroup.add_option('--emendDirectoryWithContents',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("emendDirectoryWithContents <directory>")
    qmgroup.add_option('--copyPath',
                       help='The file/directory path. '
                       'Example : /home/yourname/somePath')
    optionList.append("copyPath <fileOrDirectory>")
    qmgroup.add_option('--fileTree',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("fileTree <directory>")
    qmgroup.add_option('--removeOnlySubFiles',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("removeOnlySubFiles <directory>")
    qmgroup.add_option('--clear',
                       help='The directory path. '
                       'Example : /home/yourname/someDirectory')
    optionList.append("clear <directory>")
    qmgroup.add_option('--textCorrector',
                       help='The file path. '
                       'Example : /home/yourname/someFile')
    optionList.append("textCorrector <file>")
    qmgroup.add_option('--search',
                       help='The file/directory path. '
                       'Example : /home/yourname/somePath')
    optionList.append("search <fileOrDirectory>")
    dgroup = OptionGroup(
        parser, "Dangerous Options",
        "Caution: use these options at your own risk.  "
        "It is believed that some of them bite.")
    dgroup.add_option('--runAsRoot',
                      help='Are you want to run as root?',
                      action='store_const',
                      const=True)
    optionList.append("runAsRoot")
    optionList.append("+[optionalFileOrDirectory]")
    parser.add_option_group(qmgroup)
    parser.add_option_group(dgroup)
    parser.set_defaults(loggingLevel=logging.WARNING,
                        runAsRoot=False,
                        qm=False,
                        plugins=False)
    options, remainderParameters = parser.parse_args()
    if len(remainderParameters) == 1:
        try:
            uni.setMySetting(
                "lastDirectory",
                uni.trDecode(str(remainderParameters[0]),
                             fu.defaultFileSystemEncoding))
        except:
            uni.setMySetting("lastDirectory", str(remainderParameters[0]))
    if options.directory:
        try:
            uni.setMySetting(
                "lastDirectory",
                uni.trDecode(str(options.directory),
                             fu.defaultFileSystemEncoding))
        except:
            uni.setMySetting("lastDirectory", str(options.directory))
    if options.loggingLevel:
        uni.loggingLevel = options.loggingLevel
    if options.sFileName:
        uni.fileOfSettings = options.sFileName
    if options.sDirectoryPath:
        uni.setPathOfSettingsDirectory(options.sDirectoryPath)
    if options.tableType:
        import Tables

        uni.setMySetting("tableType",
                         Tables.Tables.getThisTableType(options.tableType))
    if options.fileReNamerType:
        uni.setMySetting("fileReNamerType", options.fileReNamerType)
    if options.qm:
        if options.qmw:
            if options.qmw.lower() == "false" or options.qmw == "0":
                uni.setMySetting("isShowQuickMakeWindow", False)
            else:
                uni.setMySetting("isShowQuickMakeWindow", True)
        if options.configurator:
            QuickMakeParameters.append("configurator")
            isQuickMake = True
        elif options.plugins:
            QuickMakeParameters.append("plugins")
            isQuickMake = True
        elif options.pack:
            QuickMakeParameters.append("pack")
            QuickMakeParameters.append(options.pack)
            isQuickMake = True
        elif options.hash:
            QuickMakeParameters.append("hash")
            QuickMakeParameters.append(options.hash)
            isQuickMake = True
        elif options.checkIcon:
            QuickMakeParameters.append("checkIcon")
            QuickMakeParameters.append(options.checkIcon)
            isQuickMake = True
        elif options.clearEmptyDirectories:
            QuickMakeParameters.append("clearEmptyDirectories")
            QuickMakeParameters.append(options.clearEmptyDirectories)
            isQuickMake = True
        elif options.clearUnneededs:
            QuickMakeParameters.append("clearUnneededs")
            QuickMakeParameters.append(options.clearUnneededs)
            isQuickMake = True
        elif options.clearIgnoreds:
            QuickMakeParameters.append("clearIgnoreds")
            QuickMakeParameters.append(options.clearIgnoreds)
            isQuickMake = True
        elif options.emendFile:
            QuickMakeParameters.append("emendFile")
            QuickMakeParameters.append(options.emendFile)
            isQuickMake = True
        elif options.emendDirectory:
            QuickMakeParameters.append("emendDirectory")
            QuickMakeParameters.append(options.emendDirectory)
            isQuickMake = True
        elif options.emendDirectoryWithContents:
            QuickMakeParameters.append("emendDirectoryWithContents")
            QuickMakeParameters.append(options.emendDirectoryWithContents)
            isQuickMake = True
        elif options.copyPath:
            QuickMakeParameters.append("copyPath")
            QuickMakeParameters.append(options.copyPath)
            isQuickMake = True
        elif options.fileTree:
            QuickMakeParameters.append("fileTree")
            QuickMakeParameters.append(options.fileTree)
            isQuickMake = True
        elif options.removeOnlySubFiles:
            QuickMakeParameters.append("removeOnlySubFiles")
            QuickMakeParameters.append(options.removeOnlySubFiles)
            isQuickMake = True
        elif options.clear:
            QuickMakeParameters.append("clear")
            QuickMakeParameters.append(options.clear)
            isQuickMake = True
        elif options.textCorrector:
            QuickMakeParameters.append("textCorrector")
            QuickMakeParameters.append(options.textCorrector)
            isQuickMake = True
        elif options.search:
            QuickMakeParameters.append("search")
            QuickMakeParameters.append(options.search)
            isQuickMake = True
        QuickMakeParameters.append(remainderParameters)
    if options.runAsRoot:
        from Core import Execute

        if uni.isRunningAsRoot() is False:
            strArgvs = []
            for tempArg in sys.argv:
                if (tempArg.find("-runAsRoot") == -1 and tempArg.find(
                        Execute.findExecutablePath("HamsiManager")) == -1
                        and tempArg !=
                        "./" + Execute.findExecutableBaseName("HamsiManager")
                        and tempArg !=
                        Execute.findExecutableBaseName("HamsiManager")):
                    strArgvs.append(tempArg)
            if Execute.executeAsRootWithThread(strArgvs, "HamsiManager"):
                isDontRun = True
    if isDontRun:
        return False
    return True
Ejemplo n.º 25
0
def checkCommandLineOptions():
    global isQuickMake, QuickMakeParameters, myArgvs, parser, optionList
    myArgvs = sys.argv
    isDontRun = False
    optionList = []
    parser = OptionParser(
        usage="%prog [options] [<arg1>...]", version="HamsiManager " + uni.version,

        epilog="""\
Copyright (c) 2010 - 2015 Murat Demir <*****@*****.**> ,
HamsiManager is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.""")
    parser.add_option('-d', '--debug', help='Enable debugging output. '
                                            'Chatty', action='store_const', const=logging.DEBUG,
                      dest='loggingLevel')
    optionList.append("d")
    optionList.append("debug")
    parser.add_option('-v', '--verbose', help='Enable informative output',
                      action='store_const', const=logging.INFO,
                      dest='loggingLevel')
    optionList.append("v")
    optionList.append("verbose")
    parser.add_option('--directory',
                      help='The current directory path. '
                           'Example : /home/yourname/someDirectory ')
    optionList.append("directory <directory>")
    parser.add_option('-s', '--sFileName',
                      help='The setting file name(or path). '
                           '"The settings directory path" + "/" + "YourEnteredName" '
                           'Example : enteredName.ini ')
    optionList.append("s <settingFile>")
    optionList.append("sFileName <settingFile>")
    parser.add_option('--sDirectoryPath',
                      help='The settings directory path. '
                           'Example : /home/yourname/.HamsiApps/HamsiManager ')
    optionList.append("sDirectoryPath <settingDirectory>")
    parser.add_option('-t', '--tableType',
                      help='Table Type Name. '
                           'Example : "0" for Folder Table '
                           'Example : "1" for File Table '
                           'Example : "2" for Music Table '
                           'Example : "3" for Subfolder Table '
                           'Example : "4" for Cover Table ')
    optionList.append("t <tableTypeNo>")
    optionList.append("tableType <tableTypeNo>")
    parser.add_option('-f', '--fileReNamerType',
                      help='File Renamer Type. '
                           'Example : "Personal Computer" '
                           'Example : "Web Server" '
                           'Example : "Removable Media" ')
    optionList.append("f <fileReNamerTypeNo>")
    optionList.append("fileReNamerType <fileReNamerTypeNo>")
    qmgroup = OptionGroup(parser, "Quick Make Options",
                          "You can make quickly what are you want.")
    qmgroup.add_option('--qmw',
                       help='Are you want to show Quick Make Window. '
                            'Example : "1" or "True" for Yes '
                            'Example : "0" or "False" for No ')
    optionList.append("qmw <o>")
    qmgroup.add_option('--qm', help='Are you want to run Quick Make by some parameters?',
                       action='store_const', const=True)
    optionList.append("qm")
    qmgroup.add_option('--configurator', help='Open Hamsi Manager Configurator', action='store_const', const=True)
    optionList.append("configurator")
    qmgroup.add_option('--plugins', help='Show plugins', action='store_const', const=True)
    optionList.append("plugins")
    qmgroup.add_option('--pack',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("pack <directory>")
    qmgroup.add_option('--hash',
                       help='The file path. '
                            'Example : /home/yourname/someFile')
    optionList.append("hash <file>")
    qmgroup.add_option('--checkIcon',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("checkIcon <directory>")
    qmgroup.add_option('--clearEmptyDirectories',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("clearEmptyDirectories <directory>")
    qmgroup.add_option('--clearUnneededs',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("clearUnneededs <directory>")
    qmgroup.add_option('--clearIgnoreds',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("clearIgnoreds <directory>")
    qmgroup.add_option('--emendFile',
                       help='The file path. '
                            'Example : /home/yourname/someFile')
    optionList.append("emendFile <file>")
    qmgroup.add_option('--emendDirectory',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("emendDirectory <directory>")
    qmgroup.add_option('--emendDirectoryWithContents',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("emendDirectoryWithContents <directory>")
    qmgroup.add_option('--copyPath',
                       help='The file/directory path. '
                            'Example : /home/yourname/somePath')
    optionList.append("copyPath <fileOrDirectory>")
    qmgroup.add_option('--fileTree',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("fileTree <directory>")
    qmgroup.add_option('--removeOnlySubFiles',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("removeOnlySubFiles <directory>")
    qmgroup.add_option('--clear',
                       help='The directory path. '
                            'Example : /home/yourname/someDirectory')
    optionList.append("clear <directory>")
    qmgroup.add_option('--textCorrector',
                       help='The file path. '
                            'Example : /home/yourname/someFile')
    optionList.append("textCorrector <file>")
    qmgroup.add_option('--search',
                       help='The file/directory path. '
                            'Example : /home/yourname/somePath')
    optionList.append("search <fileOrDirectory>")
    dgroup = OptionGroup(parser, "Dangerous Options",
                         "Caution: use these options at your own risk.  "
                         "It is believed that some of them bite.")
    dgroup.add_option('--runAsRoot', help='Are you want to run as root?',
                      action='store_const', const=True)
    optionList.append("runAsRoot")
    optionList.append("+[optionalFileOrDirectory]")
    parser.add_option_group(qmgroup)
    parser.add_option_group(dgroup)
    parser.set_defaults(loggingLevel=logging.WARNING, runAsRoot=False, qm=False, plugins=False)
    options, remainderParameters = parser.parse_args()
    if len(remainderParameters) == 1:
        try:
            uni.setMySetting("lastDirectory", uni.trDecode(str(remainderParameters[0]), fu.defaultFileSystemEncoding))
        except:
            uni.setMySetting("lastDirectory", str(remainderParameters[0]))
    if options.directory:
        try:
            uni.setMySetting("lastDirectory", uni.trDecode(str(options.directory), fu.defaultFileSystemEncoding))
        except:
            uni.setMySetting("lastDirectory", str(options.directory))
    if options.loggingLevel:
        uni.loggingLevel = options.loggingLevel
    if options.sFileName:
        uni.fileOfSettings = options.sFileName
    if options.sDirectoryPath:
        uni.setPathOfSettingsDirectory(options.sDirectoryPath)
    if options.tableType:
        import Tables

        uni.setMySetting("tableType", Tables.Tables.getThisTableType(options.tableType))
    if options.fileReNamerType:
        uni.setMySetting("fileReNamerType", options.fileReNamerType)
    if options.qm:
        if options.qmw:
            if options.qmw.lower() == "false" or options.qmw == "0":
                uni.setMySetting("isShowQuickMakeWindow", False)
            else:
                uni.setMySetting("isShowQuickMakeWindow", True)
        if options.configurator:
            QuickMakeParameters.append("configurator")
            isQuickMake = True
        elif options.plugins:
            QuickMakeParameters.append("plugins")
            isQuickMake = True
        elif options.pack:
            QuickMakeParameters.append("pack")
            QuickMakeParameters.append(options.pack)
            isQuickMake = True
        elif options.hash:
            QuickMakeParameters.append("hash")
            QuickMakeParameters.append(options.hash)
            isQuickMake = True
        elif options.checkIcon:
            QuickMakeParameters.append("checkIcon")
            QuickMakeParameters.append(options.checkIcon)
            isQuickMake = True
        elif options.clearEmptyDirectories:
            QuickMakeParameters.append("clearEmptyDirectories")
            QuickMakeParameters.append(options.clearEmptyDirectories)
            isQuickMake = True
        elif options.clearUnneededs:
            QuickMakeParameters.append("clearUnneededs")
            QuickMakeParameters.append(options.clearUnneededs)
            isQuickMake = True
        elif options.clearIgnoreds:
            QuickMakeParameters.append("clearIgnoreds")
            QuickMakeParameters.append(options.clearIgnoreds)
            isQuickMake = True
        elif options.emendFile:
            QuickMakeParameters.append("emendFile")
            QuickMakeParameters.append(options.emendFile)
            isQuickMake = True
        elif options.emendDirectory:
            QuickMakeParameters.append("emendDirectory")
            QuickMakeParameters.append(options.emendDirectory)
            isQuickMake = True
        elif options.emendDirectoryWithContents:
            QuickMakeParameters.append("emendDirectoryWithContents")
            QuickMakeParameters.append(options.emendDirectoryWithContents)
            isQuickMake = True
        elif options.copyPath:
            QuickMakeParameters.append("copyPath")
            QuickMakeParameters.append(options.copyPath)
            isQuickMake = True
        elif options.fileTree:
            QuickMakeParameters.append("fileTree")
            QuickMakeParameters.append(options.fileTree)
            isQuickMake = True
        elif options.removeOnlySubFiles:
            QuickMakeParameters.append("removeOnlySubFiles")
            QuickMakeParameters.append(options.removeOnlySubFiles)
            isQuickMake = True
        elif options.clear:
            QuickMakeParameters.append("clear")
            QuickMakeParameters.append(options.clear)
            isQuickMake = True
        elif options.textCorrector:
            QuickMakeParameters.append("textCorrector")
            QuickMakeParameters.append(options.textCorrector)
            isQuickMake = True
        elif options.search:
            QuickMakeParameters.append("search")
            QuickMakeParameters.append(options.search)
            isQuickMake = True
        QuickMakeParameters.append(remainderParameters)
    if options.runAsRoot:
        from Core import Execute

        if uni.isRunningAsRoot() is False:
            strArgvs = []
            for tempArg in sys.argv:
                if (tempArg.find("-runAsRoot") == -1 and
                    tempArg.find(Execute.findExecutablePath("HamsiManager")) == -1 and
                    tempArg != "./" + Execute.findExecutableBaseName("HamsiManager") and
                    tempArg != Execute.findExecutableBaseName("HamsiManager")):
                    strArgvs.append(tempArg)
            if Execute.executeAsRootWithThread(strArgvs, "HamsiManager"):
                isDontRun = True
    if isDontRun:
        return False
    return True
Ejemplo n.º 26
0
    def closeEvent(self, _event):
        try:
            if uni.isRaisedAnError is False:
                if uni.isContinueThreadAction():
                    uni.cancelThreadAction()
                    _event.ignore()
            uni.isStartedCloseProcess = True
            uni.printForDevelopers("Started closeEvent")
            MApplication.setQuitOnLastWindowClosed(True)
            try:
                self.PlayerBar.MusicPlayer.stop()
            except:
                pass
            Details.closeAllDialogs()
            uni.printForDevelopers("Closed Dialogs")
            if uni.isRaisedAnError is False:
                if self.Table.checkUnSavedValues() is False:
                    uni.isStartedCloseProcess = False
                    uni.printForDevelopers("Close ignored")
                    _event.ignore()
            uni.printForDevelopers("Before self.doBeforeCloseProcesses")
            if self.doBeforeCloseProcesses() is False:
                _event.ignore()
                return None
            uni.printForDevelopers("After self.doBeforeCloseProcesses")
            if isActivePyKDE4:
                uni.printForDevelopers("Before Save KDE Configs")
                kconf = MGlobal.config()
                kconfGroup = MConfigGroup(kconf, "DirectoryOperator")
                self.FileManager.dirOperator.writeConfig(kconfGroup)
                self.FileManager.actCollection.writeSettings(kconfGroup)
                uni.printForDevelopers("After Save KDE Configs")
            uni.printForDevelopers("Before Save Configs")
            uni.setMySetting(self.Table.hiddenTableColumnsSettingKey,
                             self.Table.hiddenTableColumns)
            Bars.setAllBarsStyleToMySettings()
            Records.setRecordType(1)
            fu.writeToBinaryFile(
                fu.joinPath(fu.pathOfSettingsDirectory, "LastState"), self.saveState())
            Records.restoreRecordType()
            geometry = [self.geometry().x(), self.geometry().y(), self.geometry().width(),
                        self.geometry().height()]
            uni.setMySetting("MainWindowGeometries", geometry)
            uni.setMySetting("lastDirectory", self.FileManager.currentDirectory)
            uni.setMySetting("isMainWindowMaximized", self.isMaximized())
            uni.setMySetting("isShowAdvancedSelections", self.SpecialTools.isShowAdvancedSelections)
            uni.setMySetting("tableType", uni.tableType)
            uni.setMySetting("activeTabNoOfSpecialTools", self.SpecialTools.tabwTabs.currentIndex())
            uni.saveSettings()
            Settings.saveUniversalSettings()
            if uni.isActiveAmarok and uni.getBoolValue("amarokIsUseHost") is False:
                import Amarok

                uni.printForDevelopers("Before Amarok.stopEmbeddedDB")
                Amarok.stopEmbeddedDB()
                uni.printForDevelopers("After Amarok.stopEmbeddedDB")
            uni.printForDevelopers("After Save Configs")
            uni.printForDevelopers("Before self.doAfterCloseProcesses")
            self.doAfterCloseProcesses()
            uni.printForDevelopers("After self.doAfterCloseProcesses")
        except:
            if ReportBug.isClose is False:
                ReportBug.ReportBug()
                _event.ignore()
Ejemplo n.º 27
0
 def cbMCurrentRowChanged(self, _index=None):
     if self.settingKey is not None:
         uni.setMySetting(self.settingKey, self.items[self.currentRow()])
     if self.currentRowChanged is not None:
         self.currentRowChanged()
Ejemplo n.º 28
0
def setAllBarsStyleToMySettings():
    uni.setMySetting("TableToolsBarButtonStyle", getMainWindow().TableToolsBar.toolButtonStyle())
    uni.setMySetting("ToolsBarButtonStyle", getMainWindow().ToolsBar.toolButtonStyle())
    if uni.tableType in ["2", "6", "8", "9"]:
        uni.setMySetting("PlayerBarButtonStyle", getMainWindow().PlayerBar.toolButtonStyle())
Ejemplo n.º 29
0
def setSelectedTagTargetType(_type, _tableName="AmarokMusicTable"):
    uni.setMySetting("AmarokTagTargetType" + _tableName, _type)
Ejemplo n.º 30
0
 def remindMeLaterAndClose(self):
     uni.setMySetting("remindMeLaterForUpdate", self.cbRemindMeLater.value())
     uni.saveSettings()
     self.close()
Ejemplo n.º 31
0
 def loadFinished(self, _bitti):
     try:
         if (_bitti):
             if self.isDownloading is False:
                 self.setFixedHeight(170)
                 self.prgbState.setVisible(False)
                 self.lblInfo.setVisible(True)
                 self.updateInformations = str(
                     self.wvWeb.page().mainFrame().toPlainText()).split(
                         "\n")
                 if len(self.updateInformations) != 0:
                     if self.updateInformations[0][0] == "V":
                         self.pbtnRemindMeLater.setVisible(False)
                         self.cbRemindMeLater.setVisible(False)
                         self.pbtnDownloadAndInstall.setVisible(False)
                         self.pbtnCheckForDeveloperVersion.setVisible(False)
                         uni.setMySetting("remindMeLaterForUpdate", "-1")
                         uni.setMySetting(
                             "remindMeLaterShowDateForUpdate",
                             datetime.now().strftime("%Y %m %d %H %M %S"))
                         uni.saveSettings()
                         try:
                             lastVersion = int(
                                 self.updateInformations[0].replace(
                                     "V", "").replace(".", ""))
                         except:
                             lastVersion = uni.intversion - 1
                         if lastVersion > uni.intversion:
                             self.pbtnDownloadAndInstall.setVisible(True)
                             self.pbtnRemindMeLater.setVisible(True)
                             self.cbRemindMeLater.setVisible(True)
                             details = ""
                             for detail in self.updateInformations[4:]:
                                 details += detail + "<br>"
                             self.lblInfo.setText(
                                 str(
                                     translate(
                                         "UpdateControl",
                                         "Version %s is available. Please download and install the new release.<br>"
                                         +
                                         "%s For detailed information: <a href='%s' target='_blank'>Hamsi Manager</a><br>You can download from <a href='%s' target='_blank'>Hamsi Manager %s</a>"
                                     )) %
                                 (self.updateInformations[0] +
                                  self.updateInformations[3], details,
                                  self.updateInformations[2],
                                  self.updateInformations[1],
                                  self.updateInformations[0]))
                             self.setFixedHeight(330)
                         elif lastVersion < uni.intversion:
                             self.pbtnDownloadAndInstall.setVisible(True)
                             if self.isNotInstall is False:
                                 self.pbtnDownloadAndInstall.setText(
                                     translate("UpdateControl",
                                               "Download and Install") +
                                     " (!)")
                             else:
                                 self.pbtnDownloadAndInstall.setText(
                                     translate("UpdateControl", "Download")
                                     + " (!)")
                             self.pbtnRemindMeLater.setVisible(True)
                             self.cbRemindMeLater.setVisible(True)
                             details = ""
                             for detail in self.updateInformations[4:]:
                                 details += detail + "<br>"
                             self.lblInfo.setText(
                                 str(
                                     str(
                                         translate(
                                             "UpdateControl",
                                             "Lastest stable version is %s. You currently are using the version for developers.You can continue to use the current version.<br>If you want a more accurate version, please download and install this version.<br>%s For detailed information: <a href='%s' target='_blank'>Hamsi Manager</a><br>You can download from <a href='%s' target='_blank'>Hamsi Manager %s</a>"
                                         )) %
                                     (self.updateInformations[0] +
                                      self.updateInformations[3], details,
                                      self.updateInformations[2],
                                      self.updateInformations[1],
                                      self.updateInformations[0])))
                             self.pbtnCancel.setText(
                                 translate("UpdateControl", "Ok"))
                             self.pbtnCheckForDeveloperVersion.setVisible(
                                 True)
                             self.setFixedHeight(330)
                         else:
                             self.lblInfo.setText(
                                 str(
                                     translate(
                                         "UpdateControl",
                                         "You are already using the latest release.<br>For detailed information: <a href='%s' target='_blank'>Hamsi Manager</a>"
                                     )) % (self.updateInformations[2]))
                             self.pbtnCancel.setText(
                                 translate("UpdateControl", "Ok"))
                         uni.setMySetting(
                             "lastUpdateControlDate",
                             datetime.now().strftime("%Y %m %d %H %M %S"))
                     else:
                         uni.setMySetting(
                             "lastUpdateControlDate",
                             datetime.now().strftime("%Y %m %d %H %M %S"))
                         Dialogs.showError(
                             translate("UpdateControl",
                                       "Cannot Fetch Release Information"),
                             translate(
                                 "UpdateControl",
                                 "Cannot fetch release information. Please retry later.<br>If you are constantly receiving this error, please visit \"http://hamsiapps.com/HamsiManager\"."
                             ))
                         self.close()
                 else:
                     uni.setMySetting(
                         "lastUpdateControlDate",
                         datetime.now().strftime("%Y %m %d %H %M %S"))
                     Dialogs.showError(
                         translate("UpdateControl",
                                   "Cannot Fetch Release Information"),
                         translate(
                             "UpdateControl",
                             "Cannot fetch release information. Please retry later.<br>If you are constantly receiving this error, please visit \"http://hamsiapps.com/HamsiManager\"."
                         ))
                     self.close()
             else:
                 self.lblInfo.setText(
                     translate("UpdateControl", "Download complete."))
         else:
             uni.setMySetting("lastUpdateControlDate",
                              datetime.now().strftime("%Y %m %d %H %M %S"))
             Dialogs.showError(
                 translate("UpdateControl",
                           "Cannot Fetch Release Information"),
                 translate(
                     "UpdateControl",
                     "Cannot fetch release information. Please retry later.<br>If you are constantly receiving this error, please visit \"http://hamsiapps.com/HamsiManager\"."
                 ))
             self.close()
     except:
         ReportBug.ReportBug()
Ejemplo n.º 32
0
 def loadFinished(self, _bitti):
     try:
         if (_bitti):
             if self.isDownloading is False:
                 self.setFixedHeight(170)
                 self.prgbState.setVisible(False)
                 self.lblInfo.setVisible(True)
                 self.updateInformations = str(self.wvWeb.page().mainFrame().toPlainText()).split("\n")
                 if len(self.updateInformations) != 0:
                     if self.updateInformations[0][0] == "V":
                         self.pbtnRemindMeLater.setVisible(False)
                         self.cbRemindMeLater.setVisible(False)
                         self.pbtnDownloadAndInstall.setVisible(False)
                         self.pbtnCheckForDeveloperVersion.setVisible(False)
                         uni.setMySetting("remindMeLaterForUpdate", "-1")
                         uni.setMySetting("remindMeLaterShowDateForUpdate",
                                          datetime.now().strftime("%Y %m %d %H %M %S"))
                         uni.saveSettings()
                         try:
                             lastVersion = int(self.updateInformations[0].replace("V", "").replace(".", ""))
                         except:
                             lastVersion = uni.intversion - 1
                         if lastVersion > uni.intversion:
                             self.pbtnDownloadAndInstall.setVisible(True)
                             self.pbtnRemindMeLater.setVisible(True)
                             self.cbRemindMeLater.setVisible(True)
                             details = ""
                             for detail in self.updateInformations[4:]:
                                 details += detail + "<br>"
                             self.lblInfo.setText(str(translate("UpdateControl",
                                                                "Version %s is available. Please download and install the new release.<br>" +
                                                                "%s For detailed information: <a href='%s' target='_blank'>Hamsi Manager</a><br>You can download from <a href='%s' target='_blank'>Hamsi Manager %s</a>")) % (
                                                      self.updateInformations[0] + self.updateInformations[3],
                                                      details,
                                                      self.updateInformations[2], self.updateInformations[1],
                                                      self.updateInformations[0]))
                             self.setFixedHeight(330)
                         elif lastVersion < uni.intversion:
                             self.pbtnDownloadAndInstall.setVisible(True)
                             if self.isNotInstall is False:
                                 self.pbtnDownloadAndInstall.setText(
                                     translate("UpdateControl", "Download and Install") + " (!)")
                             else:
                                 self.pbtnDownloadAndInstall.setText(translate("UpdateControl", "Download") + " (!)")
                             self.pbtnRemindMeLater.setVisible(True)
                             self.cbRemindMeLater.setVisible(True)
                             details = ""
                             for detail in self.updateInformations[4:]:
                                 details += detail + "<br>"
                             self.lblInfo.setText(str(str(translate("UpdateControl",
                                                                    "Lastest stable version is %s. You currently are using the version for developers.You can continue to use the current version.<br>If you want a more accurate version, please download and install this version.<br>%s For detailed information: <a href='%s' target='_blank'>Hamsi Manager</a><br>You can download from <a href='%s' target='_blank'>Hamsi Manager %s</a>")) % (
                                                          self.updateInformations[0] + self.updateInformations[3],
                                                          details, self.updateInformations[2],
                                                          self.updateInformations[1], self.updateInformations[0])))
                             self.pbtnCancel.setText(translate("UpdateControl", "Ok"))
                             self.pbtnCheckForDeveloperVersion.setVisible(True)
                             self.setFixedHeight(330)
                         else:
                             self.lblInfo.setText(str(translate("UpdateControl",
                                                                "You are already using the latest release.<br>For detailed information: <a href='%s' target='_blank'>Hamsi Manager</a>")) % (
                                                      self.updateInformations[2]))
                             self.pbtnCancel.setText(translate("UpdateControl", "Ok"))
                         uni.setMySetting("lastUpdateControlDate", datetime.now().strftime("%Y %m %d %H %M %S"))
                     else:
                         uni.setMySetting("lastUpdateControlDate", datetime.now().strftime("%Y %m %d %H %M %S"))
                         Dialogs.showError(translate("UpdateControl", "Cannot Fetch Release Information"),
                                           translate("UpdateControl",
                                                     "Cannot fetch release information. Please retry later.<br>If you are constantly receiving this error, please visit \"http://hamsiapps.com/HamsiManager\"."))
                         self.close()
                 else:
                     uni.setMySetting("lastUpdateControlDate", datetime.now().strftime("%Y %m %d %H %M %S"))
                     Dialogs.showError(translate("UpdateControl", "Cannot Fetch Release Information"),
                                       translate("UpdateControl",
                                                 "Cannot fetch release information. Please retry later.<br>If you are constantly receiving this error, please visit \"http://hamsiapps.com/HamsiManager\"."))
                     self.close()
             else:
                 self.lblInfo.setText(translate("UpdateControl", "Download complete."))
         else:
             uni.setMySetting("lastUpdateControlDate", datetime.now().strftime("%Y %m %d %H %M %S"))
             Dialogs.showError(translate("UpdateControl", "Cannot Fetch Release Information"),
                               translate("UpdateControl",
                                         "Cannot fetch release information. Please retry later.<br>If you are constantly receiving this error, please visit \"http://hamsiapps.com/HamsiManager\"."))
             self.close()
     except:
         ReportBug.ReportBug()
Ejemplo n.º 33
0
 def organizeWithHamsiManager(self, _oldPath):
     uni.setMySetting("lastDirectory", fu.getRealDirName(_oldPath, True))
     CommandLineOptions.isQuickMake = False
     self.close()