示例#1
0
app.get('/edition/', function(req, res) {
    console.log(req.query);

    var today = new Date(); 
    if (today.getDay() != 3) {
        console.log('204');
        res.status(204);
        res.setHeader('Content-Type', 'text/html; charset=UTF-8');
        res.end();
    } else {
        if (req.query.cinema){
            allocine.api('showtimelist', {theaters: req.query.cinema}, function(error, result) {
                if(error) { console.log('Error : '+ error); return; }
                res.setHeader('Content-Type', 'text/html; charset=UTF-8');
                res.render('index.ejs', {item: result.feed.theaterShowtimes[0]});
            });
        } else {
            allocine.api('showtimelist', {theaters: 'C0159'}, function(error, result) {
                if(error) { console.log('Error : '+ error); return; }
                res.setHeader('Content-Type', 'text/html; charset=UTF-8');
                res.render('index.ejs', {item: result.feed.theaterShowtimes[0]});
            });
        }
    }
});
示例#2
0
app.get('/sample/', function(req, res) {
    console.log(req.query);
    allocine.api('showtimelist', {theaters: 'C0159'}, function(error, result) {
        if(error) { console.log('Error : '+ error); return; }
        res.setHeader('Content-Type', 'text/html; charset=UTF-8');
        res.render('index.ejs', {item: result.feed.theaterShowtimes[0]});
    });
});
exports.search = function (req, res)
{
  var movies = allocine.api('search', {q: req.body.query}, function(err, result)
  {   
    console.dir(result.feed.movie[0].poster.href);

    res.render('movie_list',
    {
      'movies': result.feed.movie
    });
  });
};
function getSaisonDetails( saison, code, callback) {
	var masaison = null;
	if( saison == null || typeof saison === 'undefined' )
		masaison = new Saison();
	else
		masaison = saison;
	if( code != 0 ) {
		//masaison.code = code;
		allocine.api('season', {code: code}, function(error,result) {
		if( error ) { }
		else {
				if(  typeof result !== 'undefined' &&  typeof result.season !== 'undefined') {
						if( typeof result.season.parentSeries !== 'undefined' && typeof result.season.parentSeries.code !== 'undefined' ) {
							masaison.codeSerie = result.season.parentSeries.code;
						}
						if( typeof result.season.seasonNumber !== 'undefined' ) {
							masaison.number = result.season.seasonNumber;
						}
						if( typeof result.season.episodeCount !== 'undefined' ) {
							masaison.episodeCount = result.season.episodeCount;
						}
						if( typeof result.season.episode !== 'undefined' ) {
						for (k = 0; k < result.season.episode.length ; k++) {
							var episodeSaison = new EpisodeSaison();
							if( typeof result.season.episode[k] !== 'undefined' ) {
							if( typeof result.season.episode[k].code !== 'undefined' ) {
								episodeSaison.code = result.season.episode[k].code;
							}
							if( typeof result.season.episode[k].episodeNumberSeason !== 'undefined' ) {
								episodeSaison.number = result.season.episode[k].episodeNumberSeason;
							}
							if( typeof result.season.episode[k].synopsis !== 'undefined' ) {
								episodeSaison.synopsis = result.season.episode[k].synopsis;
							}
							if( typeof result.season.episode[k].synopsisShort !== 'undefined' ) {
								episodeSaison.synopsisShort = result.season.episode[k].synopsisShort;
							}
							if( typeof result.season.episode[k].title !== 'undefined' ) {
								episodeSaison.title = result.season.episode[k].title;
							}
							masaison.episodes[k] = episodeSaison;
							}
						}	
						}
				}
			}
			callback(masaison);
		 });

	} else { callback(masaison); }
}
示例#5
0
var api = function(req, res, next) {
  if(req.query.allocine) {
    _allocine.api('search', {q: req.query.allocine, filter: 'photo'}, function(error, results) {
      if(error)
        res.send('Error' + results.feed.media);
      res.send(results.feed.media);
    });
  } else if(req.query.cpasbien) {
    cpbapi.Search(req.query.cpasbien).then(function(result){
      res.send(result);
    });
  } else {
    res.send('Bad request');
  }
}
  Movie.findOne({ allocineId: req.params.movieId }, function(err, movie)
  {
    if(movie)// si un film à été trouvé dans la base de données
    {
      res.render('movie', movie);
    }
    else
    {
      allocine.api('movie', {code: req.params.movieId}, function(err, result)
      {
        for(var name in result.movie){ console.log(name);}

        var posterUrl = (result.movie.poster)? result.movie.poster.href: false;
        var title = result.movie.originalTitle;
        var synopsis = result.movie.synopsis;

        
        res.render('movie',
        {
          title: title,
          synopsis: synopsis,
          posterUrl: posterUrl,
          comments:
          [
            {
              text: 'premier commentaire'
            },
            {
              text: '2eme commentaire'
            }
          ]
        });

        var movie = new Movie(
        {
          allocineId: result.movie.code,
          title: title,
          synopsis: synopsis,
          posterUrl: posterUrl
        })

        movie.save(function (err)
        {
          console.log('film sauvegardé');
        });
      }); 
    }
  });
