init commit
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
class Radical {
|
||||
final String radical;
|
||||
final String kanji;
|
||||
|
||||
// TODO:
|
||||
final String something;
|
||||
|
||||
const Radical({
|
||||
required this.radical,
|
||||
required this.kanji,
|
||||
required this.something,
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:sqflite_common/sqlite_api.dart';
|
||||
|
||||
Future<void> addDataFromRADKFILE(Database db) async {
|
||||
final String content = File('data/radkfile_utf8').readAsStringSync();
|
||||
final Iterable<String> blocks =
|
||||
content.replaceAll(RegExp(r'^#.*$'), '').split(r'$').skip(2);
|
||||
|
||||
print('[RADKFILE] Writing to database...');
|
||||
final b = db.batch();
|
||||
|
||||
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(
|
||||
'RADKFILE',
|
||||
{
|
||||
'radical': radical,
|
||||
'kanji': kanji,
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
b.commit();
|
||||
}
|
||||
Reference in New Issue
Block a user