On Tuesday, January 29, 2013 7:12:45 PM UTC+1, Norman Khine wrote:
>
>
>
> On Tuesday, January 29, 2013 7:00:53 PM UTC+1, José F. Romaniello wrote:
>>
>> You can use 
>> fs.existsSync<http://nodejs.org/api/fs.html#fs_fs_existssync_path>but I have 
>> read in this list several times it is discouraged, what happen 
>> if the file is deleted from disk *after* you ask if it exists and *before
>> * you require it.
>>
>
> yes i changed to fs.existsSync
>
>>  You will be better with a try/catch.
>>
>
> ok i understand, but how do i deal with the app.set('chapters', 
> require(__dirname + '/data/chapters.json')); if the file is not there in 
> the express route?
>

ok i got it

app.set('translation', require(__dirname + 
'/public/locales/dev/translation.json'));
try {
  app.set('chapters', require(__dirname + '/data/chapters.json'));
} catch(err) {
  dumpError(err);
} 

something like this? 

>
>>
>> 2013/1/29 Norman Khine <[email protected]>
>>
>>> i have this code:
>>>
>>> var blade = require('blade')
>>>     ,express = require('express')
>>>     ,http = require('http')
>>>     ,https = require('https')
>>>     ,fs = require('fs'),json;
>>>
>>> var GOOGLE_API_KEY = process.env.GOOGLE_API_KEY;
>>>
>>> var TABLE_ID = "1epTUiUlv5NQK5x4sgdy1K47ACDTpHH60hbng1qw";
>>> //var TABLE_ID ="1obpi0bmSDILX1cIQcVRNi1lUkm2K5xBFztmRFiM"
>>>
>>> var GOOGLE_PATH = 
>>> "/fusiontables/v1/query?sql=SELECT%20*%20FROM%20"+TABLE_ID+"&key="+GOOGLE_API_KEY;
>>> var GOOGLE_DRIVE_PATH = 
>>> "/drive/v2/files/"+TABLE_ID+"?key="+GOOGLE_API_KEY;
>>>
>>> var options = {
>>>     hostname: 'www.googleapis.com'
>>>     ,port: 443
>>>     ,method: 'GET'
>>> };
>>>
>>> function TZMNetwork(fileId) {
>>>     if (fs.existsSync("data/chapters.json")) {
>>>         // ... put code if "data/chapters.json" has changed!
>>>         console.log('OK');
>>>     } else {
>>>         options["path"] = GOOGLE_PATH;
>>>         
>>>         var file = fs.createWriteStream("data/chapters.json");
>>>         var req = https.request(options, function(res) {
>>>           res.on('data', function(data) {
>>>               file.write(data);
>>>           }).on('end', function() {
>>>               file.end();
>>>               console.log("chapters.json created");
>>>           });
>>>         });
>>>         req.end();
>>>         
>>>         req.on('error', function(e) {
>>>           console.error(e);
>>>         });
>>>     }
>>> }
>>>
>>> var app = express();
>>> app.use(blade.middleware(__dirname + '/views') ); //for client-side 
>>> templates
>>> app.use(express.favicon(__dirname + '/public/images/favicon.ico'));
>>> app.use(express.static(__dirname + '/public') ); //maybe we have some 
>>> static files
>>> app.set('views', __dirname + '/views'); //tells Express where our views 
>>> are stored
>>> app.set('translation', require(__dirname + 
>>> '/public/locales/dev/translation.json'));
>>> app.set('chapters', require(__dirname + '/data/chapters.json'));
>>> app.set('view engine', 'blade'); //Yes! Blade works with Express out of 
>>> the box!
>>> app.get('/', function(req, res, next) {
>>>     TZMNetwork(TABLE_ID);
>>>     res.render('index');
>>> });
>>> app.listen(29080);
>>> console.log('Server running at http://127.0.0.1:29080/');
>>>
>>>
>>> How would you ensure that if /data/chapters.json does not exists, for 
>>> example when the app is run for the first time, the app.set('chapters', 
>>> require(__dirname + '/data/chapters.json')); is by-passed?
>>>
>>> Is there a better way to do this?
>>>
>>> -- 
>>> -- 
>>> Job Board: http://jobs.nodejs.org/
>>> Posting guidelines: 
>>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>>> You received this message because you are subscribed to the Google
>>> Groups "nodejs" group.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>>  
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "nodejs" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>  
>>>  
>>>
>>
>>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to