示例#7
0
  	allocine.api('search', { q:movie.search, filter: movie.movieType, count: 5}, function(err, res) {

      if(err) console.log('error', 'Error Allocine call', err);

  		if(err) return cb(null, movie);

  		if(!_.isUndefined(res.feed)) {
      		var infos = Object.byString(res.feed, movie.movieType);

      		if(infos !== undefined) {

      			//Index allocine info
      			var index = false;

      			var m_name = _s.slugify(movie.search);

      			//Parse each infos founded, if title matchs, break
      			var nb_resultats = infos.length, i = 0;

      			//loop beginning with best match !
      			while(i < nb_resultats - 1 && index === false) {
      				
      				var e = infos[i],
      					//slugifying names - matches are better
      					e_title = _s.slugify(e.title), 
      					e_original = _s.slugify(e.originalTitle);

      				if(

      					( e.title !== undefined && e_title.indexOf(m_name) !== -1 ) 
      					||
      					( e.originalTitle !== undefined && e_original.indexOf(m_name) !== -1 )

      				)	{
      						index = i;
      					}

      				i++;
      			}

  				if(index === false)
  					index = 0;

          		movie.code = infos[index].code;

          		//Searching for a specific code
          		allocine.api(movie.movieType, {code: movie.code}, function(err, result) { 
          			var specific_infos = Object.byString(result, movie.movieType);

          			if(specific_infos) {
            			movie.title = specific_infos.title !== undefined ? specific_infos.title : specific_infos.originalTitle;
            			movie.synopsis = specific_infos.synopsis ? _s.trim(specific_infos.synopsis.replace(/(<([^>]+)>)/ig, '')) : '';
            			movie.picture = specific_infos.poster !== undefined ? specific_infos.poster.href : null;
            			movie.trailer = _.isEmpty(specific_infos.trailer) ? null : specific_infos.trailer.href;
            		} else {
            			infos = infos[index];

            			movie.title = infos.title !== undefined ? infos.title : infos.originalTitle;
            			movie.picture = infos.poster !== undefined ? infos.poster.href : null;
            			movie.synopsis = infos.link !== undefined && infos.link.href !== undefined ? '<a href="'+infos.link.href+'">Fiche allociné</a>' : null;
            		}

          			return cb(err, movie);

          		});
          	} else {
          		//Too long
          	//	var words = _s.words(movie.search), num_words = words.length;

          		// if(num_words >= 3 && words[num_words - 1].length > 3) {
          			 
            //     words.pop();

          		// 	movie.search = words.join(' ');

          		//  	search(movie, cb);
          		// } else {
        			 //No movie founded
            		return cb(err, movie);  			
          		//}

          	}
      	} else {
      		return cb(err, movie);
      	}
  	});
