xxx 0.0.0 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.rdoc +4 -2
- data/Rakefile +4 -3
- data/VERSION +1 -0
- data/bin/xxx +40 -0
- data/lib/xxx.rb +35 -0
- data/lib/xxx/szukaj_cipki.rb +15 -0
- data/lib/xxx/youporn.rb +22 -0
- data/xxx.gemspec +61 -0
- metadata +23 -7
data/.gitignore
CHANGED
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -8,10 +8,11 @@ begin
|
|
8
8
|
Jeweler::Tasks.new do |gem|
|
9
9
|
gem.name = "xxx"
|
10
10
|
gem.summary = %Q{Porn of the day}
|
11
|
-
gem.email = "qoobaa
|
11
|
+
gem.email = "qoobaa@gmail.com"
|
12
12
|
gem.homepage = "http://github.com/qoobaa/xxx"
|
13
|
-
gem.authors = ["Jakub Kuźma"]
|
14
|
-
gem.
|
13
|
+
gem.authors = ["Jakub Kuźma", "Wojciech Wnętrzak"]
|
14
|
+
gem.add_dependency "launchy"
|
15
|
+
gem.add_dependency "mechanize"
|
15
16
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
16
17
|
end
|
17
18
|
Jeweler::GemcutterTasks.new
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
data/bin/xxx
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
Version = "0.1.0"
|
4
|
+
|
5
|
+
require "optparse"
|
6
|
+
require "pp"
|
7
|
+
|
8
|
+
require "xxx"
|
9
|
+
|
10
|
+
options = {}
|
11
|
+
|
12
|
+
optparse = OptionParser.new do|opts|
|
13
|
+
opts.banner = "Usage: xxx [options] command"
|
14
|
+
|
15
|
+
opts.separator ""
|
16
|
+
opts.separator "Available commands:"
|
17
|
+
opts.separator " latest (default)"
|
18
|
+
|
19
|
+
opts.separator ""
|
20
|
+
opts.separator "Specific options:"
|
21
|
+
|
22
|
+
opts.on("-c", "--channel [CHANNEL]", [:youporn, :szukajcipki], "Select channel (youporn, szukajcipki)") do |channel|
|
23
|
+
options[:channel] = channel
|
24
|
+
end
|
25
|
+
|
26
|
+
opts.on("-h", "--help", "Display this screen") do
|
27
|
+
puts opts
|
28
|
+
exit
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
optparse.parse!
|
33
|
+
|
34
|
+
command = ARGV.shift || "latest"
|
35
|
+
|
36
|
+
begin
|
37
|
+
Xxx.watch_porn(options[:channel], command)
|
38
|
+
rescue Exception => e
|
39
|
+
abort("xxx: #{e.message}")
|
40
|
+
end
|
data/lib/xxx.rb
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
require "mechanize"
|
2
|
+
require "open-uri"
|
3
|
+
require "launchy"
|
4
|
+
|
5
|
+
require "xxx/youporn"
|
6
|
+
require "xxx/szukaj_cipki"
|
7
|
+
|
8
|
+
module Xxx
|
9
|
+
CHANNEL_NAMES = [:youporn, :szukajcipki]
|
10
|
+
|
11
|
+
class << self
|
12
|
+
def watch_porn(channel_name, command = "latest")
|
13
|
+
channel_name ||= CHANNEL_NAMES.sort_by { rand }.first
|
14
|
+
channel = open_channel(channel_name)
|
15
|
+
|
16
|
+
if channel.respond_to?(command)
|
17
|
+
uri = channel.send(command)
|
18
|
+
Launchy.open(uri)
|
19
|
+
else
|
20
|
+
raise ArgumentError, "unknown command: #{command}"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def open_channel(channel_name)
|
27
|
+
case channel_name
|
28
|
+
when :youporn
|
29
|
+
Youporn.new
|
30
|
+
when :szukajcipki
|
31
|
+
SzukajCipki.new
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/xxx/youporn.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
module Xxx
|
2
|
+
class Youporn
|
3
|
+
HOST = "youporn.com"
|
4
|
+
URI = "http://#{HOST}"
|
5
|
+
BROWSE_TIME_PATH = "/browse/time"
|
6
|
+
ENTER_WEBSITE = lambda { |page| page.forms.first.click_button }
|
7
|
+
|
8
|
+
def agent
|
9
|
+
@agent ||= WWW::Mechanize.new
|
10
|
+
end
|
11
|
+
|
12
|
+
def latest
|
13
|
+
agent.get(uri(BROWSE_TIME_PATH), &ENTER_WEBSITE)
|
14
|
+
path = agent.page.links_with(:href => /watch/).first.href
|
15
|
+
uri(path)
|
16
|
+
end
|
17
|
+
|
18
|
+
def uri(path)
|
19
|
+
"#{URI}#{path}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/xxx.gemspec
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{xxx}
|
8
|
+
s.version = "0.1.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Jakub Kuźma", "Wojciech Wnętrzak"]
|
12
|
+
s.date = %q{2010-02-05}
|
13
|
+
s.default_executable = %q{xxx}
|
14
|
+
s.email = %q{qoobaa@gmail.com}
|
15
|
+
s.executables = ["xxx"]
|
16
|
+
s.extra_rdoc_files = [
|
17
|
+
"LICENSE",
|
18
|
+
"README.rdoc"
|
19
|
+
]
|
20
|
+
s.files = [
|
21
|
+
".document",
|
22
|
+
".gitignore",
|
23
|
+
"LICENSE",
|
24
|
+
"README.rdoc",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"bin/xxx",
|
28
|
+
"lib/xxx.rb",
|
29
|
+
"lib/xxx/szukaj_cipki.rb",
|
30
|
+
"lib/xxx/youporn.rb",
|
31
|
+
"test/helper.rb",
|
32
|
+
"test/test_xxx.rb",
|
33
|
+
"xxx.gemspec"
|
34
|
+
]
|
35
|
+
s.homepage = %q{http://github.com/qoobaa/xxx}
|
36
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
37
|
+
s.require_paths = ["lib"]
|
38
|
+
s.rubygems_version = %q{1.3.5}
|
39
|
+
s.summary = %q{Porn of the day}
|
40
|
+
s.test_files = [
|
41
|
+
"test/test_xxx.rb",
|
42
|
+
"test/helper.rb"
|
43
|
+
]
|
44
|
+
|
45
|
+
if s.respond_to? :specification_version then
|
46
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
47
|
+
s.specification_version = 3
|
48
|
+
|
49
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
50
|
+
s.add_runtime_dependency(%q<launchy>, [">= 0"])
|
51
|
+
s.add_runtime_dependency(%q<mechanize>, [">= 0"])
|
52
|
+
else
|
53
|
+
s.add_dependency(%q<launchy>, [">= 0"])
|
54
|
+
s.add_dependency(%q<mechanize>, [">= 0"])
|
55
|
+
end
|
56
|
+
else
|
57
|
+
s.add_dependency(%q<launchy>, [">= 0"])
|
58
|
+
s.add_dependency(%q<mechanize>, [">= 0"])
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
metadata
CHANGED
@@ -1,20 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xxx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Jakub Ku\xC5\xBAma"
|
8
|
+
- "Wojciech Wn\xC4\x99trzak"
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
12
|
|
12
13
|
date: 2010-02-05 00:00:00 +01:00
|
13
|
-
default_executable:
|
14
|
+
default_executable: xxx
|
14
15
|
dependencies:
|
15
16
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
17
|
-
type: :
|
17
|
+
name: launchy
|
18
|
+
type: :runtime
|
19
|
+
version_requirement:
|
20
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "0"
|
25
|
+
version:
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: mechanize
|
28
|
+
type: :runtime
|
18
29
|
version_requirement:
|
19
30
|
version_requirements: !ruby/object:Gem::Requirement
|
20
31
|
requirements:
|
@@ -23,9 +34,9 @@ dependencies:
|
|
23
34
|
version: "0"
|
24
35
|
version:
|
25
36
|
description:
|
26
|
-
email: qoobaa
|
27
|
-
executables:
|
28
|
-
|
37
|
+
email: qoobaa@gmail.com
|
38
|
+
executables:
|
39
|
+
- xxx
|
29
40
|
extensions: []
|
30
41
|
|
31
42
|
extra_rdoc_files:
|
@@ -37,9 +48,14 @@ files:
|
|
37
48
|
- LICENSE
|
38
49
|
- README.rdoc
|
39
50
|
- Rakefile
|
51
|
+
- VERSION
|
52
|
+
- bin/xxx
|
40
53
|
- lib/xxx.rb
|
54
|
+
- lib/xxx/szukaj_cipki.rb
|
55
|
+
- lib/xxx/youporn.rb
|
41
56
|
- test/helper.rb
|
42
57
|
- test/test_xxx.rb
|
58
|
+
- xxx.gemspec
|
43
59
|
has_rdoc: true
|
44
60
|
homepage: http://github.com/qoobaa/xxx
|
45
61
|
licenses: []
|