~do-plugins/do-plugins/future

« back to all changes in this revision

Viewing changes to Launchpad/src/LaunchpadAnswersItem.cs

  • Committer: David Siegel
  • Date: 2008-12-23 21:35:54 UTC
  • Revision ID: david@david-desktop-20081223213554-f26d06t4ujmtjwja
Launchpad plugin needs a rewrite; dropped from the build (not updated).

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
18
 */
19
19
using System;
 
20
using System.Linq;
 
21
using System.Collections.Generic;
20
22
using System.Text.RegularExpressions;
 
23
 
21
24
using Do.Universe;
 
25
using Do.Platform;
22
26
 
23
27
 
24
28
using Mono.Unix;
37
41
                        get { return "LaunchpadAnswers.png@" + GetType ().Assembly.FullName; }
38
42
                }
39
43
 
40
 
                public bool SupportsItems(Item[] items)
 
44
                public override bool SupportsItems (IEnumerable<ITextItem> items)
41
45
                {
42
46
                        return true;
43
47
                }
44
48
 
45
 
                public void Perform (Item item)
 
49
                public override void Perform (IEnumerable<ITextItem> items)
46
50
                {
47
 
                        Regex spaces = new Regex(@"\s+");
48
 
                        string query = (item as ITextItem).Text;
49
 
                        string[] qwords = spaces.Split(query);
50
 
                        Util.Environment.Open("https://answers.launchpad.net/questions/+questions?field.search_text=" + string.Join("+", qwords));
 
51
                        Regex spaces = new Regex (@"\s+");
 
52
                        foreach (ITextItem item in items) {
 
53
                                string query = item.Text.Replace (" ", "+");
 
54
                                string url = "https://answers.launchpad.net/questions/+questions?field.search_text=" + query;
 
55
                                Services.Environment.OpenUrl (url);
 
56
                        }
51
57
                }
52
58
        }
53
59
 
61
67
                        get { return "LaunchpadAnswers.png@" + GetType ().Assembly.FullName; }
62
68
                }
63
69
 
64
 
                public bool SupportsItems(Item[] items)
 
70
                public override bool SupportsItems (IEnumerable<ITextItem> items)
65
71
                {
66
 
            if (items == null) { return false; }
67
72
                        //Package name can't have a space
68
 
                        Regex numbers = new Regex(@"\s+");
69
 
                        return !numbers.IsMatch((items[0] as ITextItem).Text);
 
73
                        Regex numbers = new Regex (@"\s+");
 
74
                        return !items.Any (item => numbers.IsMatch (item.Text));
70
75
                }
71
76
 
72
 
                public void Perform (Item item)
 
77
                public override void Perform (IEnumerable<ITextItem> items)
73
78
                {
74
 
                        Util.Environment.Open(string.Format("https://answers.launchpad.net/{0}", (item as ITextItem).Text));
 
79
                        foreach (ITextItem item in items) {
 
80
                                string url = "https://answers.launchpad.net/" + item.Text;
 
81
                                Services.Environment.OpenUrl (url);
 
82
                        }
75
83
                }
76
84
        }
77
85
}