@@ -95,24 +95,28 @@ module.exports = function(RED) {
95
95
this . filename = n . filename || "" ;
96
96
this . dropboxConfig = RED . nodes . getNode ( n . dropbox ) ;
97
97
var credentials = this . dropboxConfig ? this . dropboxConfig . credentials : { } ;
98
+ if ( ! credentials . appkey || ! credentials . appsecret ||
99
+ ! credentials . accesstoken ) {
100
+ this . warn ( "Missing dropbox credentials" ) ;
101
+ return ;
102
+ }
103
+
98
104
var node = this ;
99
- if ( credentials . appkey && credentials . appsecret &&
100
- credentials . accesstoken ) {
101
- var dropbox = new Dropbox . Client ( {
102
- //uid: credentials.uid,
103
- key : credentials . appkey ,
104
- secret : credentials . appsecret ,
105
- token : credentials . accesstoken ,
106
- } ) ;
107
- node . on ( "input" , function ( msg ) {
108
- var filename = this . filename || msg . filename ;
109
- if ( filename === "" ) {
110
- node . warn ( "No filename specified" ) ;
111
- return ;
112
- }
113
- msg . filename = filename ;
114
- node . status ( { fill :"blue" , shape :"dot" , text :"downloading" } ) ;
115
- dropbox . readFile ( filename , function ( err , data ) {
105
+ var dropbox = new Dropbox . Client ( {
106
+ //uid: credentials.uid,
107
+ key : credentials . appkey ,
108
+ secret : credentials . appsecret ,
109
+ token : credentials . accesstoken ,
110
+ } ) ;
111
+ node . on ( "input" , function ( msg ) {
112
+ var filename = this . filename || msg . filename ;
113
+ if ( filename === "" ) {
114
+ node . warn ( "No filename specified" ) ;
115
+ return ;
116
+ }
117
+ msg . filename = filename ;
118
+ node . status ( { fill :"blue" , shape :"dot" , text :"downloading" } ) ;
119
+ dropbox . readFile ( filename , function ( err , data ) {
116
120
if ( err ) {
117
121
node . warn ( "download failed " + err . toString ( ) ) ;
118
122
delete msg . payload ;
@@ -121,13 +125,10 @@ module.exports = function(RED) {
121
125
msg . payload = data ;
122
126
delete msg . error ;
123
127
}
124
- node . status ( { } ) ;
125
- node . send ( msg ) ;
126
- } ) ;
128
+ node . status ( { } ) ;
129
+ node . send ( msg ) ;
127
130
} ) ;
128
- } else {
129
- node . warn ( "Missing dropbox credentials" ) ;
130
- }
131
+ } ) ;
131
132
}
132
133
RED . nodes . registerType ( "dropbox" , DropboxQueryNode ) ;
133
134
@@ -137,52 +138,43 @@ module.exports = function(RED) {
137
138
this . localFilename = n . localFilename || "" ;
138
139
this . dropboxConfig = RED . nodes . getNode ( n . dropbox ) ;
139
140
var credentials = this . dropboxConfig ? this . dropboxConfig . credentials : { } ;
141
+ if ( ! credentials . appkey || ! credentials . appsecret ||
142
+ ! credentials . accesstoken ) {
143
+ this . warn ( "Missing dropbox credentials" ) ;
144
+ return ;
145
+ }
140
146
var node = this ;
141
- if ( credentials . appkey && credentials . appsecret &&
142
- credentials . accesstoken ) {
143
- var dropbox = new Dropbox . Client ( {
144
- //uid: credentials.uid,
145
- key : credentials . appkey ,
146
- secret : credentials . appsecret ,
147
- token : credentials . accesstoken ,
148
- } ) ;
149
- node . status ( { fill :"blue" , shape :"dot" , text :"checking credentials" } ) ;
150
- dropbox . getAccountInfo ( function ( err ) {
151
- if ( err ) {
152
- node . error ( "Error verifying credentials: " + err ) ;
153
- node . status ( { fill :"red" , shape :"ring" , text :"access denied" } ) ;
147
+ var dropbox = new Dropbox . Client ( {
148
+ //uid: credentials.uid,
149
+ key : credentials . appkey ,
150
+ secret : credentials . appsecret ,
151
+ token : credentials . accesstoken ,
152
+ } ) ;
153
+ node . status ( { fill :"blue" , shape :"dot" , text :"checking credentials" } ) ;
154
+ dropbox . getAccountInfo ( function ( err ) {
155
+ if ( err ) {
156
+ node . error ( "Error verifying credentials: " + err ) ;
157
+ node . status ( { fill :"red" , shape :"ring" , text :"access denied" } ) ;
158
+ return ;
159
+ }
160
+ node . status ( { } ) ;
161
+ node . on ( "input" , function ( msg ) {
162
+ var filename = this . filename || msg . filename ;
163
+ if ( filename === "" ) {
164
+ node . warn ( "No filename specified" ) ;
154
165
return ;
155
166
}
156
- node . status ( { } ) ;
157
- node . on ( "input" , function ( msg ) {
158
- var filename = this . filename || msg . filename ;
159
- if ( filename === "" ) {
160
- node . warn ( "No filename specified" ) ;
161
- return ;
162
- }
163
- var localFilename = this . localFilename || msg . localFilename ;
164
- if ( localFilename ) {
165
- // TODO: use chunked upload for files larger than 150M
166
- node . status ( { fill :"blue" , shape :"dot" , text :"uploading" } ) ;
167
- fs . readFile ( localFilename , function read ( err , data ) {
168
- if ( err ) {
169
- node . error ( err . toString ( ) ) ;
170
- node . status ( { fill :"red" , shape :"ring" , text :"failed" } ) ;
171
- return ;
172
- }
167
+ var localFilename = this . localFilename || msg . localFilename ;
168
+ if ( localFilename ) {
169
+ // TODO: use chunked upload for files larger than 150M
170
+ node . status ( { fill :"blue" , shape :"dot" , text :"uploading" } ) ;
171
+ fs . readFile ( localFilename , function read ( err , data ) {
172
+ if ( err ) {
173
+ node . error ( err . toString ( ) ) ;
174
+ node . status ( { fill :"red" , shape :"ring" , text :"failed" } ) ;
175
+ return ;
176
+ }
173
177
174
- dropbox . writeFile ( filename , data , function ( err ) {
175
- if ( err ) {
176
- node . error ( err . toString ( ) ) ;
177
- node . status ( { fill :"red" , shape :"ring" , text :"failed" } ) ;
178
- return ;
179
- }
180
- node . status ( { } ) ;
181
- } ) ;
182
- } ) ;
183
- } else if ( typeof msg . payload !== "undefined" ) {
184
- var data = RED . util . ensureBuffer ( msg . payload ) ;
185
- node . status ( { fill :"blue" , shape :"dot" , text :"uploading" } ) ;
186
178
dropbox . writeFile ( filename , data , function ( err ) {
187
179
if ( err ) {
188
180
node . error ( err . toString ( ) ) ;
@@ -191,12 +183,21 @@ module.exports = function(RED) {
191
183
}
192
184
node . status ( { } ) ;
193
185
} ) ;
194
- }
195
- } ) ;
186
+ } ) ;
187
+ } else if ( typeof msg . payload !== "undefined" ) {
188
+ var data = RED . util . ensureBuffer ( msg . payload ) ;
189
+ node . status ( { fill :"blue" , shape :"dot" , text :"uploading" } ) ;
190
+ dropbox . writeFile ( filename , data , function ( err ) {
191
+ if ( err ) {
192
+ node . error ( err . toString ( ) ) ;
193
+ node . status ( { fill :"red" , shape :"ring" , text :"failed" } ) ;
194
+ return ;
195
+ }
196
+ node . status ( { } ) ;
197
+ } ) ;
198
+ }
196
199
} ) ;
197
- } else {
198
- node . warn ( "Missing dropbox credentials" ) ;
199
- }
200
+ } ) ;
200
201
}
201
202
RED . nodes . registerType ( "dropbox out" , DropboxOutNode ) ;
202
203
} ;
0 commit comments