You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-07-06 23:56:13 +02:00
Desktop: Add support for OCR (#8975)
This commit is contained in:
@ -49,7 +49,7 @@ import ResourceFetcher from '../services/ResourceFetcher';
|
||||
const WebDavApi = require('../WebDavApi');
|
||||
const DropboxApi = require('../DropboxApi');
|
||||
import JoplinServerApi from '../JoplinServerApi';
|
||||
import { FolderEntity } from '../services/database/types';
|
||||
import { FolderEntity, ResourceEntity } from '../services/database/types';
|
||||
import { credentialFile, readCredentialFile } from '../utils/credentialFiles';
|
||||
import SyncTargetJoplinCloud from '../SyncTargetJoplinCloud';
|
||||
import KeychainService from '../services/keychain/KeychainService';
|
||||
@ -102,6 +102,7 @@ const oldTestDir = `${__dirname}/../../app-cli/tests`;
|
||||
const logDir = `${oldTestDir}/logs`;
|
||||
const baseTempDir = `${oldTestDir}/tmp/${suiteName_}`;
|
||||
const supportDir = `${oldTestDir}/support`;
|
||||
export const ocrSampleDir = `${oldTestDir}/ocr_samples`;
|
||||
|
||||
// We add a space in the data directory path as that will help uncover
|
||||
// various space-in-path issues.
|
||||
@ -422,6 +423,23 @@ function pluginDir(id: number = null) {
|
||||
return `${dataDir}/plugins-${id}`;
|
||||
}
|
||||
|
||||
export interface CreateNoteAndResourceOptions {
|
||||
path?: string;
|
||||
}
|
||||
|
||||
const createNoteAndResource = async (options: CreateNoteAndResourceOptions = null) => {
|
||||
options = {
|
||||
path: `${supportDir}/photo.jpg`,
|
||||
...options,
|
||||
};
|
||||
|
||||
let note = await Note.save({});
|
||||
note = await shim.attachFileToNote(note, options.path);
|
||||
const resourceIds = await Note.linkedItemIds(note.body);
|
||||
const resource: ResourceEntity = await Resource.load(resourceIds[0]);
|
||||
return { note, resource };
|
||||
};
|
||||
|
||||
async function setupDatabaseAndSynchronizer(id: number, options: any = null) {
|
||||
if (id === null) id = currentClient_;
|
||||
|
||||
@ -1009,4 +1027,4 @@ const simulateReadOnlyShareEnv = (shareId: string) => {
|
||||
};
|
||||
};
|
||||
|
||||
export { supportDir, createTempFile, createTestShareData, simulateReadOnlyShareEnv, waitForFolderCount, afterAllCleanUp, exportDir, synchronizerStart, afterEachCleanUp, syncTargetName, setSyncTargetName, syncDir, createTempDir, isNetworkSyncTarget, kvStore, expectThrow, logger, expectNotThrow, resourceService, resourceFetcher, tempFilePath, allSyncTargetItemsEncrypted, msleep, setupDatabase, revisionService, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync, checkThrow, encryptionService, loadEncryptionMasterKey, fileContentEqual, decryptionWorker, currentClientId, id, ids, sortedIds, at, createNTestNotes, createNTestFolders, createNTestTags, TestApp };
|
||||
export { supportDir, createNoteAndResource, createTempFile, createTestShareData, simulateReadOnlyShareEnv, waitForFolderCount, afterAllCleanUp, exportDir, synchronizerStart, afterEachCleanUp, syncTargetName, setSyncTargetName, syncDir, createTempDir, isNetworkSyncTarget, kvStore, expectThrow, logger, expectNotThrow, resourceService, resourceFetcher, tempFilePath, allSyncTargetItemsEncrypted, msleep, setupDatabase, revisionService, setupDatabaseAndSynchronizer, db, synchronizer, fileApi, sleep, clearDatabase, switchClient, syncTargetId, objectsEqual, checkThrowAsync, checkThrow, encryptionService, loadEncryptionMasterKey, fileContentEqual, decryptionWorker, currentClientId, id, ids, sortedIds, at, createNTestNotes, createNTestFolders, createNTestTags, TestApp };
|
||||
|
Reference in New Issue
Block a user