Пример #1
0
				albumart(artist, function (err, url) {
					if (err) {
						console.log("ERRORE: " + err);
						defer.reject(new Error(err));
						return defer.promise;
					}
					else {
						if (url != undefined && url != '') {
							var splitted = url.split('.');
							var fileExtension = splitted[splitted.length - 1];
							var diskFileName = uuid.v4() + '.' + fileExtension;

							var options = {
								directory: folder,
								filename: diskFileName
							}

							//console.log("URL: " + url);
							download(url, options, function (err) {
								if (err) defer.reject(new Error(err));
								else defer.resolve(folder + diskFileName);
							});

							infoJson[resolution] = diskFileName;
						}
						else {
							defer.reject(new Error('No albumart URL'));
							return defer.promise;
						}
					}

					fs.writeJsonSync(infoPath, infoJson);
				});
Пример #2
0
        retrieveAlbumart(decodedArtist, decodedAlbum, decodedResolution, function (err, url) {
            if (err) {
                //console.log("ERROR getting albumart: " + err + " for Infopath '" + infoPath + "'");
                defer.reject(new Error(err));
                return defer.promise;
            }  else {
                if (url != undefined && url != '') {
                    var splitted = url.split('.');
                    var fileExtension = splitted[splitted.length - 1];
                    var diskFileName = uuid.v4() + '.' + fileExtension;

                    var options = {
                        directory: folder,
                        filename: diskFileName
                    };

					//console.log("URL: " + url);
                    download(url, options, function (err) {
                        if (err) defer.reject(new Error(err));
                        else {
                            //waiting 2 secodns to flush data on disk. Should use a better method
                            setTimeout(function(){
                                defer.resolve(folder + diskFileName);
                            },500);
                        }
                    });

                    infoJson[resolution] = diskFileName;

                } else {
                    defer.reject(new Error('No albumart URL'));
                    return defer.promise;
                }
            }
            try {
                fs.writeJsonSync(infoPath, infoJson);
            } catch(e) {
                console.log('Error in writing albumart JSON file: ' + e);
            }
        });