Fix ruff warning about imports and IOError instead of OSError.
This commit is contained in:
+47
-24
@@ -6,23 +6,46 @@
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
from os import unlink
|
|
||||||
import os.path
|
import os.path
|
||||||
from sys import exit
|
from datetime import datetime, timedelta
|
||||||
from datetime import datetime,timedelta
|
from os import unlink
|
||||||
from shutil import copyfile, move
|
from shutil import copyfile, move
|
||||||
|
from sys import exit
|
||||||
|
|
||||||
import coloredlogs
|
import coloredlogs
|
||||||
import hexdump
|
import hexdump
|
||||||
|
|
||||||
from .tscut import check_required_tools, parse_time_interval, cmp_to_key, get_format,\
|
from .tscut import (
|
||||||
SupportedFormat, compare_time_interval, ffmpeg_convert, parse_codec_private,\
|
SupportedFormat,
|
||||||
dump_codec_private_data, get_nearest_iframe, get_movie_duration, extract_all_streams,\
|
change_codec_private_data,
|
||||||
extract_mkv_part, extract_srt, concatenate_h264_parts, concatenate_h264_ts_parts,\
|
check_required_tools,
|
||||||
do_ocr, get_frame_rate, get_streams, get_ts_frame, remove_video_tracks_from_mkv,\
|
cmp_to_key,
|
||||||
merge_mkvs, extract_track_from_mkv, get_avc_config_from_h264,\
|
compare_time_interval,
|
||||||
get_codec_private_data_from_mkv, find_subtitles_tracks, change_codec_private_data,\
|
concatenate_h264_parts,
|
||||||
get_tesseract_supported_lang, remux_srt_subtitles
|
concatenate_h264_ts_parts,
|
||||||
|
do_ocr,
|
||||||
|
dump_codec_private_data,
|
||||||
|
extract_all_streams,
|
||||||
|
extract_mkv_part,
|
||||||
|
extract_srt,
|
||||||
|
extract_track_from_mkv,
|
||||||
|
ffmpeg_convert,
|
||||||
|
find_subtitles_tracks,
|
||||||
|
get_avc_config_from_h264,
|
||||||
|
get_codec_private_data_from_mkv,
|
||||||
|
get_format,
|
||||||
|
get_frame_rate,
|
||||||
|
get_movie_duration,
|
||||||
|
get_nearest_iframe,
|
||||||
|
get_streams,
|
||||||
|
get_tesseract_supported_lang,
|
||||||
|
get_ts_frame,
|
||||||
|
merge_mkvs,
|
||||||
|
parse_codec_private,
|
||||||
|
parse_time_interval,
|
||||||
|
remove_video_tracks_from_mkv,
|
||||||
|
remux_srt_subtitles,
|
||||||
|
)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -110,7 +133,7 @@ def main() -> int:
|
|||||||
try:
|
try:
|
||||||
input_file = open(args.input_file, mode='rb')
|
input_file = open(args.input_file, mode='rb')
|
||||||
logger.debug("Type of input file: %s", type(input_file))
|
logger.debug("Type of input file: %s", type(input_file))
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error("Impossible to open %s", args.input_file)
|
logger.error("Impossible to open %s", args.input_file)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
@@ -153,21 +176,21 @@ def main() -> int:
|
|||||||
logger.info("Converting MP4 to MKV.")
|
logger.info("Converting MP4 to MKV.")
|
||||||
try:
|
try:
|
||||||
mkv = open(mkvfilename, 'wb+')
|
mkv = open(mkvfilename, 'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('')
|
logger.error('')
|
||||||
|
|
||||||
ffmpeg_convert(paths['ffmpeg'], paths['ffprobe'], mp4, 'mp4', mkv, 'matroska',
|
ffmpeg_convert(paths['ffmpeg'], paths['ffprobe'], mp4, 'mp4', mkv, 'matroska',
|
||||||
duration)
|
duration)
|
||||||
if nb_parts > 0:
|
if nb_parts > 0:
|
||||||
temporaries.append(mkv)
|
temporaries.append(mkv)
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('')
|
logger.error('')
|
||||||
|
|
||||||
elif format_of_file == SupportedFormat.MP4:
|
elif format_of_file == SupportedFormat.MP4:
|
||||||
logger.info("Converting MP4 to MKV")
|
logger.info("Converting MP4 to MKV")
|
||||||
try:
|
try:
|
||||||
mkv = open(mkvfilename, 'wb+')
|
mkv = open(mkvfilename, 'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('')
|
logger.error('')
|
||||||
ffmpeg_convert(paths['ffmpeg'], paths['ffprobe'], input_file, 'mp4', mkv, 'matroska',
|
ffmpeg_convert(paths['ffmpeg'], paths['ffprobe'], input_file, 'mp4', mkv, 'matroska',
|
||||||
duration)
|
duration)
|
||||||
@@ -340,25 +363,25 @@ def main() -> int:
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
internal_mkv = open(internal_mkv_name, 'wb+')
|
internal_mkv = open(internal_mkv_name, 'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', internal_mkv_name)
|
logger.error('Impossible to create file: %s', internal_mkv_name)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
internal_novideo_mkv = open(internal_novideo_mkv_name, 'wb+')
|
internal_novideo_mkv = open(internal_novideo_mkv_name, 'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', internal_novideo_mkv_name)
|
logger.error('Impossible to create file: %s', internal_novideo_mkv_name)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
internal_h264 = open(internal_h264_name, 'wb+')
|
internal_h264 = open(internal_h264_name, 'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', internal_h264_name)
|
logger.error('Impossible to create file: %s', internal_h264_name)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
internal_h264_ts = open(internal_h264_ts_name, 'w+', encoding='utf8')
|
internal_h264_ts = open(internal_h264_ts_name, 'w+', encoding='utf8')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', internal_h264_ts_name)
|
logger.error('Impossible to create file: %s', internal_h264_ts_name)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
@@ -429,7 +452,7 @@ def main() -> int:
|
|||||||
if nb_mkv_parts > 0:
|
if nb_mkv_parts > 0:
|
||||||
try:
|
try:
|
||||||
full_h264 = open(f'{basename}-full.h264', 'wb+')
|
full_h264 = open(f'{basename}-full.h264', 'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file full H264 stream.')
|
logger.error('Impossible to create file full H264 stream.')
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
@@ -439,7 +462,7 @@ def main() -> int:
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
full_h264_ts = open(f'{basename}-ts.txt', 'w+', encoding='utf8')
|
full_h264_ts = open(f'{basename}-ts.txt', 'w+', encoding='utf8')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file containing all video timestamps.')
|
logger.error('Impossible to create file containing all video timestamps.')
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
@@ -463,7 +486,7 @@ def main() -> int:
|
|||||||
if nb_mkv_parts >=1 :
|
if nb_mkv_parts >=1 :
|
||||||
try:
|
try:
|
||||||
final_novideo = open(final_novideo_name, 'rb')
|
final_novideo = open(final_novideo_name, 'rb')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to open file: %s.', final_novideo_name)
|
logger.error('Impossible to open file: %s.', final_novideo_name)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
@@ -521,12 +544,12 @@ def main() -> int:
|
|||||||
for idx_name, sub_name, _, _ in list_of_subtitles:
|
for idx_name, sub_name, _, _ in list_of_subtitles:
|
||||||
try:
|
try:
|
||||||
idx = open(idx_name,'rb')
|
idx = open(idx_name,'rb')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error("Impossible to open %s.", idx_name)
|
logger.error("Impossible to open %s.", idx_name)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
try:
|
try:
|
||||||
sub = open(sub_name,'rb')
|
sub = open(sub_name,'rb')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error("Impossible to open %s.", sub_name)
|
logger.error("Impossible to open %s.", sub_name)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
|
|||||||
+35
-25
@@ -3,30 +3,40 @@
|
|||||||
|
|
||||||
# Standard modules
|
# Standard modules
|
||||||
import argparse
|
import argparse
|
||||||
import re
|
|
||||||
from sys import exit
|
|
||||||
from datetime import datetime,timedelta
|
|
||||||
import logging
|
|
||||||
from functools import cmp_to_key
|
|
||||||
from subprocess import Popen, PIPE
|
|
||||||
from os import read, write, lseek, set_inheritable, memfd_create, SEEK_SET, close, unlink,\
|
|
||||||
fstat, ftruncate
|
|
||||||
import os.path
|
|
||||||
from enum import IntEnum, unique
|
|
||||||
from shutil import copyfile, which, move
|
|
||||||
from dataclasses import dataclass, field
|
|
||||||
from math import floor, ceil, log
|
|
||||||
from io import BytesIO, TextIOWrapper
|
|
||||||
import json
|
import json
|
||||||
|
import logging
|
||||||
|
import os.path
|
||||||
|
import re
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from datetime import datetime, timedelta
|
||||||
|
from enum import IntEnum, unique
|
||||||
|
from functools import cmp_to_key
|
||||||
|
from io import BytesIO, TextIOWrapper
|
||||||
|
from math import ceil, floor, log
|
||||||
|
from os import (
|
||||||
|
SEEK_SET,
|
||||||
|
close,
|
||||||
|
fstat,
|
||||||
|
ftruncate,
|
||||||
|
lseek,
|
||||||
|
memfd_create,
|
||||||
|
read,
|
||||||
|
set_inheritable,
|
||||||
|
unlink,
|
||||||
|
write,
|
||||||
|
)
|
||||||
|
from shutil import copyfile, move, which
|
||||||
|
from subprocess import PIPE, Popen
|
||||||
|
from sys import exit
|
||||||
from typing import IO
|
from typing import IO
|
||||||
from typeguard import typechecked
|
|
||||||
|
|
||||||
# Third party libraries
|
# Third party libraries
|
||||||
import coloredlogs
|
import coloredlogs
|
||||||
from tqdm import tqdm
|
|
||||||
import hexdump
|
import hexdump
|
||||||
from iso639 import Lang
|
from iso639 import Lang
|
||||||
from iso639.exceptions import InvalidLanguageValue
|
from iso639.exceptions import InvalidLanguageValue
|
||||||
|
from tqdm import tqdm
|
||||||
|
from typeguard import typechecked
|
||||||
|
|
||||||
# Local modules
|
# Local modules
|
||||||
# TODO: create local modules for MP4, MKV
|
# TODO: create local modules for MP4, MKV
|
||||||
@@ -361,7 +371,7 @@ def do_ocr(vobsubocr:str, idxs: list[tuple[str,str,str,str]], duration:timedelta
|
|||||||
while pos < srt_length:
|
while pos < srt_length:
|
||||||
pos+=write(outfd, buf[pos:])
|
pos+=write(outfd, buf[pos:])
|
||||||
temporaries.append(dump_srt)
|
temporaries.append(dump_srt)
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', srtname)
|
logger.error('Impossible to create file: %s', srtname)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -2734,7 +2744,7 @@ def dump_ppm(pictures: bytes, prefix: str, temporaries: list[IO[bytes]]) -> None
|
|||||||
nb_bytes+=write(outfd, pictures[pos+nb_bytes:pos+length])
|
nb_bytes+=write(outfd, pictures[pos+nb_bytes:pos+length])
|
||||||
pos+=length
|
pos+=length
|
||||||
picture+=1
|
picture+=1
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', filename)
|
logger.error('Impossible to create file: %s', filename)
|
||||||
|
|
||||||
@typechecked
|
@typechecked
|
||||||
@@ -2871,7 +2881,7 @@ def extract_all_streams(ffmpeg_path:str, ffprobe_path:str, input_file:IO[bytes],
|
|||||||
pos = 0
|
pos = 0
|
||||||
while pos < len(sound_bytes):
|
while pos < len(sound_bytes):
|
||||||
pos+=write(outfd, sound_bytes[pos:])
|
pos+=write(outfd, sound_bytes[pos:])
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', tmpname)
|
logger.error('Impossible to create file: %s', tmpname)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -2907,7 +2917,7 @@ def extract_all_streams(ffmpeg_path:str, ffprobe_path:str, input_file:IO[bytes],
|
|||||||
mkv_filename = f'{files_prefix}.mkv'
|
mkv_filename = f'{files_prefix}.mkv'
|
||||||
try:
|
try:
|
||||||
mkv_output = open(mkv_filename,'wb+')
|
mkv_output = open(mkv_filename,'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', mkv_filename)
|
logger.error('Impossible to create file: %s', mkv_filename)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -2928,7 +2938,7 @@ def extract_all_streams(ffmpeg_path:str, ffprobe_path:str, input_file:IO[bytes],
|
|||||||
h264_filename = f'{files_prefix}.h264'
|
h264_filename = f'{files_prefix}.h264'
|
||||||
try:
|
try:
|
||||||
h264_output = open(h264_filename,'wb+')
|
h264_output = open(h264_filename,'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', h264_filename)
|
logger.error('Impossible to create file: %s', h264_filename)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -2957,7 +2967,7 @@ def extract_all_streams(ffmpeg_path:str, ffprobe_path:str, input_file:IO[bytes],
|
|||||||
h264_ts_filename = f'{files_prefix}-ts.txt'
|
h264_ts_filename = f'{files_prefix}-ts.txt'
|
||||||
try:
|
try:
|
||||||
h264_ts_output = open(h264_ts_filename,'w+', encoding='utf8')
|
h264_ts_output = open(h264_ts_filename,'w+', encoding='utf8')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', h264_ts_filename)
|
logger.error('Impossible to create file: %s', h264_ts_filename)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -2992,7 +3002,7 @@ def merge_mkvs(mkvmerge_path:str, inputs: list[IO[bytes]], output_name:str,
|
|||||||
fds = []
|
fds = []
|
||||||
try:
|
try:
|
||||||
out = open(output_name, 'wb+')
|
out = open(output_name, 'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', output_name)
|
logger.error('Impossible to create file: %s', output_name)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -3175,7 +3185,7 @@ def remux_srt_subtitles(mkvmerge_path:str, input_file: IO[bytes], output_filenam
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
out = open(output_filename, 'w', encoding='utf8')
|
out = open(output_filename, 'w', encoding='utf8')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', output_filename)
|
logger.error('Impossible to create file: %s', output_filename)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@@ -3289,7 +3299,7 @@ def do_coarse_processing(ffmpeg_path:str, ffprobe_path:str, mkvmerge_path:str,
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
internal_mkv = open(internal_mkv_name, 'wb+')
|
internal_mkv = open(internal_mkv_name, 'wb+')
|
||||||
except IOError:
|
except OSError:
|
||||||
logger.error('Impossible to create file: %s', internal_mkv_name)
|
logger.error('Impossible to create file: %s', internal_mkv_name)
|
||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user