Ejemplo n.º 1
0
def create_generator(source_file_name=None, generator_name=None):
    """ Make a generator from the given information
    about the object, such as its source and type """
    if generator_name:
        return LanguageInfo.find_generator_by_name(generator_name)()
    else:
        if source_file_name:
            try:
                h = LanguageInfo.guess_language_for_file(source_file_name)
                return h.get_default_html_generator()()
            except IOError:
                # this means silvercity tried to the file and failed
                raise ValueError, "Unknown extension for '%s', cannot create lexer" % source_file_name

        else:
            raise ValueError, "Unknown file type, cannot create lexer"
Ejemplo n.º 2
0
def create_generator(source_file_name, generator_name):
    if generator_name:
        return LanguageInfo.find_generator_by_name(generator_name)()
    else:
        return LanguageInfo.guess_language_for_file(
                        source_file_name).get_default_html_generator()()
Ejemplo n.º 3
0
def create_generator(source_file_name, generator_name):
    if generator_name:
        return LanguageInfo.find_generator_by_name(generator_name)()
    else:
        return LanguageInfo.guess_language_for_file(
            source_file_name).get_default_html_generator()()
Ejemplo n.º 4
0
    return lexers


def generate_html(source_file, generator=None, source_file_name=None):
    """ From the source make a generator
    and then make the html """

    # SilverCity requires a file like object
    target_file = StringIO()
    generator = create_generator(source_file_name, generator)
    generator.generate_html(target_file, source_file)

    # return the html back
    return target_file.getvalue(), generator.name


if __name__ == "__main__":
    import sys
    file = sys.argv[1]
    fh = open(file, 'r').read()
    #print generate_html(file, generator="python")
    #print list_generators()
    l = LanguageInfo.guess_language_for_file(file)
    text = generate_html(fh, generator=l.language_name)

    template = open('template.html', 'r').read()
    template = template % text[0]

    out = open('out.html', 'w')
    out.write(template)