def pixel_resolution(self): cr = model.PixelResolutionType(height=480, width=640) self.assertEqual(cr.height, 480) self.assertEqual(cr.width, 640) with self.assertRaises(ValueError): cr = model.PixelResolutionType(height=0, width=640)
def test_copy_to(self): src = model.ContentDocument() src.set_display_aspect_ratio(Fraction(16, 9)) src.set_active_area(model.ActiveAreaType(0.1, 0.15, 0.8, 0.7)) src.set_px_resolution(model.PixelResolutionType(height=480, width=640)) src.set_lang("fr") src.set_cell_resolution(model.CellResolutionType(rows=10, columns=20)) src.put_initial_value(styles.StyleProperties.Color, styles.ColorType((12, 23, 43, 56))) dest = model.ContentDocument() src.copy_to(dest) self.assertEqual(dest.get_display_aspect_ratio(), src.get_display_aspect_ratio()) self.assertEqual(dest.get_active_area(), src.get_active_area()) self.assertEqual(dest.get_px_resolution(), src.get_px_resolution()) self.assertEqual(dest.get_lang(), src.get_lang()) self.assertEqual(dest.get_cell_resolution(), src.get_cell_resolution()) self.assertSequenceEqual(list(dest.iter_initial_values()), list(src.iter_initial_values()))
def test_init(self): d = model.ContentDocument() self.assertIsNone(d.get_body()) self.assertEqual(d.get_px_resolution(), model.PixelResolutionType(width=1920, height=1080)) self.assertEqual(len(d.iter_initial_values()), 0) self.assertEqual(len(d.iter_regions()), 0) self.assertEqual(d.get_cell_resolution(), model.CellResolutionType(rows=15, columns=32))
def extract(ttml_element) -> model.PixelResolutionType: extent = ttml_element.attrib.get(ExtentAttribute.qn) if extent is not None: s = extent.split(" ") (w, w_units) = utils.parse_length(s[0]) (h, h_units) = utils.parse_length(s[1]) if w_units != "px" or h_units != "px": LOGGER.error("ttp:extent on <tt> does not use px units") return None return model.PixelResolutionType(w, h) return None
def extract(ttml_element) -> typing.Optional[model.PixelResolutionType]: extent = ttml_element.attrib.get(ExtentAttribute.qn) if extent is not None: s = extent.split(" ") (w, w_units) = utils.parse_length(s[0]) (h, h_units) = utils.parse_length(s[1]) if w_units != "px" or h_units != "px": LOGGER.error("ttp:extent on <tt> does not use px units") return None if not w.is_integer() or not h.is_integer(): LOGGER.error("Pixel resolution dimensions must be integer values") return model.PixelResolutionType(int(w), int(h)) return None