123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- #include "movie.h"
-
- /// \fn string getMovieByPosition(int position, filemanip &file)
- /// \~English
- /// \brief Finds a movie in position position of a file and returns the
- /// name of the movie
- /// \param position Position of the movie in the file
- /// \param file A file pointer
- /// \return The name of the movie
- /// \~Spanish
- /// \brief Encuentra una pelicula en posicion position de un archivo y devuelve
- /// el nombre de la pelicula.
- /// \param position Posicion de la pelicula en el archivo
- /// \param file Un apuntador a archivo.
- /// \return El nombre de la pelicula
- string getMovieByPosition(int position, filemanip &file){
- int counter = 0 ;
-
- //Input Validation
- if (position < 1){
- return "" ;
- }
-
- file.reset();
-
- QString line = file.getnext() ;
- while(line != ""){
- if (counter == position){
- return line.toStdString() ;
- }
- line = file.getnext() ;
- counter++ ;
- }
- return "" ;
-
- }
-
- /// \fn string getMovieByName(string moviename, filemanip &file)
- /// \~English
- /// \brief Finds the information of a movie given its name.
- /// \param moviename The name of the movie
- /// \param file A file pointer
- /// \return One line with the information of the movie separated by | (pipes)
- /// \~Spanish
- /// \brief Encuentra la informacion de una pelicula dado su nombre.
- /// \param moviename Nombre de la pelicula
- /// \param file Un apuntador a archivo.
- /// \return Una linea con la informacion de la pelicula separada por |.
- string getMovieByName(string moviename, filemanip &file){
- QString movie = QString::fromStdString(moviename) ;
- QStringList fields ;
-
- file.reset();
-
- QString line = file.getnext() ;
- while(line != "") {
- fields = line.split("|");
- if (fields[0] == movie){
- return line.toStdString() ;
- }
- line = file.getnext() ;
- }
- return "" ;
- }
-
- /// \fn void showMovie(string movieinfo)
- /// \~English
- /// \brief Display the movie information of a | separated line with movie info.
- /// Example line: Ninja Turtles: The Next Mutation, Vol. 1|Shout! Factory||Out|2.0|4:3|19.93|NR|1997|
- /// \param movieinfo The information of the movie in one line separated by |
- /// \~Spanish
- /// \brief Despliega la informacion de una pelicula de una linea con la informacion de la
- /// pelicula separada por |.
- /// Ejemplo de la linea: Ninja Turtles: The Next Mutation, Vol. 1|Shout! Factory||Out|2.0|4:3|19.93|NR|1997|
- /// \param movieinfo La informacion de la pelicula en una linea separada por |
- void showMovie(string movieinfo){
- QStringList fields = QString::fromStdString(movieinfo).split('|') ;
-
- if(fields.size() >= 15){
- cout << "==================== MOVIE =======================" <<endl
- << "Name:\t" << fields[0].toStdString() <<endl
- << "Rating:\t" << fields[7].toStdString() << endl
- << "Year:\t" << fields[8].toStdString() <<endl
- << "Genre:\t" << fields[9].toStdString() <<endl ;
- }
-
- }
-
-
- /// \fn void showMovies(filemanip &file, int start, int end)
- /// \~English
- /// \brief Display the information of the movies in a file from line start to line
- /// end.
- /// \param file Pointer to a file.
- /// \param start Line in the file to start showing movie info.
- /// \param end Line in the file to stop showing movie information.
- /// \~Spanish
- /// \brief Despliega la informacion de las peliculas en un archivo desde la linea start
- /// hasta la line end.
- /// \param file Apuntador a un archivo.
- /// \param start Linea en el archivo desde donde desplegar info de las peliculas
- /// \param end Linea en el archivo hasta donde deplegar info de las peliculas
- void showMovies(filemanip &file, int start, int end){
- int counter = 0;
- if(start < 1 || end < start)
- return ;
-
- file.reset();
-
- QString line = file.getnext() ;
- while(line != "") {
- if(counter >= start && counter <=end){
- showMovie(line.toStdString()) ;
- }
- line = file.getnext() ;
- counter++ ;
- }
- }
-
- /// \fn void showMovies(filemanip &file, string keyword)
- /// \~English
- /// \brief Display the information of the movies whose name contains a given keyword
- /// \param file Pointer to a file.
- /// \param keyword Keyword to search in the name of the movies.
- /// \~Spanish
- /// \brief Despliega la informacion de las peliculas cuyo nombre contenga una palabra
- /// clave dada.
- /// \param file Apuntador a un archivo.
- /// \param keyword Palabra clave para buscar en el nombre de las peliculas.
- void showMovies(filemanip &file, string keyword){
-
- QStringList fields ;
-
- if(keyword.size() < 1)
- return ;
-
- file.reset();
-
- QString line = file.getnext() ;
- while(line != "") {
- fields = line.split('|') ;
- if(fields[0].contains(QString::fromStdString(keyword), Qt::CaseInsensitive)){
- showMovie(line.toStdString()) ;
- }
- line = file.getnext() ;
- }
-
- }
-
- /// \fn string getMovieName(string movieinfo)
- /// \~English
- /// \brief Given a movie line from the file returns the movie name.
- /// \param movieinfo The information of the movie in one line separated by |
- /// \return Movie name
- /// \~Spanish
- /// \brief Dado una linea de una pelicula del archivo devuelve el nombre de la pelicula
- /// \param movieinfo La informacion de la pelicula en una linea separada por |
- /// \return El nombre de la pelicula
- string getMovieName(string movieinfo){
-
- QStringList fields = QString::fromStdString(movieinfo).split('|') ;
-
- if (fields.size() >= 15)
- return fields[0].toStdString() ;
-
- return "" ;
-
- }
-
- /// \fn string getMovieRating(string movieinfo)
- /// \~English
- /// \brief Given a movie line from the file returns the movie rating.
- /// \param movieinfo The information of the movie in one line separated by |
- /// \return The movie rating
- /// \~Spanish
- /// \brief Dado una linea de una pelicula del archivo devuelve la clasificacion
- /// de una pelicula
- /// \param movieinfo La informacion de la pelicula en una linea separada por |
- /// \return La clasificacion de la pelicula
- string getMovieRating(string movieinfo){
-
- QStringList fields = QString::fromStdString(movieinfo).split('|') ;
-
- if (fields.size() >= 15)
- return fields[7].toStdString() ;
-
- return "" ;
-
- }
-
- /// \fn string getMovieYear(string movieinfo)
- /// \~English
- /// \brief Given a movie line from the file returns the movie release year.
- /// \param movieinfo The information of the movie in one line separated by |
- /// \return The movie release year.
- /// \~Spanish
- /// \brief Dado una linea de una pelicula del archivo devuelve el ano de lanzamiento
- /// de la pelicula
- /// \param movieinfo La informacion de la pelicula en una linea separada por |
- /// \return El ano de lanzamiento de la pelicula
- string getMovieYear(string movieinfo){
-
- QStringList fields = QString::fromStdString(movieinfo).split('|') ;
-
- if (fields.size() >= 15)
- return fields[8].toStdString() ;
-
- return "" ;
-
- }
-
- /// \fn string getMovieGenre(string movieinfo)
- /// \~English
- /// \brief Given a movie line from the file returns the movie genre.
- /// \param movieinfo The information of the movie in one line separated by |
- /// \return The movie genre.
- /// \~Spanish
- /// \brief Dado una linea de una pelicula del archivo devuelve el genero
- /// de la pelicula
- /// \param movieinfo La informacion de la pelicula en una linea separada por |
- /// \return El genero de la pelicula
- string getMovieGenre(string movieinfo){
-
- QStringList fields = QString::fromStdString(movieinfo).split('|') ;
-
- if (fields.size() >= 15)
- return fields[9].toStdString() ;
-
- return "" ;
-
- }
-
- /// \fn void getMovieInfo(string, string &, string &, string &, string &)
- /// \~English
- /// \brief Given a movie line from the file returns by reference the movie name,
- /// rating, year, and genre.
- /// \param movieinfo The information of the movie in one line separated by |
- /// \~Spanish
- /// \param name Reference variable to return the movie name
- /// \param rating Reference variable to return the movie rating
- /// \param year Reference variable to return the movie release year
- /// \param genre Reference variable to return the movie genre
- /// \brief Dado una linea de una pelicula del archivo devuelve por referencia
- /// el nombre, clasificion, ano de lanzamiento y genero de una pelicula.
- /// \param name Variable de referencia para devolver el nombre de la pelicula
- /// \param rating Variable de referencia para devolver la clasificacion de la pelicula
- /// \param year Variable de referencia para devolver el ano de lanzamiento de la pelicula
- /// \param genre Variable de referencia para devolver el genero de la pelicula
- void getMovieInfo(string movieinfo, string &rating, string &year, string &genre){
-
- QStringList fields = QString::fromStdString(movieinfo).split('|') ;
-
- if (fields.size() >= 15){
-
- rating = fields[7].toStdString() ;
- year = fields[8].toStdString() ;
- genre = fields[9].toStdString() ;
- }
-
- return ;
-
- }
|