40 lines
1.2 KiB
Dart
40 lines
1.2 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:jadb/table_names/radkfile.dart';
|
|
import 'package:sqflite_common/sqlite_api.dart';
|
|
|
|
Future<void> seedRADKFILEData(Iterable<String> blocks, Database db) async {
|
|
final b = db.batch();
|
|
|
|
if (Platform.environment['RADKFILE_VERSION'] != null &&
|
|
Platform.environment['RADKFILE_DATE'] != null &&
|
|
Platform.environment['RADKFILE_HASH'] != null) {
|
|
b.insert(RADKFILETableNames.version, {
|
|
'version': Platform.environment['RADKFILE_VERSION']!,
|
|
'date': Platform.environment['RADKFILE_DATE']!,
|
|
'hash': Platform.environment['RADKFILE_HASH']!,
|
|
});
|
|
} else {
|
|
print(
|
|
'WARNING: RADKFILE version information not found in environment variables. '
|
|
'This may cause issues with future updates.',
|
|
);
|
|
}
|
|
|
|
for (final block in blocks) {
|
|
final String radical = block[1];
|
|
final List<String> kanjiList =
|
|
block.replaceFirst(RegExp(r'.*\n'), '').split('')
|
|
..removeWhere((e) => e == '' || e == '\n');
|
|
|
|
for (final kanji in kanjiList.toSet()) {
|
|
b.insert(RADKFILETableNames.radkfile, {
|
|
'radical': radical,
|
|
'kanji': kanji,
|
|
});
|
|
}
|
|
}
|
|
|
|
await b.commit(noResult: true);
|
|
}
|