Skip to content

Commit 2db6a02

Browse files
Manav AggarwalManav Aggarwal
Manav Aggarwal
authored and
Manav Aggarwal
committed
- changing metadata key names, removing comments, replacing replace with trim
1 parent 606b300 commit 2db6a02

File tree

4 files changed

+21
-30
lines changed

4 files changed

+21
-30
lines changed

contentcuration/contentcuration/frontend/channelEdit/components/edit/EditListItems.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
@input="trackSelect"
99
@removed="handleRemoved"
1010
/>
11-
<div v-if="getChildren !== undefined">
11+
<div v-if="getChildren !== undefined && getChildren.length">
1212
<EditListItems
1313
v-for="childId in getChildren"
1414
:key="childId"

contentcuration/contentcuration/frontend/channelEdit/components/edit/EditModal.vue

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -515,12 +515,12 @@
515515
});
516516
} else if (file.metadata.folders) {
517517
this.createNode('topic', file.metadata).then(newNodeId => {
518-
file.metadata.folders.forEach(org => {
519-
this.createNode('topic', org, newNodeId).then(topicNodeId => {
520-
org.files.forEach(orgFile => {
518+
file.metadata.folders.forEach(folder => {
519+
this.createNode('topic', folder, newNodeId).then(topicNodeId => {
520+
folder.files.forEach(folderFile => {
521521
const extra_fields = {};
522-
extra_fields['options'] = { entry: orgFile.resourceHref };
523-
extra_fields['title'] = orgFile.title;
522+
extra_fields['options'] = { entry: folderFile.resourceHref };
523+
extra_fields['title'] = folderFile.title;
524524
let file_kind = null;
525525
FormatPresetsList.forEach(p => {
526526
if (p.id === file.metadata.preset) {
@@ -532,7 +532,6 @@
532532
return File.uploadUrl({
533533
checksum: file.checksum,
534534
size: file.file_size,
535-
type: 'application/zip',
536535
name: file.original_filename,
537536
file_format: file.file_format,
538537
preset: file.metadata.preset,
@@ -542,7 +541,7 @@
542541
loaded: 0,
543542
total: file.size,
544543
};
545-
if (index === 0) {
544+
if (!this.selected.length) {
546545
this.selected = [resourceNodeId];
547546
}
548547
this.updateFile({

contentcuration/contentcuration/frontend/shared/vuex/file/__tests__/module.spec.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,6 @@ describe('file store', () => {
247247
});
248248
});
249249
it('extractIMSMetadata should extract metadata from imsmanifest.xml', async () => {
250-
// const manifestFile = get_imsmanifest_file({ title: 'Test file' });
251250
const manifestContent = `
252251
<manifest xmlns:imsmd="http://www.imsglobal.org/xsd/imsmd_v1p2">
253252
<metadata>
@@ -317,7 +316,6 @@ describe('file store', () => {
317316

318317
const zip = new JSZip();
319318
zip.file('imsmanifest.xml', manifestContent);
320-
// zip.folder('ims_package.zip');
321319
await zip.generateAsync({ type: 'blob' }).then(async function(imsBlob) {
322320
await expect(extractIMSMetadata(imsBlob)).resolves.toEqual({
323321
title: 'Test File',
@@ -506,7 +504,7 @@ describe('file store', () => {
506504
<imsmd:lom>
507505
<imsmd:general>
508506
<imsmd:title>
509-
<imsmd:langstring xml:lang="en">Test File</imsmd:langstring>
507+
<imsmd:langstring xml:lang="und">\t\t\t\n\n\n\nTest File\n</imsmd:langstring>
510508
</imsmd:title>
511509
<imsmd:language>und</imsmd:language>
512510
</imsmd:general>

contentcuration/contentcuration/frontend/shared/vuex/file/utils.js

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ async function getFolderMetadata(data, xmlDoc, zip, procssedFiles) {
6262
};
6363
if (orgNode.nodeType === 1) {
6464
const title = orgNode.getElementsByTagName('title');
65-
org.title = title[0].textContent.replace(/ {2}|\r\n|\n|\r/gm, '');
65+
org.title = title[0].textContent.trim();
6666
const files = orgNode.getElementsByTagName('item');
6767
const immediateChildNodes = [];
6868
const childNodes = Object.values(orgNode.children);
@@ -74,7 +74,7 @@ async function getFolderMetadata(data, xmlDoc, zip, procssedFiles) {
7474
await Promise.all(
7575
immediateChildNodes.map(async (fileNode, k) => {
7676
const file = {};
77-
file.title = title[1 + k].textContent.replace(/ {2}|\r\n|\n|\r/gm, '');
77+
file.title = title[1 + k].textContent.trim();
7878
file.identifierref = fileNode.getAttribute('identifierref');
7979
file.resourceHref = xmlDoc
8080
.querySelectorAll(`[identifier=${file.identifierref}]`)[0]
@@ -149,41 +149,37 @@ async function getManifestMetadata(manifestFile, zip, procssedFiles) {
149149
if (xmlDoc.getElementsByTagName('lomes:title').length) {
150150
metadata.title = xmlDoc
151151
.getElementsByTagName('lomes:title')[0]
152-
.children[0].textContent.replace(/ {2}|\r\n|\n|\r/gm, '');
152+
.children[0].textContent.trim();
153153
}
154154
if (
155155
xmlDoc.getElementsByTagName('lomes:idiom').length &&
156-
xmlDoc
157-
.getElementsByTagName('lomes:idiom')[0]
158-
.textContent.replace(/ {2}|\r\n|\n|\r/gm, '') !== 'und'
156+
LanguagesMap.has(xmlDoc.getElementsByTagName('lomes:idiom')[0].textContent.trim()) &&
157+
xmlDoc.getElementsByTagName('lomes:idiom')[0].textContent.trim() !== 'und'
159158
) {
160159
metadata.language = xmlDoc
161160
.getElementsByTagName('lomes:idiom')[0]
162-
.children[0].textContent.replace(/ {2}|\r\n|\n|\r/gm, '');
161+
.children[0].textContent.trim();
163162
}
164163
if (xmlDoc.getElementsByTagName('lomes:description').length) {
165164
metadata.description = xmlDoc
166165
.getElementsByTagName('lomes:description')[0]
167-
.children[0].textContent.replace(/ {2}|\r\n|\n|\r/gm, '');
166+
.children[0].textContent.trim();
168167
}
169168
} else {
170169
if (xmlDoc.getElementsByTagName('imsmd:title').length) {
171-
metadata.title = xmlDoc
172-
.getElementsByTagName('imsmd:title')[0]
173-
.textContent.replace(/ {2}|\r\n|\n|\r/gm, '');
170+
metadata.title = xmlDoc.getElementsByTagName('imsmd:title')[0].textContent.trim();
174171
}
175172
if (
176173
xmlDoc.getElementsByTagName('imsmd:language').length &&
177-
xmlDoc.getElementsByTagName('imsmd:language')[0].textContent !== 'und'
174+
LanguagesMap.has(xmlDoc.getElementsByTagName('imsmd:language')[0].textContent.trim()) &&
175+
xmlDoc.getElementsByTagName('imsmd:language')[0].textContent.trim() !== 'und'
178176
) {
179-
metadata.language = xmlDoc
180-
.getElementsByTagName('imsmd:language')[0]
181-
.textContent.replace(/ {2}|\r\n|\n|\r/gm, '');
177+
metadata.language = xmlDoc.getElementsByTagName('imsmd:language')[0].textContent.trim();
182178
}
183179
if (xmlDoc.getElementsByTagName('imsmd:description').length) {
184180
metadata.description = xmlDoc
185181
.getElementsByTagName('imsmd:description')[0]
186-
.textContent.replace(/ {2}|\r\n|\n|\r/gm, '');
182+
.textContent.trim();
187183
}
188184
}
189185
return metadata;
@@ -204,9 +200,7 @@ export async function extractIMSMetadata(fileInput) {
204200
}
205201
})
206202
.then(async manifestFile => {
207-
return await getManifestMetadata(manifestFile, zip, procssedFiles).then(metadata => {
208-
return metadata;
209-
});
203+
return await getManifestMetadata(manifestFile, zip, procssedFiles)
210204
});
211205
}
212206

0 commit comments

Comments
 (0)