def check(self, ruleSet, config):
        selectors = ruleSet.selector.replace('  ', '').split(',')
        for s in selectors:
            if s.find('@media') != -1:
                continue

            if s.find('=') != -1:
                if s.find('~=') != -1 or s.find('^=') != -1 or s.find(
                        '|=') != -1 or s.find('$=') != -1 or s.find(
                            '*=') != -1:
                    self.errorMsg = self.errorMsg_reg
                    return False

            splited = s.split(' ')
            if len(splited) > 5:
                self.errorMsg = self.errorMsg_shorter
                return False
            counter = 0
            for p in splited:
                if p == '>':
                    self.errorMsg = self.errorMsg_no1
                    return False

                innerSplit = p.split('#')
                if len(innerSplit) == 2 and isHTMLTag(innerSplit[0]):
                    self.errorMsg = self.errorMsg_id
                    return False

                innerSplit = p.split('.')
                if len(innerSplit) == 2 and isHTMLTag(innerSplit[0]):
                    self.errorMsg = self.errorMsg_class
                    return False

                if isHTMLTag(p):
                    counter = counter + 1
            if counter > 1:
                self.errorMsg = self.errorMsg_lessTag
                return False

        noSpace = ruleSet.selector.replace(' ', '')
        if noSpace.find('ulli') != -1 or noSpace.find(
                'olli') != -1 or noSpace.find('dldt') != -1 or noSpace.find(
                    'dldd') != -1:
            self.errorMsg = self.errorMsg_lessTag
            return False
        return True
    def check(self, ruleSet, config):
        selectors = ruleSet.selector.replace('  ', '').split(',')
        for s in selectors:
            if s.find('@media') != -1:
                continue

            if s.find('=') != -1:
                if s.find('~=') != -1 or s.find('^=') != -1 or s.find('|=') != -1 or s.find('$=') != -1 or s.find('*=') != -1:
                    self.errorMsg = self.errorMsg_reg
                    return False

            splited = s.split(' ')
            if len(splited) > 5:
                self.errorMsg = self.errorMsg_shorter
                return False
            counter = 0
            for p in splited:
                if p == '>':
                    self.errorMsg = self.errorMsg_no1
                    return False

                innerSplit = p.split('#')
                if len(innerSplit) == 2 and isHTMLTag(innerSplit[0]):
                    self.errorMsg = self.errorMsg_id
                    return False

                innerSplit = p.split('.')
                if len(innerSplit) == 2 and isHTMLTag(innerSplit[0]):
                    self.errorMsg = self.errorMsg_class
                    return False

                if isHTMLTag(p):
                    counter = counter + 1
            if counter > 1:
                self.errorMsg = self.errorMsg_lessTag
                return False

        noSpace = ruleSet.selector.replace(' ', '')
        if noSpace.find('ulli') != -1 or noSpace.find('olli') != -1 or noSpace.find('dldt') != -1 or noSpace.find('dldd') != -1:
            self.errorMsg = self.errorMsg_lessTag
            return False
        return True
 def check(self, ruleSet):
     selector = ruleSet.selector.lower()
     if selector.find('@media') != -1:
         return True
     if selector.find('@-moz-document') != -1:
         return True
     selectors = selector.split(',')
     for s in selectors:
         if isHTMLTag(s.strip()):
             return False
     return True 
 def check(self, ruleSet, config):
     selector = ruleSet.selector.lower()
     if selector.find('@media') != -1:
         return True
     if selector.find('@-moz-document') != -1:
         return True
     selectors = selector.split(',')
     for s in selectors:
         if isHTMLTag(s.strip()):
             return False
     return True 
Example #5
0
    def check(self, ruleSet, config):
        selector = ruleSet.selector.lower()
        if selector.find('@media') != -1:
            return True
        if selector.find('@-moz-document') != -1:
            return True
        if isKeyFrames(selector):
            return True
        selectors = selector.split(',')
        for s in selectors:
            for r in s.split(' '):
                r = r.strip()
                if r != '':
                    if r.find('::') != -1:
                        # p::selection
                        tag = r.split('::')[0].split('.')[0].split(
                            '#')[0].strip()
                    else:
                        # abcd:hover
                        # abcd.class-name:hover
                        # abcd#class-name:hover
                        tag = r.split(':')[0].split('.')[0].split(
                            '#')[0].strip()

                    # .test > .inner
                    if tag == '' or tag == '>' or tag == '*' or tag == '+':
                        continue

                    # #id
                    if tag.find('#') != -1:
                        continue

                    # input[type=button]
                    if tag.find('[') != -1:
                        tag = tag.split('[')[0].strip()

                    # *+html
                    if tag.startswith('*+'):
                        tag = tag[2:]

                    # *html
                    elif tag.startswith('*'):
                        tag = tag[1:]

                    if not isHTMLTag(tag):
                        self.errorMsg = self.errorMsg_rough % tag
                        return False
        return True
    def check(self, ruleSet, config):
        selector = ruleSet.selector.lower()
        if selector.find('@media') != -1:
            return True
        if selector.find('@-moz-document') != -1:
            return True
        if isKeyFrames(selector):
            return True
        selectors = selector.split(',')
        for s in selectors:
            for r in s.split(' '):
                r = r.strip()
                if r != '':
                    if r.find('::') != -1:
                        # p::selection
                        tag = r.split('::')[0].split('.')[0].split('#')[0].strip()
                    else:
                        # abcd:hover
                        # abcd.class-name:hover
                        # abcd#class-name:hover
                        tag = r.split(':')[0].split('.')[0].split('#')[0].strip()

                    # .test > .inner
                    if tag == '' or tag == '>' or tag == '*' or tag == '+':
                        continue

                    # #id
                    if tag.find('#') != -1:
                        continue

                    # input[type=button]
                    if tag.find('[') != -1:
                        tag = tag.split('[')[0].strip()

                    # *+html
                    if tag.startswith('*+'):
                        tag = tag[2:]

                    # *html
                    elif tag.startswith('*'):
                        tag = tag[1:]

                    if not isHTMLTag(tag):
                        self.errorMsg = self.errorMsg_rough % tag
                        return False
        return True