Пример #1
0
 def _check_relative(self, node, mod_path):
     """check relative import module"""
     context_file = node.root().file
     relative = is_relative(mod_path, context_file)
     if relative:
         self.add_message('W0403', args=mod_path, node=node)
     return relative
Пример #2
0
 def visit_from(self, node):
     """visit an astng.From node
     
     resolve module dependencies
     """
     basename = node.modname
     context_file = node.root().file
     if context_file is not None:
         relative = is_relative(basename, context_file)
     else:
         relative = False
     for name in node.names:
         if name[0] == '*':
             fullname = basename
         else:
             fullname = '%s.%s' % (basename, name[0])
             if fullname.find('.') > -1:
                 try:
                     # XXX: don't use get_module_part, missing package precedence
                     mod_fullname = get_module_part(fullname,context_file)
                     if(mod_fullname == fullname):
                         self.from_modname_imports+=1;
                         node.modname_import = True;
                     fullname = mod_fullname
                 except ImportError:
                     print "Unresolved From -", node.as_string(),"File -",node.root().name,"Lineno - ",node.fromlineno 
                     self.bad_from_imports+=1
                     continue
         self._imported_module(node, fullname, relative)
Пример #3
0
 def visit_import(self, node):
     """visit an astng.Import node
     
     resolve module dependencies
     """
     context_file = node.root().file
     for name in node.names:
         relative = is_relative(name[0], context_file)
         self._imported_module(node, name[0], relative)
Пример #4
0
 def visit_import(self, node):
     """visit an astng.Import node
     
     resolve module dependencies
     """
     context_file = node.root().file
     for name in node.names:
         relative = is_relative(name[0], context_file)
         self._imported_module(node, name[0], relative)
Пример #5
0
 def _module_not_exists(self, node, modname):
     """check if module exists and possibly add message"""
     result, errors = expand_modules([modname], [])
     if not errors or is_relative(modname, node.root().file):
         return False
     error = errors[0]
     if error["key"] == "F0001":
         args = (error["mod"], error["ex"])
         self.add_message("F0401", args=args, node=node)
         return True
     assert error["key"] == "F0003"
     return False
Пример #6
0
 def visit_from(self, node):
     """visit an astng.From node
     
     resolve module dependencies
     """
     basename = node.modname
     context_file = node.root().file
     if context_file is not None:
         relative = is_relative(basename, context_file)
     else:
         relative = False
     for name in node.names:
         if name[0] == '*':
             continue
         # analyze dependencies
         fullname = '%s.%s' % (basename, name[0])
         if fullname.find('.') > -1:
             try:
                 # XXX: don't use get_module_part, missing package precedence
                 fullname = get_module_part(fullname)
             except ImportError:
                 continue
         if fullname != basename:
             self._imported_module(node, fullname, relative)
Пример #7
0
 def visit_from(self, node):
     """visit an astng.From node
     
     resolve module dependencies
     """
     basename = node.modname
     context_file = node.root().file
     if context_file is not None:
         relative = is_relative(basename, context_file)
     else:
         relative = False
     for name in node.names:
         if name[0] == '*':
             continue
         # analyze dependencies
         fullname = '%s.%s' % (basename, name[0])
         if fullname.find('.') > -1:
             try:
                 # XXX: don't use get_module_part, missing package precedence
                 fullname = get_module_part(fullname)
             except ImportError:
                 continue
         if fullname != basename:
             self._imported_module(node, fullname, relative)
Пример #8
0
 def test_knownValues_is_relative_3(self):
     self.assertEqual(modutils.is_relative('logilab.common.modutils',
                                           common.__path__[0]), False)
Пример #9
0
 def test_knownValues_is_relative_2(self):
     self.assertEqual(modutils.is_relative('modutils', tree.__file__), True)
Пример #10
0
 def test_knownValues_is_relative_1(self):
     self.assertEqual(modutils.is_relative('modutils', common.__path__[0]), True)
Пример #11
0
 def test_knownValues_is_relative_3(self):
     self.assertEqual(
         modutils.is_relative('logilab.common.modutils',
                              common.__path__[0]), False)
Пример #12
0
 def test_knownValues_is_relative_2(self):
     self.assertEqual(modutils.is_relative('modutils', tree.__file__), True)
Пример #13
0
 def test_knownValues_is_relative_1(self):
     self.assertEqual(modutils.is_relative('modutils', common.__path__[0]),
                      True)