@@ -46,7 +46,7 @@ mongoose.connection.on('error', () => {
46
46
process . exit ( 1 ) ;
47
47
} ) ;
48
48
49
- function getCategories ( ) {
49
+ async function getCategories ( ) {
50
50
const categories = [ ] ;
51
51
const options = {
52
52
url : 'https://api.github.com/repos/processing/p5.js-website/contents/src/data/examples/en' ,
@@ -57,23 +57,23 @@ function getCategories() {
57
57
} ,
58
58
json : true
59
59
} ;
60
- return rp ( options ) . then ( ( res ) => {
60
+ try {
61
+ const res = await rp ( options ) ;
61
62
res . forEach ( ( metadata ) => {
62
63
let category = '' ;
63
64
for ( let j = 1 ; j < metadata . name . split ( '_' ) . length ; j += 1 ) {
64
65
category += `${ metadata . name . split ( '_' ) [ j ] } ` ;
65
66
}
66
67
categories . push ( { url : metadata . url , name : category . trim ( ) } ) ;
67
68
} ) ;
68
-
69
69
return categories ;
70
- } ) . catch ( ( err ) => {
71
- throw err ;
72
- } ) ;
70
+ } catch ( error ) {
71
+ throw error ;
72
+ }
73
73
}
74
74
75
75
function getSketchesInCategories ( categories ) {
76
- return Q . all ( categories . map ( ( category ) => {
76
+ return Q . all ( categories . map ( async ( category ) => {
77
77
const options = {
78
78
url : `${ category . url . replace ( '?ref=main' , '' ) } ` ,
79
79
method : 'GET' ,
@@ -83,8 +83,8 @@ function getSketchesInCategories(categories) {
83
83
} ,
84
84
json : true
85
85
} ;
86
-
87
- return rp ( options ) . then ( ( res ) => {
86
+ try {
87
+ const res = await rp ( options ) ;
88
88
const projectsInOneCategory = [ ] ;
89
89
res . forEach ( ( example ) => {
90
90
let projectName ;
@@ -103,14 +103,14 @@ function getSketchesInCategories(categories) {
103
103
}
104
104
} ) ;
105
105
return projectsInOneCategory ;
106
- } ) . catch ( ( err ) => {
107
- throw err ;
108
- } ) ;
106
+ } catch ( error ) {
107
+ throw error ;
108
+ }
109
109
} ) ) ;
110
110
}
111
111
112
112
function getSketchContent ( projectsInAllCategories ) {
113
- return Q . all ( projectsInAllCategories . map ( projectsInOneCategory => Q . all ( projectsInOneCategory . map ( ( project ) => {
113
+ return Q . all ( projectsInAllCategories . map ( projectsInOneCategory => Q . all ( projectsInOneCategory . map ( async ( project ) => {
114
114
const options = {
115
115
url : `${ project . sketchUrl . replace ( '?ref=main' , '' ) } ` ,
116
116
method : 'GET' ,
@@ -119,8 +119,8 @@ function getSketchContent(projectsInAllCategories) {
119
119
Authorization : `Basic ${ Buffer . from ( `${ clientId } :${ clientSecret } ` ) . toString ( 'base64' ) } `
120
120
}
121
121
} ;
122
-
123
- return rp ( options ) . then ( ( res ) => {
122
+ try {
123
+ const res = await rp ( options ) ;
124
124
const noNumberprojectName = project . projectName . replace ( / ( \d + ) / g, '' ) ;
125
125
if ( noNumberprojectName === 'Instance Mode: Instance Container ' ) {
126
126
for ( let i = 0 ; i < 4 ; i += 1 ) {
@@ -134,9 +134,9 @@ function getSketchContent(projectsInAllCategories) {
134
134
project . sketchContent = res ;
135
135
}
136
136
return project ;
137
- } ) . catch ( ( err ) => {
138
- throw err ;
139
- } ) ;
137
+ } catch ( error ) {
138
+ throw error ;
139
+ }
140
140
} ) ) ) ) ;
141
141
}
142
142
@@ -183,14 +183,13 @@ async function addAssetsToProject(assets, response, project) {
183
183
} ;
184
184
185
185
// a function to await for the response that contains the content of asset file
186
- const doRequest = function ( optionsAsset ) {
187
- return new Promise ( ( ( resolve , reject ) => {
188
- rp ( optionsAsset ) . then ( ( res ) => {
189
- resolve ( res ) ;
190
- } ) . catch ( ( err ) => {
191
- reject ( err ) ;
192
- } ) ;
193
- } ) ) ;
186
+ const doRequest = async ( optionsAsset ) => {
187
+ try {
188
+ const res = await rp ( optionsAsset ) ;
189
+ return res ;
190
+ } catch ( error ) {
191
+ throw error ;
192
+ }
194
193
} ;
195
194
196
195
assetContent = await doRequest ( assetOptions ) ;
@@ -225,7 +224,7 @@ async function addAssetsToProject(assets, response, project) {
225
224
}
226
225
227
226
228
- function createProjectsInP5user ( projectsInAllCategories ) {
227
+ async function createProjectsInP5user ( projectsInAllCategories ) {
229
228
const options = {
230
229
url : 'https://api.github.com/repos/processing/p5.js-website/contents/src/data/examples/assets' ,
231
230
method : 'GET' ,
@@ -236,7 +235,8 @@ function createProjectsInP5user(projectsInAllCategories) {
236
235
json : true
237
236
} ;
238
237
239
- rp ( options ) . then ( ( res ) => {
238
+ try {
239
+ const res = await rp ( options ) ;
240
240
User . findOne ( { username : 'p5' } , ( err , user ) => {
241
241
if ( err ) throw err ;
242
242
@@ -347,14 +347,14 @@ function createProjectsInP5user(projectsInAllCategories) {
347
347
process . exit ( ) ;
348
348
} ) ;
349
349
} ) ;
350
- } ) . catch ( ( err ) => {
351
- throw err ;
352
- } ) ;
350
+ } catch ( error ) {
351
+ throw error ;
352
+ }
353
353
}
354
354
355
355
function getp5User ( ) {
356
356
console . log ( 'Getting p5 user' ) ;
357
- User . findOne ( { username : 'p5' } , ( err , user ) => {
357
+ User . findOne ( { username : 'p5' } , async ( err , user ) => {
358
358
if ( err ) throw err ;
359
359
360
360
let p5User = user ;
@@ -380,10 +380,11 @@ function getp5User() {
380
380
} ) ;
381
381
} ) ;
382
382
383
- return getCategories ( )
384
- . then ( getSketchesInCategories )
385
- . then ( getSketchContent )
386
- . then ( createProjectsInP5user ) ;
383
+ const categories = await getCategories ( ) ;
384
+ const sketchesInCategories = await getSketchesInCategories ( categories ) ;
385
+ const sketchContent = await getSketchContent ( sketchesInCategories ) ;
386
+ const projects = createProjectsInP5user ( sketchContent ) ;
387
+ return projects ;
387
388
} ) ;
388
389
}
389
390
0 commit comments