weeb 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/lib/weeb.rb +1 -1
- data/lib/weeb/api.rb +2 -2
- data/lib/weeb/api/korra.rb +3 -4
- data/lib/weeb/api/shimakaze.rb +3 -4
- data/lib/weeb/api/tama.rb +3 -4
- data/lib/weeb/api/toph.rb +45 -44
- data/lib/weeb/data.rb +1 -2
- data/lib/weeb/interfaces/client.rb +1 -0
- data/lib/weeb/interfaces/korra.rb +1 -2
- data/lib/weeb/interfaces/shimakaze.rb +1 -2
- data/lib/weeb/interfaces/tama.rb +1 -2
- data/lib/weeb/interfaces/toph.rb +10 -11
- data/lib/weeb/ver.rb +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c9915938edda957206ae587f49a1dd536f113558ca866dffc10133dd2a4d2f43
|
4
|
+
data.tar.gz: 99cac3b5e83da4655a2539d115a1c5e921189e7d845c2f9c654dc5c78c4e2372
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85d0d2efebbc6747a5e3f93c57e29411aa148e99385a50e82849f68d5dcafb93ae31abc6067f2b100b626710cfe323dccf7e0245dce36b2036b0f9556f91fde4
|
7
|
+
data.tar.gz: dfeb4ac2515f3c2803349e9afcb32a96ab43d3adbf0d74490645e6639599174543dae06c0e3cab68caede164a08241baf7e9c7608f5355184bf0219977cc11db
|
data/lib/weeb.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require 'weeb/interfaces/client'
|
1
|
+
require 'weeb/interfaces/client'
|
data/lib/weeb/api.rb
CHANGED
@@ -5,8 +5,8 @@ require 'json'
|
|
5
5
|
require 'rest-client'
|
6
6
|
|
7
7
|
module WeebSh
|
8
|
+
# Main API functions
|
8
9
|
module API
|
9
|
-
|
10
10
|
module_function
|
11
11
|
|
12
12
|
def request(type, *attributes)
|
@@ -21,7 +21,7 @@ module WeebSh
|
|
21
21
|
rescue RestClient::BadRequest => e
|
22
22
|
json = parse_json(e.response)
|
23
23
|
if json.is_a?(Hash)
|
24
|
-
raise WeebSh::Err::InvalidMIME, json['message'] if json['message'].start_with? 'The mimetype'
|
24
|
+
raise WeebSh::Err::InvalidMIME, json['message'] if json['message'].start_with? 'The mimetype'
|
25
25
|
raise WeebSh::Err::TagExists, json['message'] if json['message'] == 'Tags existed already or had no content'
|
26
26
|
raise WeebSh::Err::ImagePrivate, json['message'] if json['message'] == 'This image is private'
|
27
27
|
raise WeebSh::Err::InvalidImage, json['message'] if json['message'] == 'No image found for your query'
|
data/lib/weeb/api/korra.rb
CHANGED
data/lib/weeb/api/shimakaze.rb
CHANGED
data/lib/weeb/api/tama.rb
CHANGED
data/lib/weeb/api/toph.rb
CHANGED
@@ -3,15 +3,16 @@ require 'uri'
|
|
3
3
|
|
4
4
|
module WeebSh
|
5
5
|
module API
|
6
|
+
# API endpoints for Toph
|
6
7
|
module Toph
|
7
8
|
BASE = '/images'.freeze
|
8
9
|
|
9
10
|
module_function
|
10
11
|
|
11
|
-
def upload(
|
12
|
+
def upload(interface, resource, type, hidden, tags, nsfw, source)
|
12
13
|
resource.is_a?(File) ? WeebSh::API.request(
|
13
14
|
:post,
|
14
|
-
"#{
|
15
|
+
"#{interface.api_url}#{BASE}/upload",
|
15
16
|
{
|
16
17
|
'file'.to_sym => resource,
|
17
18
|
'baseType'.to_sym => type,
|
@@ -21,12 +22,12 @@ module WeebSh
|
|
21
22
|
'source'.to_sym => source
|
22
23
|
},
|
23
24
|
{
|
24
|
-
Authorization:
|
25
|
-
'User-Agent':
|
25
|
+
Authorization: interface.auth,
|
26
|
+
'User-Agent': interface.user_agent
|
26
27
|
}
|
27
28
|
) : WeebSh::API.request(
|
28
29
|
:post,
|
29
|
-
"#{
|
30
|
+
"#{interface.api_url}#{BASE}/upload",
|
30
31
|
{
|
31
32
|
url: resource,
|
32
33
|
baseType: type,
|
@@ -36,112 +37,112 @@ module WeebSh
|
|
36
37
|
source: source
|
37
38
|
}.to_json,
|
38
39
|
{
|
39
|
-
Authorization:
|
40
|
-
'User-Agent':
|
40
|
+
Authorization: interface.auth,
|
41
|
+
'User-Agent': interface.user_agent
|
41
42
|
}
|
42
43
|
)
|
43
44
|
end
|
44
45
|
|
45
|
-
def types(
|
46
|
+
def types(interface, query)
|
46
47
|
WeebSh::API.request(
|
47
48
|
:get,
|
48
|
-
"#{
|
49
|
+
"#{interface.api_url}#{BASE}/types?#{URI.encode_www_form(query)}",
|
49
50
|
{
|
50
|
-
Authorization:
|
51
|
-
'User-Agent':
|
51
|
+
Authorization: interface.auth,
|
52
|
+
'User-Agent': interface.user_agent
|
52
53
|
}
|
53
54
|
)
|
54
55
|
end
|
55
56
|
|
56
|
-
def tags(
|
57
|
+
def tags(interface, query)
|
57
58
|
WeebSh::API.request(
|
58
59
|
:get,
|
59
|
-
"#{
|
60
|
+
"#{interface.api_url}#{BASE}/tags?#{URI.encode_www_form(query)}",
|
60
61
|
{
|
61
|
-
Authorization:
|
62
|
-
'User-Agent':
|
62
|
+
Authorization: interface.auth,
|
63
|
+
'User-Agent': interface.user_agent
|
63
64
|
}
|
64
65
|
)
|
65
66
|
end
|
66
67
|
|
67
|
-
def random(
|
68
|
+
def random(interface, query)
|
68
69
|
WeebSh::API.request(
|
69
70
|
:get,
|
70
|
-
"#{
|
71
|
+
"#{interface.api_url}#{BASE}/random?#{URI.encode_www_form(query)}",
|
71
72
|
{
|
72
|
-
Authorization:
|
73
|
-
'User-Agent':
|
73
|
+
Authorization: interface.auth,
|
74
|
+
'User-Agent': interface.user_agent
|
74
75
|
}
|
75
76
|
)
|
76
77
|
end
|
77
78
|
|
78
|
-
def image(
|
79
|
+
def image(interface, id)
|
79
80
|
WeebSh::API.request(
|
80
81
|
:get,
|
81
|
-
"#{
|
82
|
+
"#{interface.api_url}#{BASE}/info/#{id}",
|
82
83
|
{
|
83
|
-
Authorization:
|
84
|
-
'User-Agent':
|
84
|
+
Authorization: interface.auth,
|
85
|
+
'User-Agent': interface.user_agent
|
85
86
|
}
|
86
87
|
)
|
87
88
|
end
|
88
89
|
|
89
|
-
def add_tags_to_image(
|
90
|
+
def add_tags_to_image(interface, id, tags)
|
90
91
|
WeebSh::API.request(
|
91
92
|
:post,
|
92
|
-
"#{
|
93
|
+
"#{interface.api_url}#{BASE}/info/#{id}",
|
93
94
|
{ tags: tags }.to_json,
|
94
95
|
{
|
95
|
-
Authorization:
|
96
|
-
'User-Agent':
|
96
|
+
Authorization: interface.auth,
|
97
|
+
'User-Agent': interface.user_agent
|
97
98
|
}
|
98
99
|
)
|
99
100
|
end
|
100
101
|
|
101
|
-
def remove_tags_to_image(
|
102
|
+
def remove_tags_to_image(interface, id, tags)
|
102
103
|
WeebSh::API.request(
|
103
104
|
:delete,
|
104
|
-
"#{
|
105
|
+
"#{interface.api_url}#{BASE}/info/#{id}",
|
105
106
|
{ tags: tags }.to_json,
|
106
107
|
{
|
107
|
-
Authorization:
|
108
|
-
'User-Agent':
|
108
|
+
Authorization: interface.auth,
|
109
|
+
'User-Agent': interface.user_agent
|
109
110
|
}
|
110
111
|
)
|
111
112
|
end
|
112
113
|
|
113
|
-
def remove_image(
|
114
|
+
def remove_image(interface, id)
|
114
115
|
WeebSh::API.request(
|
115
116
|
:delete,
|
116
|
-
"#{
|
117
|
+
"#{interface.api_url}#{BASE}/info/#{id}",
|
117
118
|
{
|
118
|
-
Authorization:
|
119
|
-
'User-Agent':
|
119
|
+
Authorization: interface.auth,
|
120
|
+
'User-Agent': interface.user_agent
|
120
121
|
}
|
121
122
|
)
|
122
123
|
end
|
123
124
|
|
124
|
-
def list(
|
125
|
+
def list(interface, query)
|
125
126
|
WeebSh::API.request(
|
126
127
|
:get,
|
127
|
-
"#{
|
128
|
+
"#{interface.api_url}#{BASE}/list?#{URI.encode_www_form(query)}",
|
128
129
|
{
|
129
|
-
Authorization:
|
130
|
-
'User-Agent':
|
130
|
+
Authorization: interface.auth,
|
131
|
+
'User-Agent': interface.user_agent
|
131
132
|
}
|
132
133
|
)
|
133
134
|
end
|
134
135
|
|
135
|
-
def list_user(
|
136
|
+
def list_user(interface, id, query)
|
136
137
|
WeebSh::API.request(
|
137
138
|
:get,
|
138
|
-
"#{
|
139
|
+
"#{interface.api_url}#{BASE}/list/#{id}?#{URI.encode_www_form(query)}",
|
139
140
|
{
|
140
|
-
Authorization:
|
141
|
-
'User-Agent':
|
141
|
+
Authorization: interface.auth,
|
142
|
+
'User-Agent': interface.user_agent
|
142
143
|
}
|
143
144
|
)
|
144
145
|
end
|
145
146
|
end
|
146
147
|
end
|
147
|
-
end
|
148
|
+
end
|
data/lib/weeb/data.rb
CHANGED
@@ -74,7 +74,6 @@ module WeebSh
|
|
74
74
|
|
75
75
|
# Represents an image for toph
|
76
76
|
class WeebImage < PreviewImage
|
77
|
-
|
78
77
|
# @return [true, false] whether or not this image is nsfw
|
79
78
|
attr_reader :nsfw
|
80
79
|
alias_method :nsfw?, :nsfw
|
@@ -138,7 +137,7 @@ module WeebSh
|
|
138
137
|
end
|
139
138
|
|
140
139
|
# Delete this image
|
141
|
-
def delete
|
140
|
+
def delete
|
142
141
|
@interface.delete_image(self)
|
143
142
|
end
|
144
143
|
alias_method :remove, :delete
|
data/lib/weeb/interfaces/tama.rb
CHANGED
data/lib/weeb/interfaces/toph.rb
CHANGED
@@ -4,7 +4,6 @@ require 'weeb/data'
|
|
4
4
|
module WeebSh
|
5
5
|
# Image API
|
6
6
|
class Toph < Interface
|
7
|
-
|
8
7
|
# Uploads an image.
|
9
8
|
# @param resource [File, String] the file to upload, this can either be a File, a URL or a path.
|
10
9
|
# @param type [String] the type of image this is in.
|
@@ -15,18 +14,18 @@ module WeebSh
|
|
15
14
|
# @return [Image] Returns image that was uploaded.
|
16
15
|
def upload(resource, type, hidden: false, tags: [], nsfw: false, source: nil)
|
17
16
|
tags = tags.map { |t| t.name if t.is_a(Tag) }
|
18
|
-
if resource.is_a?(String)
|
17
|
+
if resource.is_a?(String) && URI(resource).host.nil?
|
19
18
|
begin
|
20
19
|
resource = File.new(File.absolute_path(resource), 'rb')
|
21
20
|
rescue Errno::ENOENT, Errno::EACCES, Errno::ENAMETOOLONG => e
|
22
21
|
errstring = 'Unknown'
|
23
22
|
case e.class.name
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
23
|
+
when 'Errno::ENOENT'
|
24
|
+
errstring = 'File Not Found'
|
25
|
+
when 'Errno::EACCES'
|
26
|
+
errstring = 'Permission Denied'
|
27
|
+
when 'Errno::ENAMETOOLONG'
|
28
|
+
errstring = 'Name Too Long'
|
30
29
|
end
|
31
30
|
raise WeebSh::Err::FileError, "Error initializing file '${resource}' | #{errstring} | #{e.class.name}"
|
32
31
|
end
|
@@ -100,7 +99,7 @@ module WeebSh
|
|
100
99
|
# @param tags [Array<String, Tag>] the affected tags
|
101
100
|
# @return [WeebImage] Returns the image with the given ID.
|
102
101
|
def add_tags_to_image(image, tags)
|
103
|
-
|
102
|
+
image = image.resolve_id if id.respond_to?(:resolve_id)
|
104
103
|
tags = tags.map { |t| t.name if t.is_a(Tag) }
|
105
104
|
WeebImage.new(API::Toph.add_tags_to_image(self, image, tags), self)
|
106
105
|
end
|
@@ -110,7 +109,7 @@ module WeebSh
|
|
110
109
|
# @param tags [Array<String, Tag>] the affected tags
|
111
110
|
# @return [WeebImage] Returns the image with the given ID.
|
112
111
|
def remove_tags_to_image(image, tags)
|
113
|
-
|
112
|
+
image = image.resolve_id if id.respond_to?(:resolve_id)
|
114
113
|
tags = tags.map { |t| t.name if t.is_a(Tag) }
|
115
114
|
WeebImage.new(API::Toph.remove_tags_to_image(self, image, tags), self)
|
116
115
|
end
|
@@ -141,4 +140,4 @@ module WeebSh
|
|
141
140
|
|
142
141
|
# Alias for the class {Toph}
|
143
142
|
Image = Toph
|
144
|
-
end
|
143
|
+
end
|
data/lib/weeb/ver.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weeb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Snazzah
|
@@ -14,30 +14,30 @@ dependencies:
|
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.10'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1.10'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rubocop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.49.1
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.49.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rest-client
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
92
|
version: '0'
|
93
93
|
requirements: []
|
94
94
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.
|
95
|
+
rubygems_version: 2.7.6
|
96
96
|
signing_key:
|
97
97
|
specification_version: 4
|
98
98
|
summary: A gem that utilizes the weeb.sh API.
|