예제 #1
0
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			var name = this.UserName ?? client.Account.Name;
			IEnumerable<IEntry> rt;

			switch (this.Mode)
			{
				case IndexMode.Index:
					rt = client.Lists.Index(name);

					break;
				case IndexMode.Subscriptions:
					rt = client.Lists.Subscriptions(name);

					break;
				case IndexMode.Memberships:
					rt = client.Lists.Memberships(name);

					break;
				default:
					rt = Enumerable.Empty<IEntry>();

					break;
			}

			if (name != client.Account.Name)
				rt = rt.ReduceAuthenticatedQuery();

			return rt;
		}
 public void Set_StateRange(StatusRange <float, float> info)
 {
     this.txtFromValue.Text = info.RangeVal.Start.ToString();
     this.txtToValue.Text   = info.RangeVal.End.ToString();
     this.cboColor.Color    = info.Color;
     this.txtDes.Text       = info.Des;
 }
 public void Set_StateRange(StatusRange<float, float> info)
 {
     this.txtFromValue.Text = info.RangeVal.Start.ToString();
     this.txtToValue.Text = info.RangeVal.End.ToString();
     this.cboColor.Color = info.Color;
     this.txtDes.Text = info.Des;
 }
예제 #4
0
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			if (string.IsNullOrEmpty(this.Query))
				return Enumerable.Empty<IEntry>();
			else
				return client.StatusCache.GetStatuses()
										 .AsQueryable()
										 .Where(this.Query);
		}
예제 #5
0
		/// <summary>
		/// クライアントと取得範囲を指定しソースからエントリを取得します。
		/// </summary>
		/// <param name="client">クライアント。</param>
		/// <param name="range">取得範囲。</param>
		/// <returns>取得したエントリ。</returns>
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			if (this.Query == null)
				return Enumerable.Empty<IEntry>();

			var words = this.Query.Split(' ', ' ');

			if (words.Any())
				return client.StatusCache.GetStatuses().Where(_ => words.All(_.UserName.Contains) || words.All(_.Text.Contains));
			else
				return Enumerable.Empty<IEntry>();
		}
예제 #6
0
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			if (statuses == null ||
				range == null ||
				range.Page == 1 ||
				range.Page < currentPage)
			{
				statuses = client.Statuses.Followers(this.UserName ?? client.Account.Name).GetEnumerator();
				currentPage = 1;
			}

			for (int i = currentPage; i <= range.Page; i++)
				statuses.MoveNext();

			return statuses.Current;
		}
 public StatusRange <float, float> Get_StateRange()
 {
     try
     {
         var ret = new StatusRange <float, float>
         {
             Name     = this.ID,
             RangeVal = new ValueRange <float, float>(float.Parse(this.txtFromValue.Text), float.Parse(this.txtToValue.Text)),
             Color    = this.cboColor.Color,
             Des      = this.txtDes.Text,
             ForPerc  = false
         };
         return(ret);
     }
     catch {}
     return(null);
 }
 public StatusRange<float, float> Get_StateRange()
 {
     try
     {
         var ret = new StatusRange<float, float>
         {
             Name = this.ID,
             RangeVal = new ValueRange<float, float>(float.Parse(this.txtFromValue.Text), float.Parse(this.txtToValue.Text)),
             Color = this.cboColor.Color,
             Des = this.txtDes.Text,
             ForPerc = false
         };
         return ret;
     }
     catch {}
     return null;
 }
예제 #9
0
		/// <summary>
		/// クライアントと取得範囲を指定しソースからエントリを取得します。
		/// </summary>
		/// <param name="client">クライアント。</param>
		/// <param name="range">取得範囲。</param>
		/// <returns>取得したエントリ。</returns>
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			return client.Statuses.RetweetsOfMe(range);
		}
예제 #10
0
		/// <summary>
		/// クライアントと取得範囲を指定しソースからエントリを取得します。
		/// </summary>
		/// <param name="client">クライアント。</param>
		/// <param name="range">取得範囲。</param>
		/// <returns>取得したエントリ。</returns>
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			return client.Statuses.Mentions(range);
		}
예제 #11
0
		/// <summary>
		/// クライアントと取得範囲を指定しソースからエントリを取得します。
		/// </summary>
		/// <param name="client">クライアント。</param>
		/// <param name="range">取得範囲。</param>
		/// <returns>取得したエントリ。</returns>
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			return client.Favorites.Index(this.UserName ?? client.Account.Name, range.Page);
		}
		/// <summary>
		/// クライアントと取得範囲を指定しソースからエントリを取得します。
		/// </summary>
		/// <param name="client">クライアント。</param>
		/// <param name="range">取得範囲。</param>
		/// <returns>取得したエントリ。</returns>
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			return client.DirectMessages.Sent(range);
		}
예제 #13
0
		/// <summary>
		/// クライアントと取得範囲を指定しソースからエントリを取得します。
		/// </summary>
		/// <param name="client">クライアント。</param>
		/// <param name="range">取得範囲。</param>
		/// <returns>取得したエントリ。</returns>
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			try
			{
				var s = GetScope();

				if (s != null)
				{
					var rt = s.GetVariable("GetStatuses")(client, range);

					if (rt is IEnumerable<IEntry>)
						return rt;
					else if (rt is IEnumerable)
						return ((IEnumerable)rt).Cast<IEntry>();
				}
			}
			catch (Exception ex)
			{
				Client.Instance.OnThrowScriptError(new EventArgs<string, Exception>(this.Name, ex));
				Client.Instance.FilterSourceScriptWatcher.SuspendScript(this.Name);
			}

			return null;
		}
예제 #14
0
		/// <summary>
		/// クライアントと取得範囲を指定しソースからエントリを取得します。
		/// </summary>
		/// <param name="client">クライアント。</param>
		/// <param name="range">取得範囲。</param>
		/// <returns>取得したエントリ。</returns>
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			return client.Statuses.UserTimeline(client.Account.UserID, range);
		}
예제 #15
0
		/// <summary>
		/// クライアントと取得範囲を指定しソースからエントリを取得します。
		/// </summary>
		/// <param name="client">クライアント。</param>
		/// <param name="range">取得範囲。</param>
		/// <returns>取得したエントリ。</returns>
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			return client.Statuses.PublicTimeline(range).ReduceAuthenticatedQuery();
		}
예제 #16
0
		protected override IEnumerable<IEntry> GetStatuses(TwitterClient client, StatusRange range)
		{
			return this.Sequence;
		}