Пример #1
0
        def extract(cls, context: StyleParsingContext, xml_attrib: str):
            s = xml_attrib.split(" ")

            if len(s) == 1:

                before = end = after = start = StyleProperties.ttml_length_to_model(
                    context, s[0])

            elif len(s) == 2:

                before = after = StyleProperties.ttml_length_to_model(
                    context, s[0])
                end = start = StyleProperties.ttml_length_to_model(
                    context, s[1])

            elif len(s) == 3:

                before = StyleProperties.ttml_length_to_model(context, s[0])
                end = start = StyleProperties.ttml_length_to_model(
                    context, s[1])
                after = StyleProperties.ttml_length_to_model(context, s[2])

            elif len(s) == 4:

                before = StyleProperties.ttml_length_to_model(context, s[0])
                end = StyleProperties.ttml_length_to_model(context, s[1])
                after = StyleProperties.ttml_length_to_model(context, s[2])
                start = StyleProperties.ttml_length_to_model(context, s[3])

            else:

                raise ValueError("Bad syntax")

            return styles.PaddingType(before, end, after, start)
Пример #2
0
  def test_compute_padding(self):
    doc = model.ContentDocument()

    r1 = model.Region("r1", doc)
    r1.set_style(styles.StyleProperties.ShowBackground, styles.ShowBackgroundType.always)
    r1.set_style(
      styles.StyleProperties.Extent,
      styles.ExtentType(
        width=styles.LengthType(50, styles.LengthType.Units.pct),
        height=styles.LengthType(25, styles.LengthType.Units.pct)
      )
    )
    r1.set_style(
      styles.StyleProperties.Padding,
      styles.PaddingType(
        before=styles.LengthType(5, styles.LengthType.Units.pct),
        after=styles.LengthType(10, styles.LengthType.Units.pct),
        start=styles.LengthType(15, styles.LengthType.Units.pct),
        end=styles.LengthType(20, styles.LengthType.Units.pct)
      )
    )
    doc.put_region(r1)

    isd = ISD.from_model(doc, 0)

    region = list(isd.iter_regions())[0]

    padding: styles.PaddingType = region.get_style(styles.StyleProperties.Padding)

    self.assertAlmostEqual(padding.before.value, 25 * 0.05)
    self.assertAlmostEqual(padding.after.value, 25 * 0.10)
    self.assertAlmostEqual(padding.start.value, 50 * 0.15)
    self.assertAlmostEqual(padding.end.value, 50 * 0.2)
Пример #3
0
    def test_tts_padding(self):
        padding = styles.PaddingType(before=styles.LengthType(10.1),
                                     end=styles.LengthType(20.2),
                                     after=styles.LengthType(30.3),
                                     start=styles.LengthType(40.4))

        self.assertEqual(
            _get_set_style(imsc_styles.StyleProperties.Padding, padding),
            r"10.1% 20.2% 30.3% 40.4%")
Пример #4
0
    def test_style_property_padding_has_px(self):
        prop = styles.PaddingType(
            before=styles.LengthType(10.1, styles.LengthType.units.px),
            end=styles.LengthType(20.2, styles.LengthType.units.em),
            after=styles.LengthType(30.3, styles.LengthType.units.em),
            start=styles.LengthType(40.4, styles.LengthType.units.em))
        self.assertEqual(imsc_styles.StyleProperties.Padding.has_px(prop),
                         True)

        prop = styles.PaddingType(
            before=styles.LengthType(10.1, styles.LengthType.units.em),
            end=styles.LengthType(20.2, styles.LengthType.units.px),
            after=styles.LengthType(30.3, styles.LengthType.units.em),
            start=styles.LengthType(40.4, styles.LengthType.units.em))
        self.assertEqual(imsc_styles.StyleProperties.Padding.has_px(prop),
                         True)

        prop = styles.PaddingType(
            before=styles.LengthType(10.1, styles.LengthType.units.em),
            end=styles.LengthType(20.2, styles.LengthType.units.em),
            after=styles.LengthType(30.3, styles.LengthType.units.px),
            start=styles.LengthType(40.4, styles.LengthType.units.em))
        self.assertEqual(imsc_styles.StyleProperties.Padding.has_px(prop),
                         True)

        prop = styles.PaddingType(
            before=styles.LengthType(10.1, styles.LengthType.units.em),
            end=styles.LengthType(20.2, styles.LengthType.units.em),
            after=styles.LengthType(30.3, styles.LengthType.units.em),
            start=styles.LengthType(40.4, styles.LengthType.units.px))
        self.assertEqual(imsc_styles.StyleProperties.Padding.has_px(prop),
                         True)

        prop = styles.PaddingType(
            before=styles.LengthType(10.1, styles.LengthType.units.em),
            end=styles.LengthType(20.2, styles.LengthType.units.em),
            after=styles.LengthType(30.3, styles.LengthType.units.em),
            start=styles.LengthType(40.4, styles.LengthType.units.em))
        self.assertEqual(imsc_styles.StyleProperties.Padding.has_px(prop),
                         False)