public async System.Threading.Tasks.Task <string> UploadPictureAsync(string pathf, Stream f, int petid, string hashtag) { if (petid == -1) { return(English.ChooseAnimal()); } if (!String.IsNullOrEmpty(pathf)) { string uniqueBlobName = await DependencyService.Get <IBlobStorage.IBlobStorage>().UploadFileAsync(pathf, f); uniqueBlobName = GlobalVariables.blobstorageurl + uniqueBlobName; Petpictures petpictures = new Petpictures() { PetID = petid, PictureURL = uniqueBlobName, UploadDate = DateTime.UtcNow.ToString("") }; int success = DependencyService.Get <IDBAccess.IBlobStorage>().InsertPetpictures(petpictures); if (success == -1) { return(English.SomethingWentWrong()); } else { if (!String.IsNullOrEmpty(hashtag)) { var hashtags = hashtag.Trim().Split('#'); bool uploadedHashtag = true; foreach (var item in hashtags) { if (!string.IsNullOrEmpty(item)) { Hashtags ahashtag = new Hashtags(); ahashtag.hashtag = item.Replace(" ", string.Empty); ahashtag.petpicturesid = success; uploadedHashtag = DependencyService.Get <IDBAccess.IBlobStorage>().InsertHashtags(ahashtag); if (!uploadedHashtag) { return(English.SomethingWentWrong()); } } } } return(English.Empty()); } } else { return(English.ChooseAPicture()); } }
/// <summary> /// Update statistics with a new tweet that has been received from the Twitter api /// </summary> /// <param name="jsonString"></param> public void ProcessTweet(string jsonString) { var tweet = JsonConvert.DeserializeObject <Tweet>(jsonString); // not sure why this is happening, but receiving empty tweets from the API occasionally - throw them away if (tweet == null) { return; } // this is compute intensive, perform outside of the lock var foundEmojis = _emojiHelper.FindEmojis(tweet.data.text); // update statistics with information about this tweet - lock to be threadsafe lock (padlock) { Averages.Recompute(); Emojis.AddProperties(foundEmojis); Hashtags.AddProperties(tweet.data.entities?.hashtags?.Select(x => x.tag)); Urls.AddProperties(tweet.data.entities?.urls); } }
public void ShouldReturnAnInstanceOfHashtags() { setRequireVariables(); Hashtags hashtags = client.Hashtags(text: text); Assert.IsInstanceOfType(hashtags, typeof(Hashtags)); }
internal void RemoveHashTag(string hashTag) { if (Hashtags == null) { return; } Hashtags.Remove(hashTag); }
/// <summary> /// Add the tag to the list of hashtags /// </summary> /// <param name="newTag"></param> public void AddHashTag(string newTag) { if (Hashtags == null) { Hashtags = new HashSet <string>(); } Hashtags.Add(newTag); }
private void InitialiseHashtagLikes() { HashtagLikes = new List <int>(); for (int i = 0; i < Hashtags.Count(); i++) { HashtagLikes.Add(0); } }
public void Hashtagss() { hashtags = new ObservableCollection <string>(); foreach (InstaSearchData hash in this.lista) { Hashtags.Add(hash.Hastag); } }
public string UploadPictureAsync(bool addedPhoto, Stream f, int petid, string hashtag) { if (petid == -1) { return(English.ChooseAnimal()); } if (addedPhoto) { Petpictures petpictures = new Petpictures() { PetID = petid, PictureURL = new Segédfüggvények().ReadFully(f), UploadDate = DateTime.UtcNow.ToString("") }; int success = GlobalVariables.databaseConnection.UploadPhoto(petpictures); if (success == -1) { return(English.SomethingWentWrong()); } else { if (!string.IsNullOrEmpty(hashtag)) { var hashtags = hashtag.Trim().Split('#'); bool uploadedHashtag = true; foreach (var item in hashtags) { if (!string.IsNullOrEmpty(item)) { Hashtags ahashtag = new Hashtags(); ahashtag.hashtag = item.Replace(" ", string.Empty); ahashtag.petpicturesid = success; uploadedHashtag = GlobalVariables.databaseConnection.InsertHashtags(ahashtag); if (!uploadedHashtag) { return(English.SomethingWentWrong()); } } } } return(English.Empty()); } } else { return(English.ChooseAPicture()); } }
public IHttpActionResult Hashtags(HashtagsRequest hashtagsRequest) { if (this.Request.Method == HttpMethod.Options) { return(new OptionsOkResult()); } Hashtags result = this.textAnalize.Hashtags(hashtagsRequest.Url, hashtagsRequest.Text, hashtagsRequest.Language); return(Ok(result)); }
/// <summary> /// returns all hashtags /// from the hashtag list /// as well as the number of times /// they appear in the list /// </summary> /// <returns>strout</returns> public string getAllHashtags() { string strout = ""; var q = Hashtags.GroupBy(x => x) .Select(g => new { Value = g.Key, Count = g.Count() }) .OrderByDescending(x => x.Count); foreach (var h in q) { strout = strout + ("Hashtag: " + h.Value + " Mentions: " + h.Count + "\n"); } return(strout); }
public bool InsertHashtags(Hashtags hashtags) { var message = Segédfüggvények.PostPut(HttpMethod.Post, hashtags, "Hashtags/Inserthashtag"); if (message.StatusCode == System.Net.HttpStatusCode.OK) { return(true); } else { return(false); } }
public void ShouldAddHashtag() { //arrange var hashtag = new Hashtags { Name = Guid.NewGuid().ToString().Substring(10) }; var dataLayer = new DataLayer.SQL.DataLayer(ConnectionString); //act hashtag = dataLayer.AddHashtag(hashtag); //asserts var resultHashtag = dataLayer.GetHashtag(hashtag.Id); Assert.AreEqual(hashtag.Name, resultHashtag.Name); }
//получение id хэштега public Guid GetHashtagId(string name) { int count; Guid id; using (var connection = new SqlConnection(_connectionString)) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = "select count (id) from Hashtags where name = @name"; command.Parameters.AddWithValue("@name", name); command.ExecuteNonQuery(); using (var reader = command.ExecuteReader()) { reader.Read(); count = reader.GetInt32(0); } } if (count == 0) //create new # { Hashtags hashtag = new Hashtags { Id = Guid.NewGuid(), Name = name }; AddHashtag(hashtag); id = hashtag.Id; } else { using (var command2 = connection.CreateCommand()) { command2.CommandText = "select id from Hashtags where name = @name"; command2.Parameters.AddWithValue("@name", name); command2.ExecuteNonQuery(); using (var reader = command2.ExecuteReader()) { reader.Read(); id = reader.GetGuid(0); } } } } return(id); }
//заполнение таблицы Hashtag public Hashtags AddHashtag(Hashtags hashtag) { using (var connection = new SqlConnection(_connectionString)) { connection.Open(); using (var command = connection.CreateCommand()) { //hashtag.Id = Guid.NewGuid(); command.CommandText = "insert into Hashtags (ID, Name) values (@ID, @Name)"; command.Parameters.AddWithValue("@ID", hashtag.Id); command.Parameters.AddWithValue("@Name", hashtag.Name); command.ExecuteNonQuery(); logger.Info("Хештег {0} добавлен", hashtag.Name); return(hashtag); } } }
private void CheckTrending(string tweetBody) { Regex regex = new Regex(@"(?<=\s|^)#(\w*[A-Za-z_]+\w*)"); var matches = regex.Matches(tweetBody); foreach (Match item in matches) { Hashtags tag = Instance.Hashtags.FirstOrDefault(x => item.Value == x.Hashtag); if (tag != null) { var index = Instance.Hashtags.IndexOf(tag); tag.Count += 1; Instance.Hashtags[index] = tag; } else { Instance.Hashtags.Add(new Hashtags(item.Value, 1)); } } }
private void InitializeEntities(TweetMode tweetMode) { // NOTE: The STREAMING API and REST API does not provide the same JSON structure based on the TweetMode used. // // * STREAMING API : Adds a new ExtendedTweet regardless of the TweetMode. To have some consistency with the REST API, // we decided that in COMPAT mode, the Entities will be restricted to what is available in the REST API. // * REST API : Adds FullText and additional properties if the TweetMode is extended. var isTweetComingFromStreamingAPI = _tweetDTO?.ExtendedTweet != null; var useStreamingApiExtendedTweetForEntities = tweetMode == TweetMode.Extended && isTweetComingFromStreamingAPI; // Get the entities and extended_entities for whichever Tweet DTO we're using var entities = useStreamingApiExtendedTweetForEntities ? _tweetDTO.ExtendedTweet.LegacyEntities : _tweetDTO?.LegacyEntities; var extendedEntities = useStreamingApiExtendedTweetForEntities ? _tweetDTO.ExtendedTweet.ExtendedEntities : _tweetDTO?.Entities; // Populate for each type of entity. Urls = entities?.Urls; UserMentions = entities?.UserMentions; Hashtags = entities?.Hashtags; Symbols = entities?.Symbols; // Media can also be in the extended_entities field. https://dev.twitter.com/overview/api/entities-in-twitter-objects#extended_entities // If that's populated, we must use it instead or risk missing media Medias = extendedEntities?.Medias ?? entities?.Medias ?? new List <IMediaEntity>(); // If this is a retweet, it's also now possible for an entity to get cut off of the end of the tweet entirely. // If the same Tweet is fetched over the REST API, these entities get excluded, so lets do the same. if (_tweetDTO?.RetweetedTweetDTO != null) { Urls = Urls?.Where(e => e.Indices[0] != e.Indices[1]).ToList(); UserMentions = UserMentions?.Where(e => e.Indices[0] != e.Indices[1]).ToList(); Hashtags = Hashtags?.Where(e => e.Indices[0] != e.Indices[1]).ToList(); Symbols = Symbols?.Where(e => e.Indices[0] != e.Indices[1]).ToList(); Medias = Medias?.Where(e => e.Indices[0] != e.Indices[1]).ToList(); } }
public bool InsertHashtags(Hashtags hashtags) { return(databaseConnections.InsertHashtags(hashtags)); }
/// <summary> /// adds a hashtag to the hashtag list /// </summary> /// <param name="url"></param> public void addHashtags(string tag) { Hashtags.Add(tag); }
private void MainWindow_Loaded(object sender, RoutedEventArgs e) { var sb = new SQLiteConnectionStringBuilder { DataSource = "cache.db3" }; using (var connection = new SQLiteConnection(sb.ToString())) { connection.Open(); using (var cmd = connection.CreateCommand()) { cmd.CommandText = "SELECT Id, Tag, Expires FROM Hashtags;"; using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var tag = new HashtagEntry(); //var tmp = reader.GetValue( 0 ); //tag.Id = (ulong)reader.GetInt32( 0 ); tag.Hashtag = reader.GetString(1); tag.Expires = Date(reader.GetInt64(2)); Hashtags.Add(tag); } } } using (var cmd = connection.CreateCommand()) { cmd.CommandText = "SELECT Id, UserName, UserData, Expires FROM Users;"; using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var usr = new UserEntry(); usr.Id = (ulong)reader.GetInt64(0); usr.Name = reader.GetString(1); usr.Json = !reader.IsDBNull(2) ? reader.GetString(2) : ""; usr.Expires = Date(reader.GetInt64(3)); Users.Add(usr); } } } using (var cmd = connection.CreateCommand()) { cmd.CommandText = "SELECT Id, UserId, StatusData, Expires FROM Statuses;"; using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var status = new StatusEntry(); status.Id = (ulong)reader.GetInt64(0); status.User = (ulong)reader.GetInt64(1); status.Json = reader.GetString(2); status.Expires = Date(reader.GetInt64(3)); Statuses.Add(status); } } } } }
internal bool AlreadyHasHashTag(string newTag) { return(Hashtags != null && Hashtags.Contains(newTag)); }
private void textBox1_TextChanged(object sender, TextChangedEventArgs e) { if (ReplacingNow) { return; } if (!WordStart) { foreach (TextChange change in e.Changes) { if (change.AddedLength > 0) { switch (textBoxContent.Text.Substring(change.Offset, 1)) { case " ": case ",": case ".": case ":": case ";": case "(": case ")": case "!": case "?": case "\"": WordStart = true; UsernameStarted = false; HashtagStarted = false; break; default: WordStart = false; break; } if (WordStart) { break; } } } } if (UsernameStarted || HashtagStarted) { foreach (TextChange change in e.Changes) { if (change.AddedLength > 0) { switch (textBoxContent.Text.Substring(change.Offset, 1)) { case " ": case ",": case ".": case ":": case ";": case "(": case ")": case "!": case "?": case "\"": WordStart = true; UsernameStarted = false; HashtagStarted = false; break; default: WordStart = false; break; } if (WordStart) { break; } } } } if (WordStart && (!UsernameStarted && !HashtagStarted)) { foreach (TextChange change in e.Changes) { if (change.AddedLength > 0) { if (textBoxContent.Text.Substring(change.Offset, 1) == " ") { WordStart = true; continue; } else { WordStart = false; } if (textBoxContent.Text.Substring(change.Offset, 1) == "@") { UsernameStarted = true; StartPosition = change.Offset; CurrentText = ""; } else if (textBoxContent.Text.Substring(change.Offset, 1) == "#") { HashtagStarted = true; StartPosition = change.Offset; CurrentText = ""; } } } } if (UsernameStarted) { foreach (TextChange change in e.Changes) { if (change.AddedLength > 0) { CurrentText += textBoxContent.Text.Substring(change.Offset, change.AddedLength); } else if (change.RemovedLength > 0) { if (change.RemovedLength >= CurrentText.Length) { UsernameStarted = false; CurrentText = ""; MatchingTexts.Clear(); popupMatchingUsernames.IsOpen = false; return; } else if (change.RemovedLength == CurrentText.Length) { WordStart = true; CurrentText = ""; popupMatchingUsernames.IsOpen = false; MatchingTexts.Clear(); } else { CurrentText = CurrentText.Substring(0, CurrentText.Length - change.RemovedLength); } } } if (Usernames.Where(name => name.ToLower().StartsWith(CurrentText.ToLower())).Count() > 0) { MatchingTexts.Clear(); foreach (string username in Usernames.Where(name => name.ToLower().StartsWith(CurrentText.ToLower()))) { MatchingTexts.Add(username); if (MatchingTexts.Count >= Properties.Settings.Default.MaxNumberOfEntriesInAutocomplete) { break; } } popupMatchingUsernames.PlacementRectangle = textBoxContent.GetRectFromCharacterIndex(textBoxContent.CaretIndex, true); popupMatchingUsernames.IsOpen = true; } else { MatchingTexts.Clear(); popupMatchingUsernames.IsOpen = false; } } else if (HashtagStarted) { foreach (TextChange change in e.Changes) { if (change.AddedLength > 0) { CurrentText += textBoxContent.Text.Substring(change.Offset, change.AddedLength); } else if (change.RemovedLength > 0) { if (change.RemovedLength >= CurrentText.Length) { HashtagStarted = false; CurrentText = ""; MatchingTexts.Clear(); popupMatchingUsernames.IsOpen = false; return; } else if (change.RemovedLength == CurrentText.Length) { WordStart = true; CurrentText = ""; popupMatchingUsernames.IsOpen = false; MatchingTexts.Clear(); } else { CurrentText = CurrentText.Substring(0, CurrentText.Length - change.RemovedLength); } } } if (Hashtags.Where(tag => tag.ToLower().StartsWith(CurrentText.ToLower())).Count() > 0) { MatchingTexts.Clear(); foreach (string hashtag in Hashtags.Where(tag => tag.ToLower().StartsWith(CurrentText.ToLower()))) { MatchingTexts.Add(hashtag); if (MatchingTexts.Count >= Properties.Settings.Default.MaxNumberOfEntriesInAutocomplete) { break; } } popupMatchingUsernames.PlacementRectangle = textBoxContent.GetRectFromCharacterIndex(textBoxContent.CaretIndex, true); popupMatchingUsernames.IsOpen = true; } else { MatchingTexts.Clear(); popupMatchingUsernames.IsOpen = false; } } }