codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
class MARKUP( object ): MARK_UNSET = -10 MARK_UPDATED_CUT = -3 MARK_EDIT_MODE = -2 MARK_CUT_END = 0 MARK_CUT_START = 1 MARK_BOOKMARK = 2 MARK_BLANK_FRAME = 3 MARK_COMM_START = 4 MARK_COMM_END = 5 MARK_GOP_START = 6 MARK_KEYFRAME = 7 MARK_SCENE_CHANGE = 8 MARK_GOP_BYFRAME = 9 MARK_ASPECT_1_1 = 10 MARK_ASPECT_4_3 = 11 MARK_ASPECT_16_9 = 12 MARK_ASPECT_2_21_1 = 13 MARK_ASPECT_CUSTOM = 14 MARK_VIDEO_WIDTH = 30 MARK_VIDEO_HEIGHT = 31 class MARKUPLIST( object ): def _buildlist(self, start, end): start = [] stop = [] for mark in self: if mark.type == start: if len(start) == len(stop): # start new cut start.append(mark.mark) #else: a cut has already been started elif mark.type == end: if len(start) == 0: # endpoint found without startpoint start.append(0) if len(start) > len(stop): # end cut stop.append(mark.mark) else: # replace cut endpoint stop[len(stop)-1] = mark.mark if len(start) > len(stop): # endpoint missing, no known better option stop.append(9999999) return zip(start, stop) class Recorded( DBDataWrite, CMPRecord ): class _Seek( DBDataRef, MARKUP, MARKUPLIST ): _table = 'recordedseek' _ref = ['chanid','starttime'] def getskiplist(self): return self._buildlist(self.MARK_COMM_START, self.MARK_COMM_END) def getunskiplist(self): return self._buildlist(self.MARK_COMM_END, self.MARK_COMM_START) class _Markup( DBDataRef, MARKUP, MARKUPLIST ): _table = 'recordedmarkup' _ref = ['chanid','starttime'] def getcutlist(self): return self._buildlist(self.MARK_CUT_START, self.MARK_CUT_END) def getuncutlist(self): return self._buildlist(self.MARK_CUT_END, self.MARK_CUT_START)
Private
[
?
]
Run code