Ejemplo n.º 1
0
        public void PlayMovie(ApiMovie video)
        {
            if (video == null)
            {
                return;
            }
            if (!_parent.IsConnected())
            {
                return;
            }

            var args  = new JsonObject();
            var items = new JsonObject();

            args["movieid"]     = video.IdMovie;
            items["item"]       = args;
            items["playlistid"] = 1;
            var plId = new JsonObject();

            plId["playlistid"] = 1;
            var item = new JsonObject();

            item["item"] = plId;
            _parent.JsonCommand("Playlist.Clear", plId);
            _parent.JsonCommand("Playlist.Add", items);
            _parent.JsonCommand("Player.Open", item);
        }
Ejemplo n.º 2
0
        public void PlayMovie(ApiMovie video)
        {
            if (video == null)
            {
                return;
            }
            if (!_parent.IsConnected())
            {
                return;
            }

            EmbyPlayPlayList(video.Path);
            _parent.Trace("Attemping to Play IdEpsiode equals" + video.Path);

            /*
             * var args = new JsonObject();
             * var items = new JsonObject();
             * args["movieid"] = video.IdMovie;
             * items["item"] = args;
             * items["playlistid"] = 1;
             * var plId = new JsonObject();
             * plId["playlistid"] = 1;
             * var item = new JsonObject();
             * item["item"] = plId;
             * _parent.JsonCommand("Playlist.Clear", plId);
             * _parent.JsonCommand("Playlist.Add", items);
             * _parent.JsonCommand("Player.Open", item);
             */
        }
Ejemplo n.º 3
0
        public ApiMovie ToApi()
        {
            var api = new ApiMovie
            {
                Director      = Director,
                Fanart        = Fanart,
                FileName      = FileName,
                Genre         = Genre,
                Hash          = Hash,
                IdFile        = IdFile,
                IdMovie       = IdMovie,
                IdScraper     = IdScraper,
                IsStack       = IsStack,
                Length        = Length,
                Mpaa          = Mpaa,
                OriginalTitle = OriginalTitle,
                Path          = Path,
                PlayCount     = PlayCount,
                Plot          = Plot,
                Rating        = Rating,
                Studio        = Studio,
                Tagline       = Tagline,
                Thumb         = Thumb,
                Banner        = Banner,
                Logo          = Logo,
                Title         = Title,
                Votes         = Votes,
                Year          = Year,
                DateAdded     = DateAdded,
                MovieIcons    = MovieIcons
            };

            return(api);
        }
Ejemplo n.º 4
0
 public Yatse2Movie(ApiMovie apiMovie)
 {
     if (apiMovie == null)
     {
         return;
     }
     FileName      = apiMovie.FileName;
     Path          = apiMovie.Path;
     Plot          = apiMovie.Plot;
     Title         = apiMovie.Title;
     Mpaa          = apiMovie.Mpaa;
     OriginalTitle = apiMovie.OriginalTitle;
     Genre         = apiMovie.Genre;
     Tagline       = apiMovie.Tagline;
     Director      = apiMovie.Director;
     IdFile        = apiMovie.IdFile;
     IdScraper     = apiMovie.IdScraper;
     IdMovie       = apiMovie.IdMovie;
     Thumb         = apiMovie.Thumb;
     Fanart        = apiMovie.Fanart;
     Banner        = apiMovie.Banner;
     Logo          = apiMovie.Logo;
     Hash          = apiMovie.Hash;
     IsStack       = apiMovie.IsStack;
     Length        = apiMovie.Length;
     PlayCount     = apiMovie.PlayCount;
     Rating        = apiMovie.Rating;
     Studio        = apiMovie.Studio;
     Votes         = apiMovie.Votes;
     Year          = apiMovie.Year;
     DateAdded     = apiMovie.DateAdded;
     MovieIcons    = apiMovie.MovieIcons;
 }
