def getPrpty(self, sProperty, default="NoEntry"):
        logMsg(self.__class__.__name__, log='all')

        if default == "NoEntry":
            return getattr(self, sProperty)
        else:
            return getattr(self, sProperty, default)
    def getPrpty(self, sProperty, default="NoEntry"):
        logMsg(self.__class__.__name__, log='all')

        if default == "NoEntry":
            return getattr(self, sProperty)
        else:
            return getattr(self, sProperty, default)
    def loadData(self):
        logMsg(self.__class__.__name__, log='all')

        for sProperty, _ in self.__class__.propertiesDctItems:

            metaprpty = self.__metaProperties[sProperty]
            if metaprpty.isReadable():
                setattr(self, metaprpty.name, metaprpty.read())
    def loadData(self):
        logMsg(self.__class__.__name__, log='all')

        for sProperty, _ in self.__class__.propertiesDctItems:

            metaprpty = self.__metaProperties[sProperty]
            if metaprpty.isReadable():
                setattr(self, metaprpty.name, metaprpty.read())
示例#5
0
    def launchAction(self, actionDct, checked):

        self.assertActionSelection()

        sActionMsg = "'{}'>'{}'".format(actionDct["menu"], actionDct["label"])
        try:
            logMsg(u'# Action: {} #'.format(sActionMsg))
        except Exception, e:
            logMsg(e, warning=True)
    def __init__(self):

        self._writingValues_ = False
        self.__metaProperties = {}

        for sProperty, _ in self.__class__.propertiesDctItems:

            metaprpty = self.__class__.propertyFactoryClass(sProperty, self)
            setattr(self, metaprpty.name, metaprpty.defaultValue)

            self.__metaProperties[sProperty] = metaprpty

        logMsg(self.__class__.__name__, log='all')
    def __init__(self):

        self._writingValues_ = False
        self.__metaProperties = {}

        for sProperty, _ in self.__class__.propertiesDctItems:

            metaprpty = self.__class__.propertyFactoryClass(sProperty, self)
            setattr(self, metaprpty.name, metaprpty.defaultValue)

            self.__metaProperties[sProperty] = metaprpty

        logMsg(self.__class__.__name__, log='all')
    def _writeAllValues(self, propertyNames=None):
        logMsg(self.__class__.__name__, log='all')

        sPropertyIter = self.__class__._iterPropertyArg(propertyNames)

        for sProperty in sPropertyIter:

            value = getattr(self, sProperty)

            bWriteOnly = False

            sSetFnc = "set" + upperFirst(sProperty)
            setFnc = getattr(self, sSetFnc, None)

            msg = u"Setting {0}.{1} to {2}( {3} ) using {4}".format(
                self, sProperty,
                type(value).__name__, toStr(value),
                setFnc if setFnc else "setPrpty")
            logMsg(msg, log="debug")

            bSuccess = False
            if setFnc:
                try:
                    bSuccess = setFnc(value, writingAttrs=True)
                except TypeError:
                    try:
                        bSuccess = setFnc(value)
                    except Exception, msg:
                        logMsg(msg, warning=True)
                        bWriteOnly = True
            else:
                bWriteOnly = True

            if bWriteOnly:
                metaprpty = self.__metaProperties[sProperty]
                if metaprpty.isWritable():
                    bSuccess = metaprpty.write(value)
                else:
                    logMsg(u"<{}> Writing to non-writable property: {}.{} .".
                           format(getCaller(), self, metaprpty.name),
                           warning=True)
                    bSuccess = True

            if not bSuccess:
                logMsg("Failed " + lowerFirst(msg), warning=True)
    def _writeAllValues(self, propertyNames=None):
        logMsg(self.__class__.__name__, log='all')

        sPropertyIter = self.__class__._iterPropertyArg(propertyNames)

        for sProperty in sPropertyIter:

            value = getattr(self, sProperty)

            bWriteOnly = False

            sSetFnc = "set" + upperFirst(sProperty)
            setFnc = getattr(self, sSetFnc, None)

            msg = u"Setting {0}.{1} to {2}( {3} ) using {4}".format(
                    self, sProperty, type(value).__name__, toStr(value), setFnc if setFnc else "setPrpty")
            logMsg(msg, log="debug")

            bSuccess = False
            if setFnc:
                try:
                    bSuccess = setFnc(value, writingAttrs=True)
                except TypeError:
                    try:
                        bSuccess = setFnc(value)
                    except Exception, msg:
                        logMsg(msg , warning=True)
                        bWriteOnly = True
            else:
                bWriteOnly = True

            if bWriteOnly:
                metaprpty = self.__metaProperties[sProperty]
                if metaprpty.isWritable():
                    bSuccess = metaprpty.write(value)
                else:
                    logMsg(u"<{}> Writing to non-writable property: {}.{} ."
                           .format(getCaller(), self, metaprpty.name), warning=True)
                    bSuccess = True

            if not bSuccess:
                logMsg("Failed " + lowerFirst(msg), warning=True)
    def createInputDataUI(self, parentWidget, **kwargs):
        cls = self.__class__
        logMsg(cls.__name__, log='all')

        sIgnorePrpty = kwargs.pop("ignoreInputData", [])
        sIgnorePrptyList = argToTuple(sIgnorePrpty)

        inputWdgItems = []

        for sProperty, _ in cls.propertiesDctItems:
            if sProperty in sIgnorePrptyList:
                continue

            metaprpty = self.__metaProperties[sProperty]
            if metaprpty.isInput():

                inputWdg = metaprpty.createEditorWidget(parentWidget)
                inputWdgItems.append((metaprpty.name, {"widget": inputWdg}))

        return inputWdgItems
    def createInputDataUI(self, parentWidget, **kwargs):
        cls = self.__class__
        logMsg(cls.__name__, log='all')

        sIgnorePrpty = kwargs.pop("ignoreInputData", [])
        sIgnorePrptyList = argToTuple(sIgnorePrpty)

        inputWdgItems = []

        for sProperty, _ in cls.propertiesDctItems:
            if sProperty in sIgnorePrptyList:
                continue

            metaprpty = self.__metaProperties[sProperty]
            if metaprpty.isInput():

                inputWdg = metaprpty.createEditorWidget(parentWidget)
                inputWdgItems.append((metaprpty.name , { "widget" : inputWdg }))

        return inputWdgItems
    def initPropertiesFromKwargs(self, **kwargs):
        logMsg(self.__class__.__name__, log='all')

        logMsg("Entered kwargs:", kwargs, log="debug")

        bIgnoreMissing = kwargs.pop("ignoreMissingKwarg", False)

        cls = self.__class__

        # get all keyword arguments
        for sProperty, _ in cls.propertiesDctItems:
            metaprpty = self.__metaProperties[sProperty]

            if metaprpty.defaultValue == "undefined" and not bIgnoreMissing:

                try:
                    value = kwargs.pop(metaprpty.name)
                except KeyError:
                    msg = u'{0} needs "{1}" kwarg at least'.format(
                        cls.__name__, metaprpty.name)
                    raise TypeError(msg)

                else:
                    setattr(self, metaprpty.name, value)

            else:
                value = kwargs.pop(metaprpty.name, metaprpty.defaultValue)
                setattr(self, metaprpty.name, value)

        logMsg("Remaining kwargs:", kwargs, log="debug")

        return kwargs
    def initPropertiesFromKwargs(self, **kwargs):
        logMsg(self.__class__.__name__, log='all')

        logMsg("Entered kwargs:", kwargs, log="debug")

        bIgnoreMissing = kwargs.pop("ignoreMissingKwarg", False)

        cls = self.__class__

        # get all keyword arguments
        for sProperty, _ in cls.propertiesDctItems:
            metaprpty = self.__metaProperties[sProperty]

            if metaprpty.defaultValue == "undefined" and not bIgnoreMissing:

                try:
                    value = kwargs.pop(metaprpty.name)
                except KeyError:
                    msg = u'{0} needs "{1}" kwarg at least'.format(cls.__name__, metaprpty.name)
                    raise TypeError(msg)

                else:
                    setattr(self, metaprpty.name, value)

            else:
                value = kwargs.pop(metaprpty.name, metaprpty.defaultValue)
                setattr(self, metaprpty.name, value)

        logMsg("Remaining kwargs:", kwargs, log="debug")

        return kwargs
    def setPrpty(self, sProperty, value, write=True):
        logMsg(self.__class__.__name__, log='all')

        metaprpty = self.__metaProperties[sProperty]

        if metaprpty.isValidValue(value):

            if write:
                if metaprpty.isWritable():
                    bStatus = metaprpty.write(value)
                    if not bStatus:
                        return False
                else:
                    logMsg(u"<{}> Writing to non-writable property: {}.{} .".
                           format(getCaller(), self, metaprpty.name),
                           warning=True)

            setattr(self, metaprpty.name, value)

            return True

        else:
            logMsg(" {0}.{1} : Invalid value : '{2}'".format(
                self, sProperty, value),
                   warning=True)
            return False
    def setPrpty(self, sProperty, value, write=True):
        logMsg(self.__class__.__name__, log='all')

        metaprpty = self.__metaProperties[sProperty]

        if metaprpty.isValidValue(value):

            if write:
                if metaprpty.isWritable():
                    bStatus = metaprpty.write(value)
                    if not bStatus:
                        return False
                else:
                    logMsg(u"<{}> Writing to non-writable property: {}.{} ."
                           .format(getCaller(), self, metaprpty.name), warning=True)

            setattr(self, metaprpty.name, value)

            return True

        else:
            logMsg(" {0}.{1} : Invalid value : '{2}'"
                   .format(self, sProperty, value) , warning=True)
            return False
示例#16
0
    def updateData(self):
        logMsg(log='all')

        metaprpty = self._metaprpty
        self.loadFlags(metaprpty)
        self.loadData(metaprpty)
示例#17
0
    def updateRow(self):
        logMsg(log='all')

        for siblItem in self.iterSiblingRow(self.row()):
            if siblItem.isValid():
                siblItem.updateData()
    def updateRow(self):
        logMsg(log='all')

        for siblItem in self.iterSiblingRow(self.row()):
            if siblItem.isValid():
                siblItem.updateData()
    def updateData(self):
        logMsg(log='all')

        metaprpty = self._metaprpty
        self.loadFlags(metaprpty)
        self.loadData(metaprpty)