cinch-youtube-search 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/cinch/plugins/you_tube.rb +45 -0
  3. metadata +74 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: cec489160dba33a26f926c94c475605a7d1c2adb
4
+ data.tar.gz: 80a105e46ca9138ef7a33b20f7fc00543ce4ceef
5
+ SHA512:
6
+ metadata.gz: 89cdcc1d99865ecc757269f443153755e16d271ef19a926b8b7fe055fd105b0b74e6798786a3e433c33bf9fc6e59c5ad6f46b43ffc732d20345db5ddbce600d3
7
+ data.tar.gz: 7af09d762bf86a97c70820d4057e9048bf05de14b018515774769debaa9217d20b0b405fa782e23184558bee511a34ec5dbcf9d33d490560ed61adc1a4224ae7
@@ -0,0 +1,45 @@
1
+ require 'cinch'
2
+ require 'open-uri'
3
+ require 'nokogiri'
4
+ require 'cgi'
5
+
6
+ module Cinch
7
+ module Plugins
8
+ class YouTube
9
+ include Cinch::Plugin
10
+
11
+ match /youtube (.+)/
12
+
13
+ def execute(m, query)
14
+ query.gsub! /\s/, '+'
15
+ data = lookup(m, query)
16
+ return m.reply "No results found for #{query}." if data.empty?
17
+ result(m, data)
18
+ end
19
+
20
+ def lookup(m, terms)
21
+ yt_logo = "0,4You1,0Tube"
22
+ query = URI::encode(terms)
23
+ doc = Nokogiri::XML(open("https://gdata.youtube.com/feeds/api/videos?q=%s" % query))
24
+ info = doc.css("entry")
25
+ results = []
26
+
27
+ for i in info
28
+ title = i.css("title").inner_text()
29
+ content = i.css("content").inner_text()
30
+ author = i.css("author").css("name").inner_text()
31
+ url = i.css("id").inner_text().split("/")[-1]
32
+
33
+ results.push("%s Title: %s | %s | By: %s | http://youtu.be/%s" % [yt_logo, title, content, author, url])
34
+ end
35
+
36
+ return results
37
+ end
38
+
39
+ def result(m, data)
40
+ data[0..2].each{|i| m.reply i}
41
+ end
42
+ end
43
+ end
44
+ end
45
+
metadata ADDED
@@ -0,0 +1,74 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cinch-youtube-search
3
+ version: !ruby/object:Gem::Version
4
+ version: '1.0'
5
+ platform: ruby
6
+ authors:
7
+ - Richard Banks
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-03-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cinch
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 2.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 2.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: nokogiri
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.6.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 1.6.0
41
+ description: A plugin for the Cinch IRC framework to search YouTube and deliver the
42
+ top three results from the specified search.
43
+ email:
44
+ - namaste@rawrnet.net
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - lib/cinch/plugins/you_tube.rb
50
+ homepage: https://github.com/RawrNet/cinch-youtube-search
51
+ licenses:
52
+ - MIT
53
+ metadata: {}
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ! '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubyforge_project: ! '[none]'
70
+ rubygems_version: 2.1.11
71
+ signing_key:
72
+ specification_version: 4
73
+ summary: A plugin for the Cinch IRC framework to search YouTube
74
+ test_files: []