Skip to content

Commit 8432fbe

Browse files
authored
Merge pull request #23 from EliDeh/dev
merged dev-branch v1.0.5a
2 parents 7b91e5e + 8d9fb43 commit 8432fbe

9 files changed

Lines changed: 133 additions & 26 deletions

File tree

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
class dataExtractK10plus {
2+
// returns the first 4 chars
3+
firstFour (str) {
4+
return str.substring(0, 4)
5+
}
6+
7+
// extracts the PPN
8+
ppn (str) {
9+
// regex defines 2 groups
10+
let regex = /^(\d{4}\s\s*)(.*)(\s*)$/
11+
12+
// returns the second regex group
13+
return str.replace(regex, '$2')
14+
}
15+
16+
// extracts the exNr
17+
exNr (str) {
18+
// the string is something like E001, so we only need char 1-3
19+
return str.substring(1, 4)
20+
}
21+
22+
// extracts the signature text
23+
txt (str) {
24+
// group $1 - everything till $a ($a included)
25+
// group $2 - everything till $ ($excluded), that's what we are after, the shelfmarktxt
26+
// group $3 - everything else
27+
let regex = /^(\d{4}\s.*\$a)(.[^$]*)(.*)$/
28+
str = str.replace(regex, '$2')
29+
// removes leading and following whitespaces
30+
str = str.trim()
31+
32+
return str
33+
}
34+
35+
// extracts the date
36+
date (str) {
37+
// regex defines 3 groups
38+
let regex = /^(\d{4}\s\s*)(\d{2}-\d{2}-\d{2})(.*)$/
39+
40+
// returns the second regex group
41+
return str.replace(regex, '$2')
42+
}
43+
}
44+
45+
module.exports = dataExtractK10plus
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
// requires remote from electron to retrieve global var
2+
const { remote } = require('electron')
3+
const config = remote.getGlobal('config')
4+
// requires the dataExtractK10plus-module
5+
const DataExtractK10plus = require('./dataExtractK10plus.js')
6+
// requires the shelfmark class
7+
const Shelfmark = require('../shelfmark.js')
8+
const getLabelSize = require('../getLabelSize.js')
9+
const createMultipleLines = require('../createMultipleLines.js')
10+
11+
module.exports = function (allLines) {
12+
let obj = {
13+
all: []
14+
}
15+
let sig = new Shelfmark()
16+
let extract = new DataExtractK10plus()
17+
let ppnAktuell = ''
18+
let plainTxt = ''
19+
20+
allLines.map((line) => {
21+
let first4 = extract.firstFour(line)
22+
if (first4 === '0100') {
23+
sig.ppn = ppnAktuell = extract.ppn(line)
24+
} else if (first4.substring(0, 1) === 'E' && first4.substring(1, 4) >= 1 && first4.substring(1, 4) <= 999) {
25+
sig.exNr = extract.exNr(line)
26+
} else if (first4 === '7100') {
27+
plainTxt = extract.txt(line)
28+
let big = getLabelSize(plainTxt)
29+
if (big === false) {
30+
sig.bigLabel = false
31+
}
32+
let txt = plainTxt.split(config.get('newLineAfter'))
33+
sig.txtLength = txt.length
34+
if (config.get('mode.useMode') && config.get('mode.defaultMode') === 'thulbMode') {
35+
if (txt.length === 6) {
36+
sig.txt = txt
37+
sig.txtOneLine = plainTxt
38+
} else {
39+
sig.txt = [plainTxt]
40+
sig.txtOneLine = plainTxt
41+
}
42+
} else {
43+
sig.txt = txt
44+
sig.txtOneLine = plainTxt
45+
}
46+
} else if (first4 === '7903') {
47+
sig.date = extract.date(line)
48+
}
49+
if (sig.allSet()) {
50+
if (config.get('mode.useMode') && config.get('mode.defaultMode') === 'thulbMode') {
51+
if (sig.txtLength < 3) {
52+
sig.txt = createMultipleLines(plainTxt)
53+
sig.txtLength = sig.txt.length
54+
}
55+
}
56+
obj.all.push(sig.shelfmark)
57+
sig = new Shelfmark()
58+
sig.ppn = ppnAktuell
59+
}
60+
})
61+
return obj
62+
}

signaturenDruck/js/classes/JsonFile.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
const fs = require('fs')
22
const _ = require('lodash')
3-
const loadDataFromFile = require('../loadDataFromFile')
3+
const { remote } = require('electron')
4+
const config = remote.getGlobal('config')
5+
let loadDataFromFile
6+
7+
if (config.get('useK10plus')) {
8+
loadDataFromFile = require('../K10plus/loadDataFromFileK10plus')
9+
} else {
10+
loadDataFromFile = require('../preK10plus/loadDataFromFileOld')
11+
}
412

