From 53f235146ecd57d182b2019ee2e13c68e52df641 Mon Sep 17 00:00:00 2001 From: krmanik <12841290+krmanik@users.noreply.github.com> Date: Sun, 3 Jul 2022 14:50:03 +0800 Subject: [PATCH] implementation for getting data for import csv --- .../main/java/com/ichi2/libanki/DecksV16.kt | 5 ++++ .../main/java/com/ichi2/libanki/ModelsV16.kt | 9 ++++++ .../libanki/importer/BackendCsvImportV16.kt | 29 +++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 AnkiDroid/src/main/java/com/ichi2/libanki/importer/BackendCsvImportV16.kt diff --git a/AnkiDroid/src/main/java/com/ichi2/libanki/DecksV16.kt b/AnkiDroid/src/main/java/com/ichi2/libanki/DecksV16.kt index 5034178b65a2..f7d5c7882cfe 100644 --- a/AnkiDroid/src/main/java/com/ichi2/libanki/DecksV16.kt +++ b/AnkiDroid/src/main/java/com/ichi2/libanki/DecksV16.kt @@ -873,3 +873,8 @@ class DecksV16(private val col: Collection, private val decksBackend: DecksBacke val Deck.name: str get() = this.getString("name") val Deck.conf: Long get() = this.getLong("conf") } + +// These take and return bytes that the frontend TypeScript code will encode/decode. +fun CollectionV16.getDeckNamesRaw(input: ByteArray): ByteArray { + return backend.getDeckNamesRaw(input) +} diff --git a/AnkiDroid/src/main/java/com/ichi2/libanki/ModelsV16.kt b/AnkiDroid/src/main/java/com/ichi2/libanki/ModelsV16.kt index c91f8b8b2518..19000f52d6ea 100644 --- a/AnkiDroid/src/main/java/com/ichi2/libanki/ModelsV16.kt +++ b/AnkiDroid/src/main/java/com/ichi2/libanki/ModelsV16.kt @@ -720,3 +720,12 @@ private fun Deck.getLongOrNull(key: String): int? { return null } } + +// These take and return bytes that the frontend TypeScript code will encode/decode. +fun CollectionV16.getNotetypeNamesRaw(input: ByteArray): ByteArray { + return backend.getNotetypeNamesRaw(input) +} + +fun CollectionV16.getFieldNamesRaw(input: ByteArray): ByteArray { + return backend.getFieldNamesRaw(input) +} diff --git a/AnkiDroid/src/main/java/com/ichi2/libanki/importer/BackendCsvImportV16.kt b/AnkiDroid/src/main/java/com/ichi2/libanki/importer/BackendCsvImportV16.kt new file mode 100644 index 000000000000..8ea2cb093217 --- /dev/null +++ b/AnkiDroid/src/main/java/com/ichi2/libanki/importer/BackendCsvImportV16.kt @@ -0,0 +1,29 @@ +/*************************************************************************************** + * Copyright (c) 2022 Ankitects Pty Ltd * + * * + * This program is free software; you can redistribute it and/or modify it under * + * the terms of the GNU General Public License as published by the Free Software * + * Foundation; either version 3 of the License, or (at your option) any later * + * version. * + * * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY * + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * + * PARTICULAR PURPOSE. See the GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License along with * + * this program. If not, see . * + ****************************************************************************************/ + +package com.ichi2.libanki.importer + +import com.ichi2.libanki.CollectionV16 + +// These take and return bytes that the frontend TypeScript code will encode/decode. + +fun CollectionV16.getCsvMetadataRaw(input: ByteArray): ByteArray { + return backend.getCsvMetadataRaw(input) +} + +fun CollectionV16.importCsvRaw(input: ByteArray): ByteArray { + return backend.importCsvRaw(input) +}