def draw_inside(self, graph, search_files=None, draw_dir=None): files = [] if search_files is not None: files += search_files if draw_dir is not None: files += get_xsls_in_dir(draw_dir) self.__draw_related_inside(graph, files) return graph
def draw_outside(graph, index, search_files=None, draw_dir=None): if search_files is not None: draw_related_outside(graph, index, search_files, [], []) elif draw_dir is not None: draw_related_outside(graph, index, get_xsls_in_dir(draw_dir), [], []) else: for file_name, imported_by in index.iteritems(): gv.node(graph, '{0}'.format(file_name)) for imp in set(imported_by): gv.edge(graph, os.path.relpath(file_name, config.ROOT_XSL_DIR), os.path.relpath(imp, config.ROOT_XSL_DIR)) return graph
def draw_inside(graph, data, search_files=None, draw_dir=None): files = [] if search_files is not None: files += search_files if draw_dir is not None: files += get_xsls_in_dir(draw_dir) draw_related_inside(graph, data, files, [], []) return graph
def draw_outside(self, graph, search_files=None, draw_dir=None, limit=None, squash=True): self.__squash = squash self.__limit = limit if search_files is not None: self.__draw_related_outside(graph, search_files) elif draw_dir is not None: self.__draw_related_outside(graph, get_xsls_in_dir(draw_dir)) else: for file_name, imported_by in self.index.iteritems(): gv.node(graph, file_name) for imp in set(imported_by): gv.edge(graph, self.get_relative_path(file_name), self.get_relative_path(imp)) return graph
def search_cross_platform_imports(index, start_dir): files = get_xsls_in_dir(start_dir) for file_name in files: file_platform = get_platform(file_name) ancestors = get_file_ancestors(index, file_name) cross_platform_ancestors = [ ancestor for ancestor in ancestors if get_platform(ancestor) != file_platform ] if cross_platform_ancestors: print file_name, cross_platform_ancestors
def search_class_names(start_dir): classes = set() files = get_xsls_in_dir(start_dir) for xsl in files: for el in get_tree(xsl).getiterator(): class_names = el.get('class') if class_names is not None: classes = classes.union(class_names.split(' ')) if is_xsl_tag(el, 'attribute') and el.get('name') == 'class': class_names = el.text.split(' ') classes = classes.union(class_names) if el.getchildren(): print 'Some dynamic class defenition in {0}:'.format(xsl) print etree.tostring(el, pretty_print=True) return classes