aeidon/enums/formats.py¶
Source code for module aeidon.enums.formats from file aeidon/enums/formats.py.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | # -*- coding: utf-8 -*-
# Copyright (C) 2005 Osmo Salomaa
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
Enumerations for subtitle file format types.
Mime-types of subtitle file formats conform to those defined in
freedesktop.org_'s shared-mime-info_ package. For formats not included in
``shared-mime-info``, ``text/plain`` is used as the mime-type.
.. _freedesktop.org: http://www.freedesktop.org/
.. _shared-mime-info: http://freedesktop.org/wiki/Software/shared-mime-info
"""
import aeidon
__all__ = ("formats",)
class AdvSubStationAlpha(aeidon.EnumerationItem):
container = "ssa"
extension = ".ass"
has_header = True
identifier = r"^ScriptType:\s*[vV]4.00\+\s*$"
label = "Advanced Sub Station Alpha"
mime_type = "text/x-ssa"
mode = aeidon.modes.TIME
class MicroDVD(aeidon.EnumerationItem):
container = None
extension = ".sub"
has_header = True
identifier = r"^\{-?\d+\}\{-?\d+\}"
label = "MicroDVD"
mime_type = "text/x-microdvd"
mode = aeidon.modes.FRAME
class MPL2(aeidon.EnumerationItem):
container = None
extension = ".txt"
has_header = False
identifier = r"^\[-?\d+\]\[-?\d+\]"
label = "MPL2"
mime_type = "text/plain"
mode = aeidon.modes.TIME
class SubRip(aeidon.EnumerationItem):
container = "subrip"
extension = ".srt"
has_header = False
identifier = (r"^-?\d\d:\d\d:\d\d,\d\d\d -->"
r" -?\d\d:\d\d:\d\d,\d\d\d"
r"( X1:\d+ X2:\d+ Y1:\d+ Y2:\d+)?\s*$")
label = "SubRip"
mime_type = "application/x-subrip"
mode = aeidon.modes.TIME
class SubStationAlpha(aeidon.EnumerationItem):
container = "ssa"
extension = ".ssa"
has_header = True
identifier = r"^ScriptType:\s*[vV]4.00\s*$"
label = "Sub Station Alpha"
mime_type = "text/x-ssa"
mode = aeidon.modes.TIME
class SubViewer2(aeidon.EnumerationItem):
container = None
extension = ".sub"
has_header = True
identifier = (r"^-?\d\d:\d\d:\d\d\.\d\d"
r",-?\d\d:\d\d:\d\d\.\d\d\s*$")
label = "SubViewer 2.0"
mime_type = "text/x-subviewer"
mode = aeidon.modes.TIME
class TMPlayer(aeidon.EnumerationItem):
container = None
extension = ".txt"
has_header = False
identifier = r"^-?\d?\d:\d\d:\d\d:"
label = "TMPlayer"
mime_type = "text/plain"
mode = aeidon.modes.TIME
formats = aeidon.Enumeration()
formats.ASS = AdvSubStationAlpha()
formats.MICRODVD = MicroDVD()
formats.MPL2 = MPL2()
formats.SUBRIP = SubRip()
formats.SSA = SubStationAlpha()
formats.SUBVIEWER2 = SubViewer2()
formats.TMPLAYER = TMPlayer()
|