513
class JsonFile {
614
/*

signaturenDruck/js/editorRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ function saveConfig () {
215215

216216
function writeToFiles () {
217217
let objct = setObjct()
218-
fs.writeFileSync(defaultProgramPath + ' \\FormateCSS\\' + document.getElementById('input_fileName').value + '.css', createCSS(objct), 'utf8')
218+
fs.writeFileSync(defaultProgramPath + '\\FormateCSS\\' + document.getElementById('input_fileName').value + '.css', createCSS(objct), 'utf8')
219219
fs.writeFileSync(defaultProgramPath + '\\Formate\\' + document.getElementById('input_fileName').value + '.json', JSON.stringify(objct), 'utf8')
220220
ipcRenderer.send('newConfig')
221221
}

signaturenDruck/js/dataExtract.js renamed to signaturenDruck/js/preK10plus/dataExtractOld.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
class dataExtract {
1+
class dataExtractOld {
22
// returns the first 4 chars
33
firstFour (str) {
44
return str.substring(0, 4)
@@ -75,4 +75,4 @@ class dataExtract {
7575
}
7676
}
7777

78-
module.exports = dataExtract
78+
module.exports = dataExtractOld

signaturenDruck/js/loadDataFromFile.js renamed to signaturenDruck/js/preK10plus/loadDataFromFileOld.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
// requires remote from electron to retrieve global var
22
const { remote } = require('electron')
33
const config = remote.getGlobal('config')
4-
// requires the dataExtract-module
5-
const DataExtract = require('./dataExtract.js')
4+
// requires the dataExtractOld-module
5+
const DataExtractOld = require('./dataExtractOld.js')
66
// requires the shelfmark class
7-
const Shelfmark = require('./shelfmark.js')
8-
const getLabelSize = require('./getLabelSize.js')
9-
const createMultipleLines = require('./createMultipleLines.js')
7+
const Shelfmark = require('../shelfmark.js')
8+
const getLabelSize = require('../getLabelSize.js')
9+
const createMultipleLines = require('../createMultipleLines.js')
1010

1111
module.exports = function (allLines) {
1212
let obj = {
1313
all: []
1414
}
1515
let sig = new Shelfmark()
16-
let extract = new DataExtract()
16+
let extract = new DataExtractOld()
1717
let ppnAktuell = ''
1818
let plainTxt = ''
1919

signaturenDruck/js/printRenderer.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,13 @@ function createPage (formatInformation, printInformation) {
3737
data.removeIndent !== undefined ? div.className = 'innerBox noIndent' : div.className = 'innerBox'
3838
div.id = data.id + '_' + i
3939
if (formatInformation.lines > 1) {
40-
_.each(data.data.txt, (line, i) => {
40+
let lines = data.data.txt
41+
for (let j = 0; j < formatInformation.lines && j < lines.length; j++) {
4142
let p = document.createElement('p')
4243
p.className = 'line_' + (parseInt(i) + 1)
43-
line === '' ? p.appendChild(emptyLine) : p.innerHTML = line
44+
lines[j] === '' ? p.appendChild(emptyLine) : p.innerHTML = lines[j]
4445
div.appendChild(p)
45-
})
46+
}
4647
} else {
4748
let p = document.createElement('p')
4849
p.className = 'line_1'

signaturenDruck/main.js

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,14 @@ const configNew = {
2828
defaultFormat: 'thulb_gross',
2929
sortByPPN: false,
3030
newLineAfter: ':',
31+
useK10plus: false,
3132
modal: {
3233
showModal: true,
3334
modalTxt: 'Die ausgewählten Signaturen wurden gedruckt.'
3435
},
35-
file: {
36-
signatureCategory: '7100',
37-
subfieldLocation: '$f',
38-
subfieldSignature: '$a',
39-
subfieldLoanIndication: '$d'
40-
},
4136
SRU: {
4237
useSRU: false,
43-
SRUAddress: 'http://sru.gbv.de/opac-de-27',
44-
signatureCategory: '209A',
45-
subfieldLocation: 'f',
46-
subfieldSignature: 'a',
47-
subfieldLoanIndication: 'd'
38+
SRUAddress: 'http://sru.gbv.de/opac-de-27'
4839
},
4940
print: {
5041
printImmediately: false
@@ -55,7 +46,7 @@ const configNew = {
5546
showLocation: false,
5647
showLoanIndication: false
5748
},
58-
'devMode': false
49+
devMode: false
5950
}
6051

6152
// name of signature storage json

signaturenDruck/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "SignaturenDruck_neu",
3-
"version": "1.0.5",
3+
"version": "1.0.5a",
44
"description": "SignaturenDruck der ThULB",
55
"main": "main.js",
66
"scripts": {

0 commit comments

Comments
 (0)