thanks, that is perfect! 
yes, i wanted to populate an 
array https://github.com/TZM/tzm-blade/blob/master/server.js to be used 
in https://github.com/TZM/tzm-blade/blob/master/views/footer.blade#L20



On Tuesday, January 29, 2013 7:35:02 PM UTC+1, José F. Romaniello wrote:
>
> I am not sure what you are trying to do, but I suppose this chapters.json 
> has an array of chapters.. and probabilly you are using this in one of your 
> routes and if the file doesn't exist it probabily means for you an empty 
> array.. So I am assuming a lot of things you haven't explained here, then 
> this might work for you:
>
> try { 
>   app.set('chapters', require(__dirname + '/data/chapters.json'));
> } catch(e) {
>    console.log('there is no /data/chapters.json');
>    app.set('chapters', []);
> } 
>
>
>
>
>
>
> 2013/1/29 Norman Khine <[email protected] <javascript:>>
>
>>
>>
>> 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 = "**1epTUiUlv5NQK5x4sgdy1K47ACDTpH**H60hbng1qw";
>>>>> //var TABLE_ID ="**1obpi0bmSDILX1cIQcVRNi1lUkm2K5**xBFztmRFiM"
>>>>>
>>>>> 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<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<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<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]<javascript:>
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>
>> 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] <javascript:>.
>> 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