/// <summary> /// Initialise the form /// </summary> /// <param name="_userId"></param> public void InitialiseForm(String _userId, ICacheProvider _provider) { //m_tvdbHandler = new Tvdb(new BinaryCacheProvider(@"cachefile.bin"), Resources.API_KEY);new XmlCacheProvider("XmlCache") m_tvdbHandler = new TvdbHandler(_provider, Resources.API_KEY); m_tvdbHandler.InitCache(); List <TvdbLanguage> m_languages = m_tvdbHandler.Languages; foreach (TvdbLanguage l in m_languages) { if (l.Abbriviation.Equals("en")) { m_currentLanguage = l; } cbLanguage.Items.Add(l); } lblCurrentLanguage.Text = "[" + m_currentLanguage.ToString() + "]"; //enable/disable community features if (_userId != null) { TvdbUser user = new TvdbUser("user", _userId); m_tvdbHandler.UserInfo = user; List <TvdbSeries> favList = null; try { user.UserPreferredLanguage = m_tvdbHandler.GetPreferredLanguage(); favList = m_tvdbHandler.GetUserFavorites(user.UserPreferredLanguage); } catch (TvdbInvalidApiKeyException ex) { MessageBox.Show(ex.Message); } catch (TvdbNotAvailableException ex) { MessageBox.Show(ex.Message); } if (favList != null) { foreach (TvdbSeries s in favList) { if (s != null) { cbUserFavourites.Items.Add(s); } } } } else { cbUserFavourites.Text = "No userinfo set"; cbUserFavourites.Enabled = false; } cmdAddRemoveFavorites.Enabled = false; cmdSendSeriesRating.Enabled = false; raterSeriesYourRating.Enabled = false; }
/// <summary> /// Create the xml content to save a TvdbUser to file /// </summary> /// <param name="user">User to store</param> /// <returns>xml content</returns> internal String CreateUserData(TvdbUser user) { XElement xml = new XElement("Data"); StringBuilder favBuilder = new StringBuilder(); if (user.UserFavorites != null && user.UserFavorites.Count > 0) { foreach (int f in user.UserFavorites) { favBuilder.Append(f); favBuilder.Append(","); } } XElement preferred = new XElement("PreferredLanguage"); if (user.UserPreferredLanguage != null) { preferred.Add(new XAttribute("Id", user.UserPreferredLanguage.Id)); preferred.Add(new XAttribute("Abbreviation", user.UserPreferredLanguage.Abbriviation)); preferred.Add(new XAttribute("Name", user.UserPreferredLanguage.Name)); } xml.Add(new XElement("User", new XElement("Name", user.UserName), new XElement("Identifier", user.UserIdentifier), new XElement("Favorites", favBuilder.ToString()), preferred )); return(xml.ToString()); }
/// <summary> /// Saves the user data to cache /// </summary> /// <param name="_user">TvdbUser object</param> public void SaveToCache(TvdbUser _user) { if (_user != null) { m_xmlWriter.WriteUserData(_user, m_rootFolder + "\\user_" + _user.UserIdentifier + ".xml"); } }
/// <summary> /// Saves the user data to cache /// </summary> /// <param name="_user"></param> public void SaveToCache(TvdbUser _user) { if (_user != null) { m_filestream = new FileStream(m_rootFolder + "\\user_" + _user.UserIdentifier + ".ser", FileMode.Create); m_formatter.Serialize(m_filestream, _user); m_filestream.Close(); } }
private void cmdSetUser_Click(object sender, EventArgs e) { TvdbUser user = new TvdbUser(); user.UserIdentifier = txtUserId.Text; user.UserName = "******"; m_tvdbHandler.UserInfo = user; cmdGetAllSeriesRatings.Enabled = true; cmdGetRatingsForSeries.Enabled = true; }
/// <summary> /// Saves the user data to cache /// </summary> /// <param name="_user">TvdbUser object</param> public void SaveToCache(TvdbUser _user) { if (_user != null) { if (!Directory.Exists(m_rootFolder)) { Directory.CreateDirectory(m_rootFolder); } m_xmlWriter.WriteUserData(_user, m_rootFolder + Path.DirectorySeparatorChar + "user_" + _user.UserIdentifier + ".xml"); } }
/// <summary> /// Saves the user data to cache /// </summary> /// <param name="user">TvdbUser object</param> public void SaveToCache(TvdbUser user) { if (user == null) { return; } if (!Directory.Exists(_rootFolder)) { Directory.CreateDirectory(_rootFolder); } _xmlWriter.WriteUserData(user, _rootFolder + Path.DirectorySeparatorChar + "user_" + user.UserIdentifier + ".xml"); }
/// <summary> /// Saves the user data to cache /// </summary> /// <param name="_user">TvdbUser</param> public void SaveToCache(TvdbUser _user) { if (_user != null) { if (!Directory.Exists(m_rootFolder)) { Directory.CreateDirectory(m_rootFolder); } m_filestream = new FileStream(m_rootFolder + Path.DirectorySeparatorChar + "user_" + _user.UserIdentifier + ".ser", FileMode.Create); m_formatter.Serialize(m_filestream, _user); m_filestream.Close(); } }
/// <summary> /// Load the userinfo from the cache /// </summary> /// <param name="userId">Id of user</param> /// <returns>TvdbUser object</returns> public TvdbUser LoadUserInfoFromCache(String userId) { if (File.Exists(_rootFolder + Path.DirectorySeparatorChar + "user_" + userId + ".ser")) { try { FileStream fs = new FileStream(_rootFolder + Path.DirectorySeparatorChar + "user_" + userId + ".ser", FileMode.Open); TvdbUser retValue = (TvdbUser)_formatter.Deserialize(fs); fs.Close(); return(retValue); } catch (SerializationException) { return(null); } } return(null); }
/// <summary> /// Write the user data to file /// </summary> /// <param name="user">User to store</param> /// <param name="path">Path on disk</param> /// <returns>true if the file could be stored, false otherwise</returns> internal bool WriteUserData(TvdbUser user, String path) { String fileContent = CreateUserData(user); try { FileInfo info = new FileInfo(path); if (!info.Directory.Exists) { info.Directory.Create(); } File.WriteAllText(info.FullName, fileContent); return(true); } catch (Exception) { return(false); } }
/// <summary> /// Extract user data from /// </summary> /// <param name="data"></param> /// <returns></returns> internal List <TvdbUser> ExtractUser(String data) { //Stopwatch watch = new Stopwatch(); //watch.Start(); XDocument xml = XDocument.Parse(data); var allUsers = from episode in xml.Descendants("User") select new { Identifier = episode.Element("Identifier").Value, Name = episode.Element("Name").Value, Favorites = episode.Element("Favorites"), Preferred = episode.Element("PreferredLanguage") }; List <TvdbUser> userList = new List <TvdbUser>(); foreach (var a in allUsers) { TvdbUser user = new TvdbUser { UserIdentifier = a.Identifier, UserName = a.Name, UserPreferredLanguage = a.Preferred.HasAttributes ? TvDbUtils.ParseLanguage(a.Preferred.FirstAttribute.NextAttribute.Value) : TvdbLanguage.DefaultLanguage }; List <int> favList = new List <int>(); foreach (String f in a.Favorites.Value.Split(',')) { int val; if (Int32.TryParse(f, out val)) { favList.Add(val); } } user.UserFavorites = favList; userList.Add(user); } //watch.Stop(); //Log.Debug("Extracted " + userList.Count + " actors in " + watch.ElapsedMilliseconds + " milliseconds"); return(userList); }
/// <summary> /// Load the userinfo from the cache /// </summary> /// <param name="_userId"></param> /// <returns></returns> public TvdbUser LoadUserInfoFromCache(String _userId) { if (File.Exists(m_rootFolder + "\\user_" + _userId + ".ser")) { try { FileStream fs = new FileStream(m_rootFolder + "\\user_" + _userId + ".ser", FileMode.Open); TvdbUser retValue = (TvdbUser)m_formatter.Deserialize(fs); fs.Close(); return(retValue); } catch (SerializationException) { return(null); } } else { return(null); } }
public ListeSeries() { TvdbHandler tvdbHandler = new TvdbHandler(new XmlCacheProvider(System.Environment.CurrentDirectory + @"\Cache\Series\"), "69C6FDC7E5F4B985"); tvdbHandler.InitCache(); TvdbUser user = new TvdbUser("Danone-KiD", "401D8B31F9832AA3"); tvdbHandler.UserInfo = user; tvdbHandler.UserInfo.UserPreferredLanguage = tvdbHandler.GetPreferredLanguage(); //get list of all favorites and print them to console List <int> favList = tvdbHandler.GetUserFavouritesList(); foreach (int id in favList) { //TvdbSeries s = tvdbHandler.GetSeries(id, tvdbHandler.UserInfo.UserPreferredLanguage, true, true, true); Add(new Serie(tvdbHandler, id)); } //Thumb t = new Thumb("http://thetvdb.com/banners/" + s.BannerPath); //this.DataContext = s; //lstSaisons.ItemsSource = seasonList; tvdbHandler.CloseCache(); }
public void SaveToCache(TvdbUser _user) { throw new NotImplementedException(); }