mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-07-09 02:16:41 +00:00
* Removed all extractors except the grid extractor. Removed the call to transcript extractor in ccx_encoders_transcript.c * Removed unnecessary array appening statements in python_grid_extractor. WIP: switch in extractor. * Added switch in g608 grid extractor. * Deleted comments from wrappers. * Refactored code in ccextractor.c and .h files. Removed all the commented part. Made proper changes according to the coding conventions. * Removed calls to extractor from all the encoders. The only call made to extractor is from ccx_encoders_python.c. * Removed a comment from wrapper.c. In init_write function of output.c added a call to free the output string returned by asprintf in case of sending filename to callback function. * Added calls to free the char* which is malloced by asprintf in extractor.c WIP: Free the global variable elements. * Sample testing correctly for italics tag. Also added a hack to print only 32 characters when unicode fails. WIP: Font tag. * Added support for handling font and italics in Python SRT generator. * modified the font generator. Also, added count method for checking blank strings in python_srt_generator. * Added free statements for avoiding memory leaks. * added return code for failure of asprintf calls. * Removing unnecessary code from api_testing.py * Made modifications to Makefile and build script. * Added recursive_tester.py Autoconf builds successfully. * BUG: Made change to get_line_encoded to encode the last \0 character in a line. Otherwise the EOL characted is absent causing garbage value to be present in SRT. * Exporting the encoding of the captions from CCExtractor to Python so that the python SRT generator can generate proper SRT files. * Modified the include statement in extractor.h
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
import ccextractor as cc
|
|
import ccx_to_python_g608 as g608
|
|
import python_srt_generator as srt_generator
|
|
text,font,color = [],[],[]
|
|
filename = " "
|
|
srt_counter = " "
|
|
def generate_output_srt(line, encoding):
|
|
global text,font,color
|
|
global filename, srt_counter
|
|
if "filename:" in line:
|
|
filename = str(str(line.split(":")[1]).split("\n")[0])
|
|
with open(filename, 'w+') as fh:
|
|
pass
|
|
elif "srt_counter-" in line:
|
|
srt_counter = str(line.split("-")[1])
|
|
with open(filename, 'a+') as fh:
|
|
fh.write(srt_counter)
|
|
elif "start_time" in line:
|
|
with open(filename, 'a+') as fh:
|
|
data = line.split("-")
|
|
end_time = str(data[-1].split("\n")[0])
|
|
start_time = str(data[1].split("\t")[0])
|
|
fh.write(start_time)
|
|
fh.write(" --> ")
|
|
fh.write(end_time)
|
|
fh.write("\n")
|
|
fh.flush()
|
|
elif "***END OF FRAME***" in line:
|
|
d={}
|
|
d['text']=text
|
|
d['color']=color
|
|
d['font']=font
|
|
srt_generator.generate_output_srt(filename,d, encoding)
|
|
text,font,color = [],[],[]
|
|
else:
|
|
g608.g608_grid_former(line,text,color,font)
|
|
|
|
|
|
|