Пример #1
0
    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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
    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
Пример #5
0
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
Пример #6
0
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