Ejemplo n.º 5
0
        public Collection <ApiMovie> GetMovies()
        {
            var movies  = new Collection <ApiMovie>();
            var dblines = _parent.DBCommand("video", "SELECT c00,c01,c03,c04,c05,c07,C09,c11,c12,c14,c15,c16,c18,idFile,idMovie,strFileName,strPath,playCount FROM movieview");

            if (dblines == null)
            {
                return(movies);
            }
            foreach (var dbline in dblines)
            {
                if (dbline.Length < 18)
                {
                    _parent.Log("Invalid request DATA : " + dbline);
                    continue;
                }
                dbline[4] = dbline[4].Length > 3 ? dbline[4] : "0.0";
                var movie = new ApiMovie
                {
                    Title         = dbline[0],
                    Plot          = dbline[1],
                    Tagline       = dbline[2],
                    Votes         = dbline[3],
                    Rating        = dbline[4].Substring(0, 3).Trim('.'),
                    Year          = Xbmc.StringToNumber(dbline[5]),
                    IdScraper     = dbline[6],
                    Length        = dbline[7],
                    Mpaa          = dbline[8],
                    Genre         = dbline[9],
                    Director      = dbline[10],
                    OriginalTitle = dbline[11],
                    Studio        = dbline[12],
                    IdFile        = Xbmc.StringToNumber(dbline[13]),
                    IdMovie       = Xbmc.StringToNumber(dbline[14]),
                    FileName      = dbline[15],
                    Path          = dbline[16],
                    PlayCount     = Xbmc.StringToNumber(dbline[17])
                };

                if (movie.FileName.StartsWith("stack://", StringComparison.OrdinalIgnoreCase))
                {
                    var temp = movie.FileName.Split(new[] { " , " }, StringSplitOptions.None);
                    movie.IsStack = 1;
                    movie.Hash    = Xbmc.Hash(temp[0].Replace("stack://", ""));
                    movie.Thumb   = @"special://profile/Thumbnails/Video/" + movie.Hash[0] + "/" + movie.Hash + ".tbn";
                    movie.Fanart  = @"special://profile/Thumbnails/Video/Fanart/" + Xbmc.Hash(movie.FileName) + ".tbn";
                }
                else
                {
                    movie.IsStack = 0;
                    movie.Hash    = Xbmc.Hash(movie.Path + movie.FileName);
                    movie.Thumb   = @"special://profile/Thumbnails/Video/" + movie.Hash[0] + "/" + movie.Hash + ".tbn";
                    movie.Fanart  = @"special://profile/Thumbnails/Video/Fanart/" + movie.Hash + ".tbn";
                }

                movies.Add(movie);
            }
            return(movies);
        }
