class AssStyles:
    """
	AssEntryStyle
	"""
    def __init__(self):
        self.styles = []
        self.format = AssEntry('', '[Styles]')
        self.trueversion = -1

    def parse(self, line, version):
        if line.startswith('Format:'):
            try:
                item_list = line.split(':', 1)[1].split(',')
                #print item_list
                length = len(item_list)
                if length == 18:  #v4.0
                    self.trueversion = 0
                elif length == 23:  #v4.0+
                    self.trueversion = 1
                else:
                    self.trueversion = version
            except IndexError, msg:
                print IndexError, ':', msg

            self.format.set_data(
                'Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding'
            )

        elif line.startswith('Style:'):
            try:
                style = AssEntryStyle(line, '[Styles]', self.trueversion)
            except UnknowDataError, err_msg:
                print UnknowDataError, ':', err_msg
Example #2
0
class AssEvents:
    """
	AssEvent
	"""

    def __init__(self):
        self.events = []
        self.format = AssEntry("", "[Events]")
        self.trueversion = -1

    def parse(self, line, version):
        if line.startswith("Format:"):
            self.format.set_data("Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text")
            # elif line.startswith('Dialogue:'):

        if line.startswith("Format:"):
            try:
                low_format_str = line.split(":", 1)[1].strip().lower()
                if low_format_str.startswith("marked"):  # SSA style
                    self.trueversion = 0
                elif low_format_str.startswith("layer"):  # ASS V4.0+
                    self.trueversion = 1
                else:
                    self.trueversion = version
            except IndexError, msg:
                print IndexError, ":", msg

            self.format.set_data("Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text")

        elif line.startswith("Dialogue:") or line.startswith("Comment:"):
            try:
                event = AssEntryDialogue(line, "[Events]", self.trueversion)
            except UnknowDataError, err_msg:
                print UnknowDataError, ":", err_msg
Example #3
0
class AssStyles:
	"""
	AssEntryStyle
	"""
	def __init__(self):
		self.styles = []
		self.format = AssEntry('', '[Styles]')
		self.trueversion = -1
		
	def parse(self, line, version):
		if line.startswith('Format:'):
			try:
				item_list = line.split(':', 1)[1].split(',')
				#print item_list
				length = len(item_list)
				if length == 18:	#v4.0
					self.trueversion = 0
				elif length == 23:	#v4.0+
					self.trueversion = 1
				else:
					self.trueversion = version
			except IndexError, msg:
				print IndexError, ':', msg

			self.format.set_data('Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding')
					
		elif line.startswith('Style:'):
			try:
				style = AssEntryStyle(line, '[Styles]', self.trueversion)
			except UnknowDataError, err_msg:
				print UnknowDataError, ':', err_msg
class AssEvents:
    """
	AssEvent
	"""
    def __init__(self):
        self.events = []
        self.format = AssEntry('', '[Events]')
        self.trueversion = -1

    def parse(self, line, version):
        if line.startswith('Format:'):
            self.format.set_data(
                'Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text'
            )
        #elif line.startswith('Dialogue:'):

        if line.startswith('Format:'):
            try:
                low_format_str = line.split(':', 1)[1].strip().lower()
                if low_format_str.startswith('marked'):  #SSA style
                    self.trueversion = 0
                elif low_format_str.startswith('layer'):  #ASS V4.0+
                    self.trueversion = 1
                else:
                    self.trueversion = version
            except IndexError, msg:
                print IndexError, ':', msg

            self.format.set_data(
                'Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text'
            )

        elif line.startswith('Dialogue:') or line.startswith('Comment:'):
            try:
                event = AssEntryDialogue(line, '[Events]', self.trueversion)
            except UnknowDataError, err_msg:
                print UnknowDataError, ':', err_msg
Example #5
0
 def __init__(self):
     self.events = []
     self.format = AssEntry("", "[Events]")
     self.trueversion = -1
 def __init__(self):
     self.styles = []
     self.format = AssEntry('', '[Styles]')
     self.trueversion = -1
Example #7
0
	def __init__(self):
		self.styles = []
		self.format = AssEntry('', '[Styles]')
		self.trueversion = -1
 def __init__(self):
     self.events = []
     self.format = AssEntry('', '[Events]')
     self.trueversion = -1