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)
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')
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
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
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()
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)