57 lines
1.6 KiB
Dart
57 lines
1.6 KiB
Dart
import 'dart:io';
|
|
import 'package:dart_framework/platform/process.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/platform/isolate_manager.dart' as isolate;
|
|
import 'package:dart_framework/core/application.dart';
|
|
import 'package:dart_framework/charset.dart';
|
|
|
|
void main() async {
|
|
Application('dartframework', 'com.toki-labs.dartframework', () async {
|
|
isolate.test();
|
|
|
|
// var md5 = generateMd5('test');
|
|
// print('$md5 / ${md5.length}');
|
|
// var encrypted = encrypt('test', 'this is test');
|
|
// print(encrypted);
|
|
|
|
// var raw = decrypt('test', encrypted);
|
|
// print(raw);
|
|
}, (error, stack) {
|
|
print(error);
|
|
print(stack);
|
|
exit(0);
|
|
});
|
|
}
|
|
|
|
void testParse() {
|
|
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++;
|
|
}
|
|
}
|
|
}
|