dart-app-core/bin/main.dart
2023-04-01 22:02:59 +09:00

45 lines
1.3 KiB
Dart

import 'dart:convert';
import 'dart:io';
import 'package:dart_framework/log/log.dart';
import 'package:dart_framework/subtitle/parser_smi.dart';
import 'package:dart_framework/subtitle/parser_srt.dart';
import 'package:path/path.dart' as path;
import 'package:dart_framework/core/application.dart';
import 'package:dart_framework/charset.dart';
void main() async {
Application(() async {
var filePath = Platform.script.toFilePath(windows: true);
var file = File('${path.dirname(path.dirname(filePath))}/test_utf16le.smi');
var bytes = file.readAsBytesSync();
var encoding = Charset.detect(bytes);
print(encoding);
var result = encoding!.decode(bytes);
var ext = path.extension(file.path).toLowerCase();
if (ext == '.smi') {
//SMI
var parser = ParserSMI();
var subtitles = parser.getSubtitlesData(result);
var index = 0;
for (var item in subtitles.subtitles) {
print('$index. ${item.text}');
index++;
}
} else if (ext == '.srt') {
//SRT
var parser = ParserSRT();
var subtitles = parser.getSubtitlesData(result);
var index = 0;
for (var item in subtitles.subtitles) {
print('$index. ${item.text}');
index++;
}
}
}, (error, stack) {
print(error);
print(stack);
exit(0);
});
}