Add datasource versions to database
All checks were successful
Build and test / build (push) Successful in 7m56s
All checks were successful
Build and test / build (push) Successful in 7m56s
This commit is contained in:
8
flake.lock
generated
8
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1775550160,
|
||||
"narHash": "sha256-bgvKrMGUPaDY4EZv+82z1ccYoxwaergdVw/3PZhc2Fc=",
|
||||
"lastModified": 1776081209,
|
||||
"narHash": "sha256-zR1115tcOPnYLk6NznSf7YslyaJLc/MGayEHShitx18=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "f46229af3678124c5ea7c8dff3292747d0274f69",
|
||||
"revCount": 8,
|
||||
"rev": "7fe3552bb16e1d315c0b27b243e5eb53cd9e86fc",
|
||||
"revCount": 13,
|
||||
"type": "git",
|
||||
"url": "https://git.pvv.ntnu.no/Mugiten/datasources.git"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import 'dart:collection';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:jadb/_data_ingestion/jmdict/objects.dart';
|
||||
@@ -84,6 +85,21 @@ Future<void> seedJMDictData(List<Entry> entries, Database db) async {
|
||||
print(' [JMdict] Batch 1 - Kanji and readings');
|
||||
Batch b = db.batch();
|
||||
|
||||
if (Platform.environment['JMDICT_VERSION'] != null &&
|
||||
Platform.environment['JMDICT_DATE'] != null &&
|
||||
Platform.environment['JMDICT_HASH'] != null) {
|
||||
b.insert(JMdictTableNames.version, {
|
||||
'version': Platform.environment['JMDICT_VERSION']!,
|
||||
'date': Platform.environment['JMDICT_DATE']!,
|
||||
'hash': Platform.environment['JMDICT_HASH']!,
|
||||
});
|
||||
} else {
|
||||
print(
|
||||
'WARNING: JMDICT version information not found in environment variables. '
|
||||
'This may cause issues with future updates.',
|
||||
);
|
||||
}
|
||||
|
||||
for (final e in entries) {
|
||||
b.insert(JMdictTableNames.entry, e.sqlValue);
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:jadb/table_names/kanjidic.dart';
|
||||
import 'package:sqflite_common/sqlite_api.dart';
|
||||
|
||||
@@ -5,6 +7,22 @@ import 'objects.dart';
|
||||
|
||||
Future<void> seedKANJIDICData(List<Character> characters, Database db) async {
|
||||
final b = db.batch();
|
||||
|
||||
if (Platform.environment['KANJIDIC_VERSION'] != null &&
|
||||
Platform.environment['KANJIDIC_DATE'] != null &&
|
||||
Platform.environment['KANJIDIC_HASH'] != null) {
|
||||
b.insert(KANJIDICTableNames.version, {
|
||||
'version': Platform.environment['KANJIDIC_VERSION']!,
|
||||
'date': Platform.environment['KANJIDIC_DATE']!,
|
||||
'hash': Platform.environment['KANJIDIC_HASH']!,
|
||||
});
|
||||
} else {
|
||||
print(
|
||||
'WARNING: KANJIDIC version information not found in environment variables. '
|
||||
'This may cause issues with future updates.',
|
||||
);
|
||||
}
|
||||
|
||||
for (final c in characters) {
|
||||
// if (c.dictionaryReferences.any((e) =>
|
||||
// c.dictionaryReferences
|
||||
@@ -30,10 +48,7 @@ Future<void> seedKANJIDICData(List<Character> characters, Database db) async {
|
||||
}
|
||||
|
||||
if (c.jlpt != null) {
|
||||
b.insert(KANJIDICTableNames.jlpt, {
|
||||
'kanji': c.literal,
|
||||
'jlpt': c.jlpt!,
|
||||
});
|
||||
b.insert(KANJIDICTableNames.jlpt, {'kanji': c.literal, 'jlpt': c.jlpt!});
|
||||
}
|
||||
|
||||
for (final n in c.radicalName) {
|
||||
|
||||
@@ -1,9 +1,26 @@
|
||||
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 =
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:jadb/table_names/tanos_jlpt.dart';
|
||||
import 'package:sqflite_common/sqlite_api.dart';
|
||||
|
||||
@@ -7,6 +9,21 @@ Future<void> seedTanosJLPTData(
|
||||
) async {
|
||||
final Batch b = db.batch();
|
||||
|
||||
if (Platform.environment['TANOS_JLPT_VERSION'] != null &&
|
||||
Platform.environment['TANOS_JLPT_DATE'] != null &&
|
||||
Platform.environment['TANOS_JLPT_HASH'] != null) {
|
||||
b.insert(TanosJLPTTableNames.version, {
|
||||
'version': Platform.environment['TANOS_JLPT_VERSION']!,
|
||||
'date': Platform.environment['TANOS_JLPT_DATE']!,
|
||||
'hash': Platform.environment['TANOS_JLPT_HASH']!,
|
||||
});
|
||||
} else {
|
||||
print(
|
||||
'WARNING: Tanos JLPT version information not found in environment variables. '
|
||||
'This may cause issues with future updates.',
|
||||
);
|
||||
}
|
||||
|
||||
for (final jlptLevel in resolvedEntries.entries) {
|
||||
final level = jlptLevel.key;
|
||||
final entryIds = jlptLevel.value;
|
||||
|
||||
@@ -19,13 +19,31 @@ stdenvNoCC.mkDerivation {
|
||||
sqlite
|
||||
];
|
||||
|
||||
env = {
|
||||
JMDICT_VERSION = jmdict.version;
|
||||
JMDICT_DATE = jmdict.date;
|
||||
JMDICT_HASH = jmdict.hash;
|
||||
|
||||
KANJIDIC_VERSION = kanjidic2.version;
|
||||
KANJIDIC_DATE = kanjidic2.date;
|
||||
KANJIDIC_HASH = kanjidic2.hash;
|
||||
|
||||
RADKFILE_VERSION = radkfile.version;
|
||||
RADKFILE_DATE = radkfile.date;
|
||||
RADKFILE_HASH = radkfile.hash;
|
||||
|
||||
TANOS_JLPT_VERSION = tanos-jlpt.version;
|
||||
TANOS_JLPT_DATE = tanos-jlpt.date;
|
||||
TANOS_JLPT_HASH = tanos-jlpt.hash;
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
mkdir -p data
|
||||
ln -s '${jmdict}'/* data/
|
||||
ln -s '${radkfile}'/* data/
|
||||
ln -s '${kanjidic2}'/* data/
|
||||
ln -s '${radkfile}'/* data/
|
||||
ln -s '${tanos-jlpt}' data/tanos-jlpt
|
||||
|
||||
for migration in migrations/*.sql; do
|
||||
|
||||
Reference in New Issue
Block a user