Ejemplo n.º 6
0
        public Collection <ApiMovie> GetMovies()
        {
            var movies = new Collection <ApiMovie>();

            var properties = new JsonArray(new[] { "title", "plot", "genre", "year", "fanart", "thumbnail", "playcount", "studio", "rating", "runtime", "mpaa", "originaltitle", "director", "votes" });
            var param      = new JsonObject();

            param["properties"] = properties;
            var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetMovies", param);

            if (result != null)
            {
                if (result.Contains("movies"))
                {
                    foreach (JsonObject genre in (JsonArray)result["movies"])
                    {
                        try
                        {
                            var t        = TimeSpan.FromSeconds((long)(JsonNumber)genre["runtime"]);
                            var duration = string.Format("{0:D2}:{1:D2}", t.Hours, t.Minutes);
                            var movie    = new ApiMovie
                            {
                                Title         = genre["title"].ToString(),
                                Plot          = genre["plot"].ToString(),
                                Votes         = genre["votes"].ToString(),
                                Rating        = genre["rating"].ToString(),
                                Year          = (long)(JsonNumber)genre["year"],
                                IdScraper     = "",
                                Length        = duration,
                                Mpaa          = genre["mpaa"].ToString(),
                                Genre         = _parent.JsonArrayToString((JsonArray)genre["genre"]),
                                Director      = _parent.JsonArrayToString((JsonArray)genre["director"]),
                                OriginalTitle = genre["originaltitle"].ToString(),
                                Studio        = _parent.JsonArrayToString((JsonArray)genre["studio"]),
                                IdFile        = 0,
                                IdMovie       = (long)(JsonNumber)genre["movieid"],
                                FileName      = "",
                                Path          = "",
                                PlayCount     = 0,
                                Thumb         = genre["thumbnail"].ToString(),
                                Fanart        = genre["fanart"].ToString(),
                                Hash          = Xbmc.Hash(genre["thumbnail"].ToString())
                            };
                            movies.Add(movie);
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            }

            return(movies);
        }
Ejemplo n.º 7
0
        public ResponseStatus AddMovieToMyList(string movieName, StatusType status)
        {
            ResponseStatus response;

            ApiMovie newMovie = new ApiMovie
            {
                Name   = movieName,
                Status = status
            };

            return(AddMovie(out response, newMovie));
        }
Ejemplo n.º 8
0
        public void PlayMovie(ApiMovie video)
        {
            if (video == null)
            {
                return;
            }
            if (!_parent.IsConnected())
            {
                return;
            }
            var file = (video.IsStack != 1) ? video.Path + video.FileName : video.FileName;

            _parent.AsyncCommand("PlayFile", file);
        }
Ejemplo n.º 9
0
        public void PlayMovie(ApiMovie video)
        {
            if (video == null)
            {
                return;
            }
            if (!_parent.IsConnected())
            {
                return;
            }

            var args = new JsonObject();

            args["movieid"] = video.IdMovie;
            _parent.AsyncJsonCommand("XBMC.Play", args);
        }
Ejemplo n.º 10
0
        public ActionResult <string> AddMovie(ApiMovie apiMovie)
        {
            string returnString = "Add movie failed: ";

            if (string.IsNullOrEmpty(apiMovie.Name))
            {
                return(returnString + "Movie need a name");
            }
            else if (string.IsNullOrEmpty(apiMovie.Length) || !Int32.TryParse(apiMovie.Length, out int i))
            {
                return(returnString + "You need to right a number in movie length");
            }
            else if (string.IsNullOrEmpty(apiMovie.Desc))
            {
                return(returnString + "please just write something in the movie description");
            }
            else if (apiMovie.Genre == null)
            {
                return(returnString + "No genre is seleceted");
            }
            else if (apiMovie.File == null)
            {
                return(returnString + "No image file is select");
            }

            byte[] imgBytes = new byte[apiMovie.File.Length];
            using (var ms = new MemoryStream())
            {
                apiMovie.File.CopyTo(ms);
                imgBytes = ms.ToArray();
            }

            Movie movie = new Movie
            {
                Name       = apiMovie.Name,
                Length     = Convert.ToInt32(apiMovie.Length),
                Desc       = apiMovie.Desc,
                Genre      = (MovieGenre)Convert.ToInt32(apiMovie.Genre),
                ImageBytes = imgBytes
            };

            bool success = _sqlService.AddMovie(movie);

            returnString = success ? "Add movie success" : returnString;

            return(returnString);
        }
Ejemplo n.º 11
0
        private static ResponseStatus AddMovie(out ResponseStatus response, ApiMovie newMovie)
        {
            using (SQLite.SQLiteConnection conn = new SQLite.SQLiteConnection(App.DB_PATH))
            {
                try
                {
                    conn.CreateTable <ApiMovie>();
                    int nb = conn.Insert(newMovie);

                    response = nb > 0 ? ResponseStatus.OK : ResponseStatus.NOT_OK;
                }
                catch (SQLiteException ex)
                {
                    response = ResponseStatus.EXIST;
                }

                return(response);
            }
        }
Ejemplo n.º 12
0
 public void PlayMovie(ApiMovie video)
 {
     if (video == null)
     {
         return;
     }
     if (!_parent.IsConnected())
     {
         return;
     }
     if (video.IdFile == 0)
     {
         _parent.AsyncIPimpCommand(new CommandInfoIPimp {
             Action = "playmovie", Filter = video.IdMovie.ToString(CultureInfo.InvariantCulture), Value = "force", Tracks = "no"
         });
     }
     if (video.IdFile == 1)
     {
         _parent.AsyncIPimpCommand(new CommandInfoIPimp {
             Action = "playmovingpicture", Filter = video.IdMovie.ToString(CultureInfo.InvariantCulture), Value = "force", Tracks = "no"
         });
     }
 }
Ejemplo n.º 13
0
        public Collection <ApiMovie> GetMovies()
        {
            var movies  = new Collection <ApiMovie>();
            var MovieId = GetMainSelection("Movies");

            try
            {
                _parent.Trace("Getting Main Movie Database Result" + _parent.IP);
                string NPurl = "http://" + _parent.IP + ":" + _parent.Port + "/emby/Users/" + Globals.CurrentUserID + "/Items?ParentId=" + MovieId;

                var request = WebRequest.CreateHttp(NPurl);

                request.Method  = "get";
                request.Timeout = 150000;
                _parent.Trace("Main Selection: " + _parent.IP + ":" + _parent.Port);

                var authString = _parent.GetAuthString();

                request.Headers.Add("X-MediaBrowser-Token", Globals.EmbyAuthToken);
                request.Headers.Add("X-Emby-Authorization", authString);
                request.ContentType = "application/json; charset=utf-8";
                request.Accept      = "application/json; charset=utf-8";

                var response = request.GetResponse();

                if (((HttpWebResponse)response).StatusCode == HttpStatusCode.OK)
                {
                    System.IO.Stream dataStream = response.GetResponseStream();
                    //REMOVETHIS                 System.IO.StreamReader reader = new System.IO.StreamReader(dataStream);

                    using (var sr = new System.IO.StreamReader(response.GetResponseStream()))
                    {
                        string json = sr.ReadToEnd();
                        _parent.Trace("--------------GETTING All Movies Results ------" + json);

                        var deserializer = new JavaScriptSerializer();

                        var ItemData = deserializer.Deserialize <Movies.Rootobject>(json);

                        _parent.Trace("---------------Get Worlds Result:  Issue: Results.Count: " + ItemData.Items.Count);

                        foreach (var id in ItemData.Items)
                        {
                            try
                            {
                                SingleMovieItem.Rootobject Movieitem = GetSingleMovieItem(id.Id);
                                string newDirector = "";
                                bool   index       = Movieitem.People.Any(item => item.Type == "Director");
                                if (index == true)
                                {
                                    newDirector = Movieitem.People.First(i => i.Type == "Director").Name.ToString();
                                }

                                var Seconds      = Convert.ToInt64(id.RunTimeTicks);
                                var RoundSeconds = Math.Round(Seconds / 10000000.00, 1);


                                var movie = new ApiMovie
                                {
                                    Title         = Movieitem.Name ?? "Unknown",
                                    Plot          = Movieitem.Overview ?? "Unknown",
                                    Votes         = Movieitem.VoteCount.ToString() ?? "0",
                                    Rating        = id.CommunityRating.ToString() ?? "0",
                                    Year          = id.ProductionYear,
                                    Tagline       = Movieitem.Taglines.FirstOrDefault() ?? "Might be a good movie",
                                    IdScraper     = Movieitem.ProviderIds.Imdb ?? "",
                                    Length        = new TimeSpan(0, 0, 0, Convert.ToInt32(RoundSeconds)).ToString() ?? "Unknown",
                                    Mpaa          = id.OfficialRating ?? "Unknown",
                                    Genre         = Movieitem.Genres.FirstOrDefault() ?? "Unknown",
                                    Director      = newDirector ?? "",
                                    OriginalTitle = id.Name ?? "",
                                    Studio        = Movieitem.Studios.FirstOrDefault().Name ?? "Unknown",
                                    IdFile        = 0,
                                    IdMovie       = Xbmc.IDtoNumber(Movieitem.Id),
                                    FileName      = Movieitem.Path ?? "",
                                    Path          = Movieitem.Id ?? "",
                                    PlayCount     = Movieitem.UserData.PlayCount,
                                    Thumb         = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + id.Id + "/Images/Primary",
                                    Fanart        = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + id.Id + "/Images/Backdrop",
                                    Hash          = Xbmc.Hash(id.Id)
                                };
                                movies.Add(movie);
                            }

                            catch (Exception ex)
                            {
                                _parent.Trace("Exception with Movie Name :" + ex);
                            }
                        }


                        /*
                         *                _nowPlaying.FanartURL = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + server.PrimaryItemId + "/Images/Backdrop";
                         *                _nowPlaying.ThumbURL = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + server.PrimaryItemId + "/Images/Primary";
                         */
                    }
                }
            }
            catch (Exception ex)
            {
                _parent.Trace("ERROR in Main Movies obtaining: " + ex);
            }


            /*
             *
             * var properties = new JsonArray(new[] { "title", "plot", "genre", "year", "fanart", "thumbnail", "playcount", "studio", "rating", "runtime", "mpaa", "originaltitle", "director", "votes" });
             * var param = new JsonObject();
             * param["properties"] = properties;
             * var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetMovies", param);
             * if (result != null)
             * {
             * if (result.Contains("movies"))
             * {
             *  foreach (JsonObject genre in (JsonArray)result["movies"])
             *  {
             *    try
             *    {
             *      var t = TimeSpan.FromSeconds((long)(JsonNumber)genre["runtime"]);
             *      var duration = string.Format("{0:D2}:{1:D2}", t.Hours, t.Minutes);
             *      var movie = new ApiMovie
             *        {
             *
             *          Title = genre["title"].ToString(),
             *          Plot = genre["plot"].ToString(),
             *          Votes = genre["votes"].ToString(),
             *          Rating = genre["rating"].ToString(),
             *          Year = (long)(JsonNumber)genre["year"],
             *          IdScraper = "",
             *          Length = duration,
             *          Mpaa = genre["mpaa"].ToString(),
             *          Genre = _parent.JsonArrayToString((JsonArray)genre["genre"]),
             *          Director = _parent.JsonArrayToString((JsonArray)genre["director"]),
             *          OriginalTitle = genre["originaltitle"].ToString(),
             *          Studio = _parent.JsonArrayToString((JsonArray)genre["studio"]),
             *          IdFile = 0,
             *          IdMovie = (long)(JsonNumber)genre["movieid"],
             *          FileName = "",
             *          Path = "",
             *          PlayCount = 0,
             *          Thumb = genre["thumbnail"].ToString(),
             *          Fanart = genre["fanart"].ToString(),
             *          Hash = Xbmc.Hash(genre["thumbnail"].ToString())
             *        };
             *      movies.Add(movie);
             *    }
             *    catch (Exception)
             *    {
             *    }
             *  }
             * }
             * }
             */
            return(movies);
        }
Ejemplo n.º 14
0
 public void PlayMovie(ApiMovie video)
 {
 }
Ejemplo n.º 15
0
        public Collection <ApiMovie> GetMovies()
        {
            var movies = new Collection <ApiMovie>();

            if (!_parent.IsConnected())
            {
                return(movies);
            }
            var dblines = _parent.IPimpDBCommand(new CommandInfoIPimp {
                Action = "getallmovies"
            }, "movies");

            if (dblines == null)
            {
                return(movies);
            }

            foreach (JsonObject dbline in dblines)
            {
                var movie = new ApiMovie
                {
                    Title         = (string)dbline["title"],
                    Plot          = (string)dbline["plot"],
                    Tagline       = (string)dbline["tagline"],
                    Votes         = (string)dbline["votes"],
                    Rating        = Convert.ToDouble(((string)dbline["rating"]).Replace(',', '.'), CultureInfo.InvariantCulture).ToString(CultureInfo.InvariantCulture),
                    Year          = Convert.ToInt32(dbline["year"], CultureInfo.InvariantCulture),
                    IdScraper     = (string)dbline["imdbNumber"],
                    Length        = "",
                    Mpaa          = (string)dbline["mpaa"],
                    Genre         = (string)dbline["genre"],
                    Director      = (string)dbline["director"],
                    OriginalTitle = (string)dbline["originaltitle"],
                    Studio        = "",
                    IdFile        = 0,
                    IdMovie       = Convert.ToInt32(dbline["id"], CultureInfo.InvariantCulture),
                    FileName      = (string)dbline["files"],
                    Path          = (string)dbline["path"],
                    PlayCount     = Convert.ToInt32(dbline["watched"], CultureInfo.InvariantCulture),
                    Thumb         = (string)dbline["thumb"],
                    Fanart        = (string)dbline["fanart"],
                    Hash          = MediaPortal.Hash((string)dbline["files"])
                };

                movies.Add(movie);
            }

            dblines = _parent.IPimpDBCommand(new CommandInfoIPimp {
                Action = "getallmovingpicture"
            }, "movies");
            if (dblines == null)
            {
                return(movies);
            }

            foreach (JsonObject dbline in dblines)
            {
                var movie = new ApiMovie
                {
                    Title         = (string)dbline["title"],
                    Plot          = (string)dbline["plot"],
                    Tagline       = (string)dbline["tagline"],
                    Votes         = (string)dbline["votes"],
                    Rating        = Convert.ToDouble(((string)dbline["rating"]).Replace(',', '.'), CultureInfo.InvariantCulture).ToString(CultureInfo.InvariantCulture),
                    Year          = Convert.ToInt32(dbline["year"], CultureInfo.InvariantCulture),
                    IdScraper     = (string)dbline["imdbNumber"],
                    Length        = "",
                    Mpaa          = (string)dbline["mpaa"],
                    Genre         = (string)dbline["genre"],
                    Director      = (string)dbline["director"],
                    OriginalTitle = (string)dbline["originaltitle"],
                    Studio        = "",
                    IdFile        = 1,
                    IdMovie       = Convert.ToInt32(dbline["id"], CultureInfo.InvariantCulture),
                    FileName      = (string)dbline["files"],
                    Path          = (string)dbline["path"],
                    PlayCount     = Convert.ToInt32(dbline["watched"], CultureInfo.InvariantCulture),
                    Thumb         = (string)dbline["thumb"],
                    Fanart        = (string)dbline["fanart"],
                    Hash          = MediaPortal.Hash((string)dbline["files"])
                };

                movies.Add(movie);
            }

            return(movies);
        }
Ejemplo n.º 16
0
        public Collection <ApiMovie> GetMovies()
        {
            var movies = new Collection <ApiMovie>();

            //add dateadded

            var properties = new JsonArray(new[] { "title", "art", "streamdetails", "plot", "dateadded", "genre", "year", "fanart", "thumbnail", "playcount", "studio", "rating", "runtime", "mpaa", "originaltitle", "director", "votes", "file" });
            var param      = new JsonObject();

            param["properties"] = properties;
            var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetMovies", param);

            if (result != null)
            {
                if (result.Contains("movies"))
                {
                    foreach (JsonObject genre in (JsonArray)result["movies"])
                    {
                        try
                        {
                            var t         = TimeSpan.FromSeconds((long)(JsonNumber)genre["runtime"]);
                            var duration  = string.Format("{0:D2}:{1:D2}", t.Hours, t.Minutes);
                            var clearlogo = "NONE";
                            var banner    = "NONE";
                            // go through art and see.

                            JsonObject results = (JsonObject)genre["art"];

                            if (results != null)
                            {
                                if (results["clearlogo"] != null)
                                {
                                    clearlogo = results["clearlogo"].ToString();
                                }
                                if (results["banner"] != null)
                                {
                                    banner = results["banner"].ToString();
                                }
                            }

                            JsonObject    streamdetails = (JsonObject)genre["streamdetails"];
                            List <string> MovieIcons    = new List <string>();
                            MovieIcons = GetMovieIcons(streamdetails);

                            var movie = new ApiMovie
                            {
                                Title         = genre["title"].ToString(),
                                Plot          = genre["plot"].ToString(),
                                Votes         = genre["votes"].ToString(),
                                Rating        = genre["rating"].ToString(),
                                Year          = (long)(JsonNumber)genre["year"],
                                IdScraper     = "",
                                Length        = duration,
                                Mpaa          = genre["mpaa"].ToString(),
                                Genre         = _parent.JsonArrayToString((JsonArray)genre["genre"]),
                                Director      = _parent.JsonArrayToString((JsonArray)genre["director"]),
                                OriginalTitle = genre["originaltitle"].ToString(),
                                Studio        = _parent.JsonArrayToString((JsonArray)genre["studio"]),
                                IdFile        = 0,
                                IdMovie       = (long)(JsonNumber)genre["movieid"],
                                FileName      = genre["file"].ToString(),
                                Path          = "",
                                PlayCount     = 0,
                                Thumb         = genre["thumbnail"].ToString(),
                                Fanart        = genre["fanart"].ToString(),
                                Logo          = clearlogo,
                                Banner        = banner,
                                Hash          = Xbmc.Hash(genre["thumbnail"].ToString()),
                                DateAdded     = genre["dateadded"].ToString(),
                                MovieIcons    = String.Join(",", MovieIcons)
                            };
                            movies.Add(movie);
                        }
                        catch (Exception ex)
                        {
                            _parent.Log("Exception Caught: Json Clearlogo seems to equal :" + ex);
                        }
                    }
                }
            }

            return(movies);
        }
Ejemplo n.º 17
0
        public Collection <ApiMovie> GetMovies()
        {
            var movies = new Collection <ApiMovie>();

            //testing only

            return(movies);

            // testing okay
            // delete

            try
            {
                getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Sub%20Type]=[Movie]");
                var isMovie = false;
                _parent.Trace("GetMoviesRefresh  : Parent IP: " + _parent.IP);
                // iterate through Items
                foreach (var Field in Allitems)
                {
                    var Logoutput = "";
                    Field.TryGetValue("Name", out Logoutput);
                    _parent.Trace("************* Logging : " + Logoutput);

                    var result = "";
                    if (Field.TryGetValue("Media Sub Type", out result))
                    {
                        if (result == "Movie")
                        {
                            isMovie = true;
                            _parent.Trace("Movie:  " + isMovie);
                        }
                        else
                        {
                            continue;
                        }
                    }
                    long   PlayCount = 0;
                    string Plays     = "";
                    if (Field.TryGetValue("Number Plays", out Plays))
                    {
                        PlayCount = long.TryParse(Plays, out PlayCount) ? PlayCount : 0;
                    }
                    long   SeasonNumber = 0;
                    string Season       = "";
                    if (Field.TryGetValue("Season", out Season))
                    {
                        SeasonNumber = long.TryParse(Season, out SeasonNumber) ? SeasonNumber : 0;
                    }
                    long   EpisodeNumber = 0;
                    string EpisodeNo     = "";
                    if (Field.TryGetValue("Episode", out EpisodeNo))
                    {
                        EpisodeNumber = long.TryParse(EpisodeNo, out EpisodeNumber) ? EpisodeNumber : 0;
                    }
                    string FileKey   = "";
                    string Thumb2    = "";
                    string Fanart2   = "";
                    string LogoArt   = "";
                    string BannerArt = "";
                    if (Field.TryGetValue("Key", out FileKey))
                    {
                        Thumb2  = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Thumbnail&Format=jpg&Token=" + _parent.JRiverAuthToken ?? "";
                        Fanart2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Full&Format=jpg&Token=" + _parent.JRiverAuthToken ?? "";
                    }
                    // use directory for fanart if exists
                    var filename = Field.ValueOrDefault("Filename");
                    if (filename != null & filename != "")
                    {
                        var filePath                = Path.GetDirectoryName(Field.ValueOrDefault("Filename"));
                        var fanartPath              = Path.Combine(filePath, "fanart.jpg");
                        var LogoPath                = Path.Combine(filePath, "logo.png");
                        var ThumbPath               = Path.Combine(filePath, "poster.jpg");
                        var BannerPath              = Path.Combine(filePath, "banner.jpg");
                        System.IO.FileInfo fi       = new System.IO.FileInfo(fanartPath);
                        System.IO.FileInfo fiLogo   = new System.IO.FileInfo(LogoPath);
                        System.IO.FileInfo fiThumb  = new System.IO.FileInfo(ThumbPath);
                        System.IO.FileInfo fiBanner = new System.IO.FileInfo(BannerPath);

                        _parent.Trace("JRiver: ** filePath ** :" + filePath);
                        _parent.Trace("JRiver: ** fanArt.Jpg ** :" + fanartPath);
                        _parent.Trace("JRiver: ** Logo.Png ** :" + LogoPath);

                        if (fi.Exists)
                        {
                            Fanart2 = fanartPath;  //if fanart.jpg exisits in directory with movie use this otherwise default to JRiver Thumb
                        }

                        if (fiLogo.Exists)
                        {
                            LogoArt = LogoPath;
                        }

                        if (fiThumb.Exists)
                        {
                            Thumb2 = ThumbPath;
                        }
                        if (fiBanner.Exists)
                        {
                            BannerArt = BannerPath;
                        }
                    }
                    //** uses directories for fanart if present


                    DateTime myDateTime = new DateTime();
                    try
                    {
                        string datestring = "01/01/1900";

                        if (Field.TryGetValue("Date Created", out datestring))
                        {
                            myDateTime = DateTime.Parse(datestring);
                        }
                    }
                    catch (Exception ex)
                    {
                        // _parent.Trace("JRiver Error:  dateTime Exception: " + ex);
                        myDateTime = DateTime.Parse("1900-01-01");
                    }

                    string sqlFormattedDate = myDateTime.ToString("s");

                    //      List<string> MovieIcons = new List<string>();

                    // if null equals null-  doesn't make much sense but no harm.  Perhaps change to empty later.
                    // needs to be empty otherwise will fail with null exception down further
                    //

                    //     MovieIcons = GetMovieIcons(Movieitem);
                    int    DurationNumber = 0;
                    string Duration       = "";
                    if (Field.TryGetValue("Duration", out Duration))
                    {
                        DurationNumber = int.TryParse(Duration, out DurationNumber) ? DurationNumber : 0;
                    }

                    var movie = new ApiMovie
                    {
                        Title         = Field.ValueOrDefault("Name"),
                        Plot          = Field.ValueOrDefault("Comment"),
                        Votes         = "0",
                        Rating        = "Unrated",
                        Year          = 0,
                        Tagline       = Field.ValueOrDefault("Tag Line"),
                        IdScraper     = Field.ValueOrDefault("IMDB Id"),
                        Length        = new TimeSpan(0, 0, 0, DurationNumber).ToString() ?? "Unknown",
                        Mpaa          = Field.ValueOrDefault("MPAA Rating"),
                        Genre         = Field.ValueOrDefault("Genre"),
                        Director      = Field.ValueOrDefault("Director"),
                        OriginalTitle = Field.ValueOrDefault("Original Title"),
                        Studio        = Field.ValueOrDefault("Studio"),
                        IdFile        = Xbmc.IDtoNumber(FileKey),
                        IdMovie       = Xbmc.IDtoNumber(FileKey),
                        FileName      = Field.ValueOrDefault("Filename"),
                        Path          = Field.ValueOrDefault("Filename"),
                        PlayCount     = PlayCount,
                        Thumb         = Thumb2,
                        Banner        = BannerArt,
                        Logo          = LogoArt,
                        Fanart        = Fanart2,
                        Hash          = Xbmc.Hash(FileKey),
                        DateAdded     = sqlFormattedDate,
                        MovieIcons    = ""
                    };
                    if (isMovie)
                    {
                        movies.Add(movie);
                        _parent.Trace(movies.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                _parent.Trace("Exception with Movie Name :" + ex);
            }

            return(movies);
        }
Ejemplo n.º 18
0
        public Collection <ApiMovie> GetMoviesRefresh()
        {
            var movies = new Collection <ApiMovie>();

            //
            return(movies);

            //

            try
            {
                getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Sub%20Type]=[Movie]");
                _parent.Trace("GetMoviesRefresh  : Parent IP: " + _parent.IP);
                // iterate through Items
                foreach (var Field in Allitems)
                {
                    var isMovie = false;
                    //_parent.Trace(Field.Values.ToString());
                    var Logoutput = "";
                    Field.TryGetValue("Name", out Logoutput);
                    // _parent.Trace("************* Logging : " + Logoutput);

                    var result = "";

                    if (Field.TryGetValue("Media Sub Type", out result))
                    {
                        if (result == "Movie")
                        {
                            isMovie = true;
                            _parent.Trace("Movie Found: " + Logoutput + " and isMovie true");
                        }
                        else
                        {
                            continue;
                        }
                    }

                    long   PlayCount = 0;
                    string Plays     = "";
                    if (Field.TryGetValue("Number Plays", out Plays))
                    {
                        PlayCount = long.TryParse(Plays, out PlayCount) ? PlayCount : 0;
                    }
                    long   SeasonNumber = 0;
                    string Season       = "";
                    if (Field.TryGetValue("Season", out Season))
                    {
                        SeasonNumber = long.TryParse(Season, out SeasonNumber) ? SeasonNumber : 0;
                    }
                    long   EpisodeNumber = 0;
                    string EpisodeNo     = "";
                    if (Field.TryGetValue("Episode", out EpisodeNo))
                    {
                        EpisodeNumber = long.TryParse(EpisodeNo, out EpisodeNumber) ? EpisodeNumber : 0;
                    }
                    string FileKey = "";
                    string Thumb2  = "";
                    string Fanart2 = "";
                    if (Field.TryGetValue("Key", out FileKey))
                    {
                        Thumb2  = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Thumbnail&Format=jpg&Token=" + _parent.JRiverAuthToken ?? "";
                        Fanart2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Full&Format=jpg&Token=" + _parent.JRiverAuthToken ?? "";
                    }

                    DateTime myDateTime = new DateTime();
                    try
                    {
                        string datestring = "01/01/1900";

                        if (Field.TryGetValue("Date Created", out datestring))
                        {
                            myDateTime = DateTime.Parse(datestring);
                        }
                    }
                    catch (Exception ex)
                    {
                        // _parent.Trace("JRiver Caught Error:  dateTime:Exception: " + ex);
                        myDateTime = DateTime.Parse("1900-01-01");
                    }

                    string sqlFormattedDate = myDateTime.ToString("s");

                    //      List<string> MovieIcons = new List<string>();

                    // if null equals null-  doesn't make much sense but no harm.  Perhaps change to empty later.
                    // needs to be empty otherwise will fail with null exception down further
                    //

                    //     MovieIcons = GetMovieIcons(Movieitem);
                    int    DurationNumber = 0;
                    string Duration       = "";
                    if (Field.TryGetValue("Duration", out Duration))
                    {
                        DurationNumber = int.TryParse(Duration, out DurationNumber) ? DurationNumber : 0;
                    }

                    var movie = new ApiMovie
                    {
                        Title         = Field.ValueOrDefault("Name"),
                        Plot          = Field.ValueOrDefault("Comment"),
                        Votes         = "0",
                        Rating        = "Unrated",
                        Year          = 0,
                        Tagline       = Field.ValueOrDefault("Tag Line"),
                        IdScraper     = Field.ValueOrDefault("IMDB Id"),
                        Length        = new TimeSpan(0, 0, 0, DurationNumber).ToString() ?? "Unknown",
                        Mpaa          = Field.ValueOrDefault("MPAA Rating"),
                        Genre         = Field.ValueOrDefault("Genre"),
                        Director      = Field.ValueOrDefault("Director"),
                        OriginalTitle = Field.ValueOrDefault("Original Title"),
                        Studio        = Field.ValueOrDefault("Studio"),
                        IdFile        = Xbmc.IDtoNumber(FileKey),
                        IdMovie       = Xbmc.IDtoNumber(FileKey),
                        FileName      = Field.ValueOrDefault("Filename"),
                        Path          = Field.ValueOrDefault("Filename"),
                        PlayCount     = PlayCount,
                        Thumb         = Thumb2,
                        Banner        = "NoBanner",
                        Logo          = "NoLogo",
                        Fanart        = Fanart2,
                        Hash          = Xbmc.Hash(FileKey),
                        DateAdded     = sqlFormattedDate,
                        MovieIcons    = ""
                    };
                    if (isMovie)
                    {
                        movies.Add(movie);
                    }
                }
            }
            catch (Exception ex)
            {
                _parent.Trace("Uncaught Exception with Movie Name :" + ex);
            }

            return(movies);
        }