public void Execute(Session session, CommandLine line, int[] matchedGroupId) { var variables = session.GetVariables(); Proxy inoreader = null; foreach (var id in matchedGroupId) { switch (id) { case 0: if (string.IsNullOrWhiteSpace(this.UserName)) { session.WriteLine("username can not be white space."); return; } if (string.IsNullOrWhiteSpace(this.Password)) { session.WriteLine("password can not be white space."); return; } inoreader = new Proxy("1000001033", "P2OzUTKYMooEz2aYTnB9qS98MIHWNj4B", this.UserName, this.Password); inoreader.Authenticate(); break; case 1: if (string.IsNullOrWhiteSpace(this.Token)) { session.WriteLine("token can not be white space."); return; } inoreader = new Proxy("1000001033", "P2OzUTKYMooEz2aYTnB9qS98MIHWNj4B", this.Token); break; } } Debug.Assert(inoreader != null); if (string.IsNullOrWhiteSpace(inoreader.Token)) { session.WriteLine("get token failed."); return; } else { session.WriteLine($"got token: {inoreader.Token}"); variables.Inoreader = inoreader; } }
public void Execute(Session session, CommandLine line) { if (session.IsAuthed()) { var user = session.GetVariables().Inoreader.GetUserInfo(); session.WriteLine(user.UserId); } }
public void Execute(Session session, CommandLine line) { if (session.IsAuthed() && session.IsFeedsInitialized()) { var inoreader = session.GetInoreader(); var variables = session.GetVariables(); inoreader.MarkAsRead(variables.FiltedItems.Select(z => z.Id).ToArray()); variables.FiltedItems = null; session.WriteLine("done."); } }
public void Subscriptions(Session session, CommandLine line) { if (session.IsAuthed()) { var inoreader = session.GetInoreader(); var subscriptions = inoreader.GetSubscriptions(); session.GetVariables().Subscriptions = subscriptions; for (var i = 0; i < subscriptions.Count; i++) { var item = subscriptions[i]; session.WriteLine($"[{i}] {item.Title}"); } } }
public void Feed(Session session, CommandLine line, [MethodParameter("id")][Alias("i")][Desciption("id of subscription")] int subscriptionId, [MethodParameter("count")][Alias("c")][Alias("n")][Desciption("count of feeds")] int? c = null, [MethodParameter("filter")][Alias("f")][Desciption("filter of feeds")] ItemsFilterEnum filter = ItemsFilterEnum.OnlyUnread) { if (session.IsAuthed()) { var inoreader = session.GetInoreader(); var variables = session.GetVariables(); if (variables.Subscriptions == null) { session.WriteLine("list sub before list feed."); return; } if (subscriptionId < 0 || subscriptionId >= variables.Subscriptions.Count) { session.WriteLine("invaild id."); return; } var id = variables.Subscriptions[subscriptionId].Id; var count = c ?? 200; if (count < 1) { session.WriteLine("count must > 0."); return; } var items = inoreader.GetItems(id, filter: filter, count: count); variables.FiltedItems = items.Items; session.PrintItem(); } }