Skip to content

Commit 5f05f7c

Browse files
committed
replace os with pathlib, update % string formatting
1 parent e69cd95 commit 5f05f7c

File tree

1 file changed

+23
-22
lines changed

1 file changed

+23
-22
lines changed

kernFeatureWriter.py

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@
1414
'''
1515

1616
import argparse
17+
import defcon
1718
import itertools
18-
import os
1919
import time
2020

21+
from pathlib import Path
22+
2123

2224
group_rtl = 'RTL_KERNING'
2325

@@ -357,12 +359,14 @@ def _sanityCheck(self):
357359
num_pairs_unprocessed = len(self.pairs_unprocessed)
358360

359361
if num_pairs_total != num_pairs_processed + num_pairs_unprocessed:
360-
print('Something went wrong...')
361-
print('Kerning pairs provided: %s' % num_pairs_total)
362-
print('Kern entries generated: %s' % (
363-
num_pairs_processed + num_pairs_unprocessed))
364-
print('Pairs not processed: %s' % (
365-
num_pairs_total - (num_pairs_processed + num_pairs_unprocessed)))
362+
num_entries = num_pairs_processed + num_pairs_unprocessed
363+
num_unprocessed = num_pairs_total - num_entries
364+
print(
365+
'Something went wrong ...\n'
366+
f'Kerning pairs provided: {num_pairs_total}\n'
367+
f'Kern entries generated: {num_entries}\n'
368+
f'Pairs not processed: {num_unprocessed}\n'
369+
)
366370

367371
def _explode(self, leftGlyphList, rightGlyphList):
368372
'''
@@ -662,8 +666,7 @@ def __init__(self, font, args=None):
662666

663667
fea_data = self._make_fea_data(kp)
664668
self.header = self.make_header(args)
665-
output_dir = os.path.abspath(os.path.dirname(self.f.path))
666-
output_path = os.path.join(output_dir, args.output_name)
669+
output_path = Path(self.f.path).parent / args.output_name
667670
self.write_fea_data(fea_data, output_path)
668671

669672
def make_header(self, args):
@@ -674,9 +677,9 @@ def make_header(self, args):
674677

675678
header = []
676679
if args.write_timestamp:
677-
header.append('# Created: %s' % time.ctime())
678-
header.append('# PS Name: %s' % ps_name)
679-
header.append('# MinKern: +/- %s inclusive' % args.min_value)
680+
header.append(f'# Created: {time.ctime()}')
681+
header.append(f'# PS Name: {ps_name}')
682+
header.append(f'# MinKern: +/- {args.min_value} inclusive')
680683
return header
681684

682685
def _dict2pos(self, pair_value_dict, minimum=0, enum=False, rtl=False):
@@ -687,14 +690,14 @@ def _dict2pos(self, pair_value_dict, minimum=0, enum=False, rtl=False):
687690

688691
data = []
689692
trimmed = 0
690-
for pair, value in pair_value_dict.items():
693+
for (item_1, item_2), value in pair_value_dict.items():
691694

692695
if rtl:
693696
value_str = '<{0} 0 {0} 0>'.format(value)
694697
else:
695698
value_str = str(value)
696699

697-
posLine = 'pos %s %s;' % (' '.join(pair), value_str)
700+
posLine = f'pos {item_1} {item_2} {value_str};'
698701

699702
if enum:
700703
data.append('enum ' + posLine)
@@ -735,7 +738,7 @@ def _build_st_output(self, st_list, comment, rtl=False):
735738

736739
st_output.append(
737740
self._dict2pos(table, self.minKern, rtl=rtl))
738-
print('%s subtables created' % self.num_subtables)
741+
print(f'{self.num_subtables} subtables created')
739742
return st_output
740743

741744
def _make_fea_data(self, kp):
@@ -869,10 +872,10 @@ def _make_fea_data(self, kp):
869872

870873
def write_fea_data(self, data, output_path):
871874

872-
print('Saving %s file...' % os.path.basename(output_path))
875+
print(f'Saving {output_path.name} file...')
873876

874877
if self.trimmedPairs > 0:
875-
print('Trimmed pairs: %s' % self.trimmedPairs)
878+
print(f'Trimmed pairs: {self.trimmedPairs}')
876879

877880
with open(output_path, 'w') as blob:
878881
blob.write('\n'.join(self.header))
@@ -881,7 +884,7 @@ def write_fea_data(self, data, output_path):
881884
blob.write('\n'.join(data))
882885
blob.write('\n')
883886

884-
print('Output file written to %s' % output_path)
887+
print(f'Output file written to {output_path}')
885888

886889

887890
def get_args(args=None):
@@ -946,10 +949,8 @@ def get_args(args=None):
946949

947950
def main(test_args=None):
948951
args = get_args(test_args)
949-
f_path = os.path.normpath(args.input_file)
950-
import defcon
951-
if os.path.exists(f_path):
952-
952+
f_path = Path(args.input_file)
953+
if f_path.exists:
953954
f = defcon.Font(f_path)
954955
run(f, args)
955956

0 commit comments

Comments
 (0)