function getMovie( code, callback)
{
	var monfilm = new Film();
	if( code != 0 ) {
	monfilm.code = code;
	allocine.api('movie', {code: code}, function(error,result) {
		if( error ) { }
		else {
		if( typeof result.movie.genre !== 'undefined' &&  result.movie.genre.length !== 0 ) {
			monfilm.genre = result.movie.genre[0].$;		
		}
		if( typeof result.movie.nationality !== 'undefined' && result.movie.nationality.length !== 0 ) {
                	monfilm.country = result.movie.nationality[0].$;
		}
		if( typeof result.movie.synopsis !== 'undefined' ) {
                	monfilm.synopsis = result.movie.synopsis;
		}
		if( typeof result.movie.synopsisShort !== 'undefined' ) {
                	monfilm.synopsisShort = result.movie.synopsisShort;
		}
		if( typeof result.movie.runtime !== 'undefined' ) {
                	monfilm.runtime = result.movie.runtime;
		}
		/*var castingShort = '';
		if( typeof result.movie.castingShort !== 'undefined' ) {
                	castingShort = result.movie.castingShort;
		}*/
		var castMember = new Array();
		if( typeof result.movie.castMember !== 'undefined' && result.movie.castMember.length !== 0 ) {
                	castMember = result.movie.castMember;
		}
		var maxdirectors = 2;
		var maxactors = 5
		var nbdirectors = 0;
		var nbactors = 0;
		for (i = 0; i < castMember.length ; i++) {
			if( typeof castMember[i].activity.$ !== 'undefined' && (castMember[i].activity.$ === 'Réalisateur' || castMember[i].activity.$ === 'Réalisatrice' ) && nbdirectors < maxdirectors ) {
				nbdirectors++;
				if( monfilm.directors === '' ) {
					monfilm.directors = castMember[i].person.name;
				} else {
					monfilm.directors += ', ' + castMember[i].person.name;
				}
			}
			if( typeof castMember[i].activity.$ !== 'undefined' && (castMember[i].activity.$ === 'Acteur' || castMember[i].activity.$ === 'Actrice' ) && nbactors < maxactors ) {
				nbactors++;
				if( monfilm.actors === '' ) {
					if( typeof castMember[i].role !== 'undefined' )
						monfilm.actors = castMember[i].person.name + " (" + castMember[i].role + ")";
					else
						monfilm.actors = castMember[i].person.name;
				} else {
					if( typeof castMember[i].role !== 'undefined' )
						monfilm.actors += ', ' + castMember[i].person.name + " (" + castMember[i].role + ")";
					else
						monfilm.actors += ', ' + castMember[i].person.name;
				}
			}
		}


		var title = '';
		if( typeof result.movie.title !== 'undefined' ) {
			title = result.movie.title;
		}
		else { 
			if( typeof result.movie.originalTitle !== 'undefined' ) {
				title = result.movie.originalTitle;
			}
		}
		
		var productionYear = '';
		if( typeof result.movie.productionYear !== 'undefined' ) {
			productionYear = result.movie.productionYear;
		}

		var href = 'http://fr.web.img4.acsta.net/r_160_240/b_1_d6d6d6/commons/emptymedia/empty_photo.jpg';
		if( typeof result.movie.poster !== 'undefined' && typeof result.movie.poster.href !== 'undefined' )
		{
			href = result.movie.poster.href;
			href = href.replace(/^(http:\/\/[^\/]*)(.*)$/g, "$1/r_160_240/b_1_d6d6d6$2");
		}
	
		var link_href = '';
		if( typeof result.movie.link[0] !== 'undefined' && typeof result.movie.link[0].href !== 'undefined' ) {
			link_href = result.movie.link[0].href;
		}
		monfilm.href = link_href;

		monfilm.imageWebpath = href;
		monfilm.title = title;
		monfilm.year = productionYear;
		
		}
		callback(monfilm);
	});
	} else { callback(monfilm); }
}
function getSerie( saison, code, saisonnumber, callback ) {
	//console.log('codeeeeeeeeee1 : ' + code);
	var masaison = null;
	if( saison == null || typeof saison === 'undefined' ) {
		//console.log('newwwwwwwwwwwwwwwww');
		masaison = new Saison();
	}
	else {
		masaison = saison;
		//console.log('old');
	}
	if( code != 0 ) {
		
		allocine.api('tvseries', {code: code}, function(error,result) {
		if( error ) { }
		else {
			if(  typeof result !== 'undefined' ) {
				var genre = '';
				if( typeof result.tvseries.genre !== 'undefined' &&  result.tvseries.genre.length !== 0 )
					genre = result.tvseries.genre[0].$;
		
				var nationality = '';
				if( typeof result.tvseries.nationality !== 'undefined' && result.tvseries.nationality.length !== 0 )
		                        nationality = result.tvseries.nationality[0].$;

				var title = '';
				try{ title = result.tvseries.title; } catch(error) {title = '';}
				if( title === '' || typeof title === 'undefined')
				try { title = result.tvseries.originalTitle;} catch(error) {title = '';}

				var href = 'http://fr.web.img4.acsta.net/r_160_240/b_1_d6d6d6/commons/emptymedia/empty_photo.jpg';
				if( typeof result.tvseries.poster !== 'undefined' && typeof result.tvseries.poster.href !== 'undefined' )
				{
				        href = result.tvseries.poster.href;
					href = href.replace(/^(http:\/\/[^\/]*)(.*)$/g, "$1/r_160_240/b_1_d6d6d6$2");
				}

				var castMember = new Array();
				if( typeof result.tvseries.castMember !== 'undefined' && result.tvseries.castMember.length !== 0 ) {
					castMember = result.tvseries.castMember;
				}
				var maxdirectors = 2;
				var maxactors = 5
				var nbdirectors = 0;
				var nbactors = 0;
				for (i = 0; i < castMember.length ; i++) {
					if( typeof castMember[i].activity.$ !== 'undefined' && (castMember[i].activity.$ === 'Réalisateur' || castMember[i].activity.$ === 'Réalisatrice' ) && nbdirectors < maxdirectors ) {
						nbdirectors++;
						if( masaison.directors === '' ) {
							masaison.directors = castMember[i].person.name;
						} else {
							masaison.directors += ', ' + castMember[i].person.name;
						}
					}
					if( typeof castMember[i].activity.$ !== 'undefined' && (castMember[i].activity.$ === 'Acteur' || castMember[i].activity.$ === 'Actrice' ) && nbactors < maxactors ) {
						nbactors++;
						if( masaison.actors === '' ) {
							if( typeof castMember[i].role !== 'undefined' )
								masaison.actors = castMember[i].person.name + " (" + castMember[i].role + ")";
							else
								masaison.actors = castMember[i].person.name;
						} else {
							if( typeof castMember[i].role !== 'undefined' )
								masaison.actors += ', ' + castMember[i].person.name + " (" + castMember[i].role + ")";
							else
								masaison.actors += ', ' + castMember[i].person.name;
						}
					}
				}
				var link_href = '';
				if( typeof result.tvseries.link[0] !== 'undefined' && typeof result.tvseries.link[0].href !== 'undefined' ) {
					link_href = result.tvseries.link[0].href;
				}
				masaison.href = link_href; 

				masaison.imageWebpath = href;
				masaison.title = title;
				if( typeof result.tvseries.synopsis !== 'undefined' ) {
                			masaison.synopsis = result.tvseries.synopsis;
				}
				if( typeof result.tvseries.synopsisShort !== 'undefined' ) {
                			masaison.synopsisShort = result.tvseries.synopsisShort;
				}
				if( typeof result.tvseries.seasonCount !== 'undefined' ) {
                			masaison.seasonCount = result.tvseries.seasonCount;
				}
				if( typeof result.tvseries.yearStart !== 'undefined' ) {
                			masaison.year = result.tvseries.yearStart;
				}
				masaison.genre = genre;
				masaison.country = nationality;
				if( typeof result.tvseries.season !== 'undefined' ) {
				for (k = 0; k < result.tvseries.season.length ; k++) {
					if( typeof result.tvseries.season[k] !== 'undefined' && result.tvseries.season[k].seasonNumber == saisonnumber ) {
						masaison.code = result.tvseries.season[k].code;
						//console.log('!!!!!!!!!!!!! ' + masaison.code);
						break;
					}
				}
				}
					
	
			}
			}
			callback(masaison);
		 });

	} else { callback(masaison); }
}
			function (callback) {
                                 allocine.api('search', {q: filter, count: 4, filter: 'tvseries'}, function(err, object) { series = searchSeries(err,object, series); callback(null, callback); });
                        },
        		function(callback) {
				allocine.api('search', {q: filter, count: 4, filter: 'movie'}, function(err, object) { movies = searchMovies(err, object, movies); callback(null, callback); });
        		},