def getNetworkType(self):
        """得到网络是静态还是动态类型"""
        netType = None
        DNSType = None
        statusOutput = commands.getstatusoutput("cat %s" % common.NETWORK_CONFIG_UBUNTU)
        if statusOutput[0] == 0:
            output = QString(statusOutput[1])
            if output.contains("dhcp"):
                netType = "dhcp"
            else:
                netType = "static"

            if output.contains("dns-nameservers"):
                DNSType = "customDNS"
            else:
                DNSType = "AUTODNS"

        return [netType, DNSType]
 def getNetworkType(self):
     """得到网络是静态还是动态类型"""
     netType = None
     DNSType = None
     statusOutput = commands.getstatusoutput("cat %s" % self.bridgeNetworkconfigFile)
     if statusOutput[0] == 0:
         output = QString(statusOutput[1])
         if output.contains("dhcp"):
             netType = "dhcp"
         else:
             netType = "static"
             
         if output.contains("DNS"):
             DNSType = "customDNS"
         else:
             DNSType = "AUTODNS"
             
     return [netType, DNSType]
Example #3
0
 def setFilter(self, f):
     if not self.cursor_:
         return
     previousF = QString(self.cursor_.mainFilter())
     newF = QString(None)
     if previousF.isEmpty():
         newF = f
     elif previousF.contains(f):
         return
     else:
         newF = previousF + " AND " + f
     self.cursor_.setMainFilter(newF)
Example #4
0
 def setFilter(self, f):
     if not self.cursor_:
         return
     previousF = QString(self.cursor_.mainFilter())
     newF = QString(None)
     if previousF.isEmpty():
         newF = f
     elif previousF.contains(f):
         return
     else:
         newF = previousF + " AND " + f
     self.cursor_.setMainFilter(newF)
Example #5
0
def function_arguments(fun):
    try:
        args = robjects.r('do.call(argsAnywhere, list("%s"))' % fun)
        args = QString(str(args))
        if args.contains("function"):
            regexp = QRegExp(r"function\s\(")
            start = regexp.lastIndexIn(args)
            regexp = QRegExp(r"\)")
            end = regexp.lastIndexIn(args)
            args = args[start:end+1].replace("function ", "") # removed fun
        else:
            args = args.replace("\n\n", "").remove("NULL")
    except Exception: # if something goes wrong, ignore it!
        args = QString()
    return args
Example #6
0
    def match(self, context):
        if not context.isValid():
            return

        query = context.query()

        # Don't use query.startsWith('vim ') because we want the
        # list of all sessions to show up once inserted 'vim'.
        # The space between plugin keywork and text query must be
        # handled manually.
        if not query.startsWith('vim', Qt.CaseInsensitive):
            return
        try:
            if query[3] != ' ':
                return
        except IndexError:
            pass

        query = query[4:]
        query = query.trimmed()

        for _, _, sessions in os.walk(DEFAULT_SESSION_DIRECTORY):
            for session in sessions:

                match = Plasma.QueryMatch(self.runner)

                # Skip lock files.
                if session.endswith('.lock'):
                    continue

                # Trim .vim extension.
                session = QString(session[:-4])

                # Search is case insensitive.
                if session.contains(query, Qt.CaseInsensitive):
                    match.setText(session)
                    match.setSubtext('Open Vim session')
                    match.setType(Plasma.QueryMatch.ExactMatch)
                    match.setIcon(KIcon('vim'))
                    match.setData(session)
                    if session.compare(query, Qt.CaseInsensitive) == 0:
                        match.setRelevance(1.0)
                    else:
                        match.setRelevance(0.8)

                    context.addMatch(session, match)
Example #7
0
    def filterAcceptsRow( self, source_row, source_parent ):
        '''
        Re-implementation of QSortFilterProxyModel's' filterAcceptsRow( self, source_row, source_parent ) function.
        It uses not only 'name' of the item, but also tags of item/modul.
        '''
        result = False

        useIndex = self.sourceModel().index(source_row,  0,  source_parent)
        name = self.sourceModel().data(useIndex, Qt.DisplayRole).toString()

        if ( name.contains(self.filterRegExp()) ):
            result = True
        else:
            # searching in tags
            mod = self.sourceModel().data(useIndex, Qt.UserRole+1).toPyObject()
            for tag in mod.tags():
                tag = QString(tag)
                if ( tag.contains(self.filterRegExp()) ):
                    result = True
                    break
        return result
Example #8
0
    def filterAcceptsRow(self, source_row, source_parent):
        '''
        Re-implementation of QSortFilterProxyModel's' filterAcceptsRow( self, source_row, source_parent ) function.
        It uses not only 'name' of the item, but also tags of item/modul.
        '''
        result = False

        useIndex = self.sourceModel().index(source_row, 0, source_parent)
        name = self.sourceModel().data(useIndex, Qt.DisplayRole).toString()

        if (name.contains(self.filterRegExp())):
            result = True
        else:
            # searching in tags
            mod = self.sourceModel().data(useIndex,
                                          Qt.UserRole + 1).toPyObject()
            for tag in mod.tags():
                tag = QString(tag)
                if (tag.contains(self.filterRegExp())):
                    result = True
                    break
        return result
def getLinuxOperationSystemType():
    """得到linux操作系统的类型"""
    statusOutput = commands.getstatusoutput("head -n 1 /etc/issue")
    LogRecord.instance().logger.info(u"/etc/issue文件内容:%s" % statusOutput[1])
    if statusOutput[0] == 0:
        output = QString(statusOutput[1])
        if output.contains("Ubuntu 12.04"):
            return "Ubuntu 12.04"
        if output.contains("Ubuntu 13.04"):
            return "Ubuntu 13.04"
        elif output.contains("CentOS release 6.5"):
            return "CentOS 6.5"
        elif output.contains("CentOS release 7.0"):
            return "CentOS 7.0"
        elif output.contains("Ubuntu 14.04"):
            return "Ubuntu 14.04"
        elif output.contains("Ubuntu"):
            return "Ubuntu"
        elif output.contains("MCOS-cClassroom-student"):
            return "CentOS 7.0"
        elif output.contains("CentOS"):
            return "CentOS"

    return None
Example #10
0
    def keyPressEvent(self, e):
        if self.isReadOnly():
            return

        if self.c.popup().isVisible():
            if e.key() in [Qt.Key_Enter, Qt.Key_Return]:
                e.ignore()
                return

        if e.key() in [Qt.Key_Tab]:
            e.ignore()
            return

        if e.key() in [Qt.Key_Down, Qt.Key_Up] and not self.is_multiline():
            e.ignore()
            return

        QPlainTextEdit.keyPressEvent(self, e)

        ctrlOrShift = e.modifiers() and (Qt.ControlModifier or Qt.ShiftModifier)
        if self.c is None or (ctrlOrShift and e.text().isEmpty()):
            return

        eow = QString("~!@#$%^&*()_+{}|:\"<>?,./;'[]\\-=")
        hasModifier = (e.modifiers() != Qt.NoModifier) and not ctrlOrShift
        completionPrefix = self.textUnderCursor()

        if hasModifier or e.text().isEmpty() or completionPrefix.length() < 1 or eow.contains(e.text().right(1)):
            self.c.popup().hide()
            return

        if completionPrefix != self.c.completionPrefix():
            self.c.setCompletionPrefix(completionPrefix)
            self.c.popup().setCurrentIndex(self.c.completionModel().index(0, 0))

        cr = self.cursorRect()
        cr.setWidth(self.c.popup().sizeHintForColumn(0) + self.c.popup().verticalScrollBar().sizeHint().width())
        self.c.complete(cr)