isporn 0.1.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d2cc0fd5f2ba5c0445e19f1658523946b9e14aca
4
- data.tar.gz: cd8b1a6722885465e707252a29f9afd2fb51d003
3
+ metadata.gz: 79a2a943e2519615d4509089c7a0d12e83bb2c3d
4
+ data.tar.gz: be4ab68ba2ca141a669306fce6e83d59d5ad403e
5
5
  SHA512:
6
- metadata.gz: b9c7c147707762e12d9ff64111b47569e9a1e1aa76d40ceeadfc4a3a019bd5c4d057b4eb9ee0717a21b24d38f873c9da08038ca0b49c058e0892526ec27d4e51
7
- data.tar.gz: 454ea8d2ffa6777d80d3757ec0ed05d0bb096eca5dc9c6b99f66cbac1db09bcbc1733d3ad5c0309660874356d12d67deffc624a383f715c1013239bcbbd672e2
6
+ metadata.gz: d766b5e9157e9faeafbc42d97a6189b96b39ce13cac84bd594ce74ac76547a40d65f5de583d204613e2166511b0bd6dfa438354b957f16ae40405294da744c60
7
+ data.tar.gz: 5abf5307a825d341d0b7ff037cbbd4183e79bfe6f581015ac040c77952763561b3cb5a8a2af4d079aa97daf29ad9894984db896badc38b189056923788ab1674
data/Gemfile CHANGED
@@ -1,5 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
-
4
3
  # Specify your gem's dependencies in isporn.gemspec
5
4
  gemspec
data/README.md CHANGED
@@ -23,12 +23,23 @@ Or install it yourself as:
23
23
  require 'isporn'
24
24
 
25
25
  puts '/path/to/test.jpg'.isporn?
26
+ or
27
+
28
+ puts 'http://example.com/image.jpg'.isporn?
26
29
 
27
30
  returns:
28
31
 
29
32
  # or => normal
30
33
  # or => sexy
31
34
  # or => porn
35
+ # or => car_normal (cartoon)
36
+ # or => car_porn (cartoon)
37
+
38
+ ## CLI mode Usage:
39
+
40
+ $> isporn "/path/to/file.jpg".isporn?
41
+ or
42
+ $> isporn http://example.com/image.jpg
32
43
 
33
44
  ## Limited free use
34
45
 
@@ -25,28 +25,52 @@ module Isporn
25
25
  })
26
26
  request.execute
27
27
  end
28
+
29
+ def self.exadeep_api_rest_urls urls
30
+ debug = false
31
+
32
+ if urls.class == String
33
+ urls=[urls]
34
+ elsif urls.class == Array
35
+ else
36
+ return nil
37
+ end
38
+ host = "https://exadeep.com"
39
+ RestClient.log = 'stdout' if debug
40
+ request = RestClient::Request.new(
41
+ :method => :post,
42
+ :url => "#{host}/api/v1",
43
+ :payload => {
44
+ :api_key => 'exadeep_ruby_demo_key',
45
+ :urls => urls
46
+ })
47
+ request.execute
48
+ end
28
49
  end
29
50
 
30
51
  class String
31
-
32
52
  def isporn?
33
53
  is_porn?
34
54
  end
35
55
 
36
56
  def is_porn?
37
- temp_fn = "_temp.jpeg"
38
- image = MiniMagick::Image.open(self)
39
- image.resize "270x270"
40
- image.format "jpeg"
41
- image.write temp_fn
42
- res = Isporn.exadeep_api_rest_post temp_fn
43
- File.delete temp_fn
44
-
57
+ test_url = self
58
+ if (test_url =~ /\A#{URI::regexp}\z/)==0 and test_url.length<4096
59
+ res = Isporn.exadeep_api_rest_urls [self]
60
+ else
61
+ temp_fn = "_temp.jpeg"
62
+ image = MiniMagick::Image.open(self)
63
+ image.resize "270x270"
64
+ image.format "jpeg"
65
+ image.write temp_fn
66
+ res = Isporn.exadeep_api_rest_post temp_fn
67
+ File.delete temp_fn
68
+ end
69
+
45
70
  j=JSON.parse(res)
46
71
  j["results"].first["scores"].first["label"]
47
72
  end
48
73
 
49
-
50
74
  def is_porn_json
51
75
  Isporn.exadeep_api_rest_post self
52
76
  end
@@ -1,3 +1,3 @@
1
1
  module Isporn
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isporn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yiling Cao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-03 00:00:00.000000000 Z
11
+ date: 2015-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client