Example #1
0
    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)
Example #2
0
    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()))
Example #3
0
  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))
Example #4
0
    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
Example #5
0
  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