Commit 725cb3f7d1204ff291c275a0719e631dc3410c57

Authored by Geoffrey PREUD'HOMME
1 parent 2ac0e575

Vérification de la présence de passwd

En fait l'un ou l'autre line-reader se comporte de la même manière,
c'est à dire lance une exception qui semble irrécupérable si le
fichier n'est pas trouvé ou autre.
Esperons qu'il fs.exists suffise.
Showing 1 changed file with 22 additions and 18 deletions   Show diff stats
app/controllers/noms.js
... ... @@ -15,26 +15,30 @@ noms.get = function (login, cb) {
15 15 if (nom.length >= 1) {
16 16 cb(nom.nom)
17 17 } else {
18   - found = false
19   - stream = fs.createReadStream('config/passwd')
20   - transform = new LineTransform()
21   - stream.pipe(transform)
22   - transform.on('data', function (line) {
23   - ex = line.split(':')
24   - if (ex[0] == login) { // Si trouvé
25   - found = true
26   - cb(ex[4])
  18 + passwdF = 'config/passwd'
  19 + fs.exists(passwdF, function (exists) {
  20 + found = false
  21 + if (exists) {
  22 + stream = fs.createReadStream(passwdF)
  23 + transform = new LineTransform()
  24 + stream.pipe(transform)
  25 + transform.on('data', function (line) {
  26 + ex = line.split(':')
  27 + if (ex[0] == login) { // Si trouvé
  28 + found = true
  29 + cb(ex[4])
  30 + }
  31 + })
  32 + transform.on('end', function () {
  33 + if (!found) {
  34 + cb(false)
  35 + }
  36 + })
  37 + } else {
  38 + console.error("Impossible de trouver le fichier passwd")
  39 + cb(login.toUpperCase())
27 40 }
28 41 })
29   - transform.on('end', function () {
30   - if (!found) {
31   - cb(false)
32   - }
33   - })
34   - transform.on('error', function (e) {
35   - console.error("Error while fetching name", e)
36   - cb(login.toUpperCase())
37   - })
38 42 }
39 43 }
40 44 })
... ...