Example #1
0
    def _check_name(self, node_type, name, node):
        """check for a name using the type's regexp"""
        if is_inside_except(node):
            clobbering, _ = clobber_in_except(node)
            if clobbering:
                return
        if name in self.config.good_names:
            return
        if name in self.config.bad_names:
            self.stats['badname_' + node_type] += 1
            self.add_message('blacklisted-name', node=node, args=name)
            return
        regexp = getattr(self.config, node_type + '_rgx')
        match = regexp.match(name)

        if self._is_multi_naming_match(match):
            name_group = self._find_name_group(node_type)
            if name_group not in self._name_category:
                self._name_category[name_group] = match.lastgroup
            elif self._name_category[name_group] != match.lastgroup:
                match = None

        if match is None:
            type_label = _NAME_TYPES[node_type][1]
            hint = ''
            if self.config.include_naming_hint:
                hint = ' (hint: %s)' % (getattr(self.config, node_type + '_name_hint'))
            self.add_message('invalid-name', node=node, args=(type_label, name, hint))
            self.stats['badname_' + node_type] += 1
Example #2
0
    def _check_name(self, node_type, name, node):
        """check for a name using the type's regexp"""
        if is_inside_except(node):
            clobbering, _ = clobber_in_except(node)
            if clobbering:
                return

        if name in self.config.good_names:
            return
        if name in self.config.bad_names:
            self.stats['badname_' + node_type] += 1
            self.add_message('C0102', node=node, args=name)
            return
        regexp = getattr(self.config, node_type + '_rgx')
        if regexp.match(name) is None:
            self.add_message('C0103', node=node, args=(name, regexp.pattern))
            self.stats['badname_' + node_type] += 1
Example #3
0
 def _check_name(self, node_type, name, node):
     """check for a name using the type's regexp"""
     if is_inside_except(node):
         clobbering, _ = clobber_in_except(node)
         if clobbering:
             return
     if name in self.config.good_names:
         return
     if name in self.config.bad_names:
         self.stats['badname_' + node_type] += 1
         self.add_message('C0102', node=node, args=name)
         return
     regexp = getattr(self.config, node_type + '_rgx')
     if regexp.match(name) is None:
         type_label = {'inlinedvar': 'inlined variable',
                       'const': 'constant',
                       'attr': 'attribute',
                       }.get(node_type, node_type)
         self.add_message('C0103', node=node, args=(name, type_label, regexp.pattern))
         self.stats['badname_' + node_type] += 1
Example #4
0
 def visit_excepthandler(self, node):
     for name in get_all_elements(node.name):
         clobbering, args = clobber_in_except(name)
         if clobbering:
             self.add_message('redefine-in-handler', args=args, node=name)
Example #5
0
 def visit_excepthandler(self, node):
     for name in get_all_elements(node.name):
         clobbering, args = clobber_in_except(name)
         if clobbering:
             self.add_message('redefine-in-handler', args=args, node=name)
Example #6
0
 def visit_excepthandler(self, node):
     clobbering, args = clobber_in_except(node.name)
     if clobbering:
         self.add_message('W0623', args=args, node=node)