Esempio n. 1
0
 def test_parse_empty_glyphs(self):
     # data = '({glyphname="A";})'
     data = '({})'
     parser = Parser(GSGlyph)
     result = parser.parse(data)
     self.assertEqual(len(result), 1)
     glyph = result[0]
     self.assertIsInstance(glyph, GSGlyph)
     defaults_as_none = [
         "category",
         "color",
         "lastChange",
         "leftKerningGroup",
         "leftMetricsKey",
         "name",
         "note",
         "rightKerningGroup",
         "rightMetricsKey",
         "script",
         "subCategory",
         "unicode",
         "widthMetricsKey",
     ]
     for attr in defaults_as_none:
         self.assertIsNone(getattr(glyph, attr))
     self.assertIsNotNone(glyph.userData)
     defaults_as_true = [
         "export",
     ]
     for attr in defaults_as_true:
         self.assertTrue(getattr(glyph, attr))
Esempio n. 2
0
def loads(value):
    """Read a .glyphs file from a bytes object.
    Return the unpacked root object (an ordered dictionary).
    """
    p = Parser()
    print('>>> Parsing .glyphs file')
    data = p.parse(value)
    print('>>> Casting parsed values')
    cast_data(data)
    return data
Esempio n. 3
0
def loads(value, dict_type=dict):
    """Read a .glyphs file from a bytes object.
    Return the unpacked root object (which usually is a dictionary).
    """
    p = Parser(dict_type=dict_type)
    print('>>> Parsing .glyphs file')
    data = p.parse(value)
    print('>>> Casting parsed values')
    cast_data(data)
    return data
Esempio n. 4
0
def loads(value):
    """Read a .glyphs file from a bytes object.
    Return the unpacked root object (an ordered dictionary).
    """
    p = Parser()
    logger.info('Parsing .glyphs file')
    data = p.parse(value)
    logger.info('Casting parsed values')
    cast_data(data)
    return data
Esempio n. 5
0
 def test_parse_glyphs(self):
     data = GLYPH_DATA
     parser = Parser(GSGlyph)
     result = parser.parse(data)
     glyph = result[0]
     self.assertEqual(glyph.name, "A")
     self.assertEqual(glyph.color, 5)
     self.assertEqual(glyph.lastChange, datetime.datetime(2017, 4, 30, 13, 57, 4))
     self.assertEqual(glyph.leftKerningGroup, "A")
     self.assertEqual(glyph.rightKerningGroup, "A")
     self.assertEqual(glyph.unicode, "0041")
Esempio n. 6
0
 def run_test(self, text, expected):
     parser = Parser()
     self.assertEqual(parser.parse(text), collections.OrderedDict(expected))
Esempio n. 7
0
 def run_test(self, text, expected):
     parser = Parser()
     self.assertEqual(parser.parse(text), collections.OrderedDict(expected))
Esempio n. 8
0
        def parse(fp, dict_type=dict):
            from glyphsLib.parser import Parser

            s = fp.read()
            p = Parser(current_type=dict_type)
            return p.parse(s)