// Generate Tweet from Json public ITweet GenerateTweetFromJson(string json, TweetMode?tweetMode = null) { var tweetDTO = _jsonObjectConverter.DeserializeObject <ITweetDTO>(json); if (tweetDTO == null || tweetDTO.Id == TweetinviSettings.DEFAULT_ID) { return(null); } return(GenerateTweetFromDTO(tweetDTO, tweetMode)); }
private void TryRaiseTweetCreatedEvents(string eventName, JObject jsonObjectEvent) { var tweetCreatedEvent = jsonObjectEvent[eventName]; var tweetCreatedEventJson = tweetCreatedEvent.ToString(); var tweetDTOs = _jsonObjectConverter.DeserializeObject <ITweetDTO[]>(tweetCreatedEventJson); tweetDTOs.ForEach(tweetDTO => { var tweet = _tweetFactory.GenerateTweetFromDTO(tweetDTO); this.Raise(TweetCreated, new TweetReceivedEventArgs(tweet, "")); }); }
private ICredentialsRateLimits GetTokenRateLimitsFromTwitter(ITwitterCredentials credentials) { var isApplicationOnlyCreds = string.IsNullOrEmpty(credentials.AccessToken) || string.IsNullOrEmpty(credentials.AccessTokenSecret); if (isApplicationOnlyCreds && string.IsNullOrEmpty(credentials.ApplicationOnlyBearerToken)) { return(null); } var result = _credentialsAccessor.ExecuteOperationWithCredentials(credentials, () => { var twitterQuery = _twitterQueryFactory.Create(_helpQueryGenerator.GetCredentialsLimitsQuery(), HttpMethod.GET, credentials); try { var webRequestResult = _webRequestExecutor.ExecuteQuery(twitterQuery); var json = webRequestResult.Text; return(_jsonObjectConverter.DeserializeObject <ICredentialsRateLimits>(json)); } catch (TwitterException) { return(null); } }); return(result); }
public async Task <IGetWebhookSubscriptionsCountResultDTO> CountNumberOfSubscriptionsAsync( IConsumerOnlyCredentials credentials) { var query = "https://api.twitter.com/1.1/account_activity/subscriptions/count.json"; var result = _twitterAccessor.ExecuteQuery(query, HttpMethod.GET, credentials, null); if (result.StatusCode == 32) { return(null); } var subscriptionsCount = _jsonObjectConverter.DeserializeObject <IGetWebhookSubscriptionsCountResultDTO>(result.Text); return(await Task.FromResult(subscriptionsCount)); }
private ITokenRateLimits GetTokenRateLimitsFromTwitter(ITwitterCredentials credentials) { if (_isRetrievingData) { return(null); } var isApplicationOnlyCreds = string.IsNullOrEmpty(credentials.AccessToken) || string.IsNullOrEmpty(credentials.AccessTokenSecret); if (isApplicationOnlyCreds && string.IsNullOrEmpty(credentials.ApplicationOnlyBearerToken)) { return(null); } _isRetrievingData = true; var result = _credentialsAccessor.ExecuteOperationWithCredentials(credentials, () => { var twitterQuery = _twitterQueryFactory.Create(_helpQueryGenerator.GetCredentialsLimitsQuery(), HttpMethod.GET, credentials); try { string jsonResponse = _twitterRequester.ExecuteQuery(twitterQuery); return(_jsonObjectConverter.DeserializeObject <ITokenRateLimits>(jsonResponse)); } catch (TwitterException) { return(null); } }); _isRetrievingData = false; return(result); }
public IAccountSettings GenerateAccountSettingsFromJson(string json) { var accountSettingsDTO = _jsonObjectConverter.DeserializeObject <IAccountSettingsDTO>(json); if (accountSettingsDTO == null) { return(null); } return(GenerateAccountSettingsFromDTO(accountSettingsDTO)); }
// Generate Message from Json public IMessage GenerateMessageFromJson(string jsonMessage) { var messageDTO = _jsonObjectConverter.DeserializeObject <IMessageDTO>(jsonMessage); if (messageDTO.Id == TweetinviSettings.DEFAULT_ID) { return(null); } return(GenerateMessageFromMessageDTO(messageDTO)); }
// Generate Tweet from Json public ITweet GenerateTweetFromJson(string jsonTweet) { var tweetDTO = _jsonObjectConverter.DeserializeObject <ITweetDTO>(jsonTweet); if (tweetDTO.Id == TweetinviConfig.DEFAULT_ID) { return(null); } return(GenerateTweetFromDTO(tweetDTO)); }
// Generate SavedSearch from Json public ISavedSearch GenerateSavedSearchFromJson(string json) { var savedSearchDTO = _jsonObjectConverter.DeserializeObject <ISavedSearchDTO>(json); if (savedSearchDTO == null || savedSearchDTO.Id == TweetinviSettings.DEFAULT_ID) { return(null); } return(GenerateSavedSearchFromDTO(savedSearchDTO)); }
// Generate Message from Json public IMessage GenerateMessageFromJson(string jsonMessage) { var eventWithAppDTO = _jsonObjectConverter.DeserializeObject <IEventWithAppDTO>(jsonMessage); if (eventWithAppDTO.Event == null || eventWithAppDTO.Event.Type != EventType.MessageCreate || eventWithAppDTO.Event.Id == TweetinviSettings.DEFAULT_ID) { return(null); } return(GenerateMessageFromEventWithAppDTO(eventWithAppDTO)); }
private ITokenRateLimits GetTokenRateLimitsFromTwitter(IOAuthCredentials credentials) { if (_isRetrievingData) { return(null); } _isRetrievingData = true; var result = _credentialsAccessor.ExecuteOperationWithCredentials(credentials, () => { var twitterQuery = _twitterQueryFactory.Create(_helpQueryGenerator.GetCredentialsLimitsQuery(), HttpMethod.GET, credentials); string jsonResponse = _twitterRequester.ExecuteQuery(twitterQuery); return(_jsonObjectConverter.DeserializeObject <ITokenRateLimits>(jsonResponse)); }); _isRetrievingData = false; return(result); }
private void TryRaiseTweetDeleted(JToken jToken) { jToken = jToken["status"]; if (jToken == null) { return; } var deletedTweetInfo = _jsonObjectConverter.DeserializeObject <TweetDeletedInfo>(jToken.ToString()); var deletedTweetEventArgs = new TweetDeletedEventArgs(deletedTweetInfo); this.Raise(TweetDeleted, deletedTweetEventArgs); }
public ITweetList GenerateTweetListFromJson(string jsonList) { var tweetListDTO = _jsonObjectConverter.DeserializeObject <ITweetListDTO>(jsonList); return(GenerateTweetListFromDTO(tweetListDTO)); }
private async Task Process(string[] files) { var monitor = new PerformanceMonitor(files.Length); using (Observable.Interval(TimeSpan.FromSeconds(30)).Subscribe(item => log.LogInformation(monitor.ToString()))) { var inputBlock = new BufferBlock <ProcessingChunk <string> >(new DataflowBlockOptions { BoundedCapacity = 1000000 }); var deserializeBlock = new TransformBlock <ProcessingChunk <string>, ProcessingChunk <TweetDTO> >( json => new ProcessingChunk <TweetDTO>(json.FileName, json.ChunkId, json.TotalChunks, jsonConvert.DeserializeObject <TweetDTO>(json.Data)), new ExecutionDataflowBlockOptions { BoundedCapacity = 2, MaxDegreeOfParallelism = Environment.ProcessorCount }); var outputBlock = new ActionBlock <ProcessingChunk <TweetDTO> >( Deserialized, new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }); inputBlock.LinkTo(deserializeBlock, new DataflowLinkOptions { PropagateCompletion = true }); deserializeBlock.LinkTo(outputBlock, new DataflowLinkOptions { PropagateCompletion = true }); foreach (var file in files) { try { var data = fileLoader.Load(file); for (var i = 0; i < data.Length; i++) { await inputBlock.SendAsync(new ProcessingChunk <string>(file, i, data.Length, data[i])).ConfigureAwait(false); } monitor.Increment(); } catch (Exception ex) { log.LogError(ex, "Failed"); } } inputBlock.Complete(); await Task.WhenAll(inputBlock.Completion, outputBlock.Completion).ConfigureAwait(false); } }
// Execute<T> public T ExecuteGETQuery <T>(string query, JsonConverter[] converters = null) where T : class { string jsonResponse = ExecuteQuery(query, HttpMethod.GET); return(_jsonObjectConverter.DeserializeObject <T>(jsonResponse, converters)); }
// Generate User from Json public IUser GenerateUserFromJson(string jsonUser) { var userDTO = _jsonObjectConverter.DeserializeObject <IUserDTO>(jsonUser); return(GenerateUserFromDTO(userDTO)); }
public ITwitterList GenerateListFromJson(string json) { var listDTO = _jsonObjectConverter.DeserializeObject <ITwitterListDTO>(json); return(CreateListFromDTO(listDTO)); }
public IRelationshipDetails GenerateFriendshipDetailsFromJson(string json) { var dto = _jsonObjectConverter.DeserializeObject <IRelationshipDetailsDTO>(json); return(GenerateRelationshipFromRelationshipDTO(dto)); }