Esempio n. 1
0
def targettask(pyfontaine, pipedata, task):
    try:
        library = Library(collections=['subsets'])
        director = Director(_library=library)

        sourcedir = op.join(pyfontaine.builddir)
        directory = UpstreamDirectory(sourcedir)

        fonts = []
        for font in directory.ALL_FONTS:
            if font.startswith('sources'):
                continue
            fonts.append(op.join(pyfontaine.builddir, font))

        _ = ('fontaine --collections subsets --text %s'
             ' > fontaine.txt\n') % ' '.join(fonts)
        pyfontaine.bakery.logging_cmd(_)

        fontaine_log = op.join(pyfontaine.builddir, 'fontaine.txt')
        fp = codecs.open(fontaine_log, 'w', 'utf-8')

        result = Builder.text_(director.construct_tree(fonts))
        fp.write(result.output)
        pyfontaine.bakery.logging_raw('end of pyfontaine process\n')
    except Exception as ex:
        pyfontaine.bakery.logging_raw('pyfontaine error: {}'.format(ex))
        pyfontaine.bakery.logging_raw('pyfontaine process has been failed\n')
Esempio n. 2
0
def targettask(pyfontaine, pipedata, task):
    try:
        library = Library(collections=['subsets'])
        director = Director(_library=library)

        sourcedir = op.join(pyfontaine.builddir)
        directory = UpstreamDirectory(sourcedir)

        fonts = []
        for font in directory.ALL_FONTS:
            if font.startswith('sources'):
                continue
            fonts.append(op.join(pyfontaine.builddir, font))

        _ = ('fontaine --collections subsets --text %s'
             ' > fontaine.txt\n') % ' '.join(fonts)
        pyfontaine.bakery.logging_cmd(_)

        fontaine_log = op.join(pyfontaine.builddir, 'fontaine.txt')
        fp = codecs.open(fontaine_log, 'w', 'utf-8')

        result = Builder.text_(director.construct_tree(fonts))
        fp.write(result.output)
        pyfontaine.bakery.logging_raw('end of pyfontaine process\n')
        pyfontaine.bakery.logging_task_done(task)
    except Exception as ex:
        pyfontaine.bakery.logging_raw('pyfontaine error: {}'.format(ex))
        pyfontaine.bakery.logging_raw('pyfontaine process has been failed\n')
        pyfontaine.bakery.logging_task_done(task, failed=True)
Esempio n. 3
0
    def execute(self, pipedata, prefix=""):
        self.stdout_pipe.write('pyFontaine TTFs\n', prefix='### %s ' % prefix)

        library = Library(collections=['subsets'])
        director = Director(_library=library)

        fonts = []
        for font in pipedata['bin_files']:
            fonts.append(op.join(self.builddir, font))

        _ = ('fontaine --collections subsets --text %s'
             ' > sources/fontaine.txt\n') % ' '.join(fonts)
        self.stdout_pipe.write(_, prefix='$ ')
        try:
            fontaine_log = op.join(self.builddir, 'sources', 'fontaine.txt')
            fp = codecs.open(fontaine_log, 'w', 'utf-8')
        except OSError:
            self.stdout_pipe.write("Failed to open fontaine log to write")
            return

        try:
            result = Builder.text_(director.construct_tree(fonts))
            fp.write(result.output)
        except:
            self.stdout_pipe.write(('PyFontaine raised exception.'
                                    ' Check latest version.\n'))
            raise
Esempio n. 4
0
    def execute(self, pipedata):
        task = self.bakery.logging_task('pyFontaine TTFs')
        if self.bakery.forcerun:
            return

        try:
            library = Library(collections=['subsets'])
            director = Director(_library=library)

            fonts = []
            for font in pipedata['bin_files']:
                fonts.append(op.join(self.builddir, font))

            _ = ('fontaine --collections subsets --text %s'
                 ' > sources/fontaine.txt\n') % ' '.join(fonts)
            self.bakery.logging_cmd(_)

            fontaine_log = op.join(self.builddir, 'sources', 'fontaine.txt')
            fp = codecs.open(fontaine_log, 'w', 'utf-8')

            result = Builder.text_(director.construct_tree(fonts))
            fp.write(result.output)
            self.bakery.logging_task_done(task)
        except:
            self.bakery.logging_task_done(task, failed=True)
            raise
Esempio n. 5
0
    def execute(self, pipedata):
        task = self.bakery.logging_task('pyFontaine TTFs')
        if self.bakery.forcerun:
            return

        try:
            library = Library(collections=['subsets'])
            director = Director(_library=library)

            fonts = []
            for font in pipedata['bin_files']:
                fonts.append(op.join(self.builddir, font))

            _ = ('fontaine --collections subsets --text %s'
                 ' > sources/fontaine.txt\n') % ' '.join(fonts)
            self.bakery.logging_cmd(_)

            fontaine_log = op.join(self.builddir, 'sources', 'fontaine.txt')
            fp = codecs.open(fontaine_log, 'w', 'utf-8')

            result = Builder.text_(director.construct_tree(fonts))
            fp.write(result.output)
            self.bakery.logging_task_done(task)
        except:
            self.bakery.logging_task_done(task, failed=True)
            raise
Esempio n. 6
0
    def __generateTests__(cls):
        pattern = re.compile('[\W_]+')

        library.collections = ['subsets']
        tree = Director().construct_tree([cls.path])
        contents = Builder.xml_(tree).doc.toprettyxml(indent="  ")

        docroot = lxml.etree.fromstring(contents)
        for orth in docroot.xpath('//orthography'):
            value = int(orth.xpath('./percentCoverage/text()')[0])
            common_name = orth.xpath('./commonName/text()')[0]
            shortname = pattern.sub('', common_name)
            exec 'cls.test_charset_%s = get_test_subset_function(%s)' % (shortname, value)
            exec 'cls.test_charset_%s.__func__.__doc__ = "Is %s covered 100%%?"' % (shortname, common_name)
Esempio n. 7
0
    def __generateTests__(cls):
        pattern = re.compile('[\W_]+')

        library.collections = ['subsets']
        tree = Director().construct_tree([cls.path])
        contents = Builder.xml_(tree).doc.toprettyxml(indent="  ")

        docroot = lxml.etree.fromstring(contents)
        for orth in docroot.xpath('//orthography'):
            value = int(orth.xpath('./percentCoverage/text()')[0])
            common_name = orth.xpath('./commonName/text()')[0]
            shortname = pattern.sub('', common_name)
            exec 'cls.test_charset_%s = get_test_subset_function(%s)' % (
                shortname, value)
            exec 'cls.test_charset_%s.__func__.__doc__ = "Is %s covered 100%%?"' % (
                shortname, common_name)
Esempio n. 8
0
def main(*argv):
    args = usage()

    fonts = []
    for filename in args.font:
        fonts.append(Font(filename))

    if args.disable_unames:
        os.environ['DISABLE_UNAMES'] = 'disable'

    director = Director()
    if args.xml:
        tree = director.construct_tree(fonts)
        Builder.xml_(tree).display()
    elif args.csv:
        sys.stdout.write(Builder.csv_(fonts))
    elif args.json:
        tree = director.construct_tree(fonts)
        Builder.json_(tree)
    else:
        tree = director.construct_tree(fonts)
        Builder.text_(tree).display()