def inferClass(fullPath, origSource, origLineNo, PYSMELLDICT, vim=None): klass, parents = getClassAndParents(origSource, origLineNo) # replace POINTERS with their full reference for index, parent in enumerate(parents[:]): parents[index] = _qualify(parent, PYSMELLDICT) pathParts = _getPathParts(fullPath) fullKlass = klass while pathParts: fullKlass = "%s.%s" % (pathParts.pop(), fullKlass) if fullKlass in PYSMELLDICT['CLASSES'].keys(): break else: # we don't know about this class, look in the file system path, filename = os.path.split(fullPath) packages = findRootPackageList(path, filename) fullKlass = "%s.%s.%s" % (".".join(packages), filename[:-3], klass) return fullKlass, parents
def inferInstance(fullPath, AST, lineNo, var, PYSMELLDICT): names, klasses = getNames(AST) assignment = names.get(var, None) klass = None parents = [] if assignment: possibleMatch = funcCellRE.match(assignment) if possibleMatch: klass = possibleMatch.groups(1)[0] if klass in klasses: path, filename = os.path.split(fullPath) packages = findRootPackageList(path, filename) if packages: packagesStr = (".".join(packages)) + "." else: packagesStr = "" klass = "%s%s.%s" % (packagesStr, filename[:-3], klass) else: klass = _qualify(names.get(klass, klass), PYSMELLDICT) parents = PYSMELLDICT['CLASSES'].get(klass, {'bases': []})['bases'] return klass, parents
def inferClass(fullPath, AST, origLineNo, PYSMELLDICT, vim=None): klass, parents = getClassAndParents(AST, origLineNo) # replace POINTERS with their full reference for index, parent in enumerate(parents[:]): parents[index] = _qualify(parent, PYSMELLDICT) pathParts = _getPathParts(fullPath) fullKlass = klass while pathParts: fullKlass = "%s.%s" % (pathParts.pop(), fullKlass) if fullKlass in list(PYSMELLDICT['CLASSES'].keys()): break else: # we don't know about this class, look in the file system path, filename = os.path.split(fullPath) packages = findRootPackageList(path, filename) if packages: packagesStr = (".".join(packages)) + "." else: packagesStr = "" fullKlass = "%s%s.%s" % (packagesStr, filename[:-3], klass) return fullKlass, parents