BtSync 0.1.1 → 0.1.2

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
- SHA1:
3
- data.tar.gz: 184a18c62f1a7ad68f7925a77bce8782cb25d247
4
- metadata.gz: ce45b9891ffa8bae8c8b32ecb0f6910aea2a4236
5
2
  SHA512:
6
- data.tar.gz: b9c16407995447411d8babfdfb4e62ce9d3af3ba7a4a638a47a3a5a2c218008f6e0ce2da86c7f496fd8156b1bc453e3ad20baaadd8f379f7abecaf9ecb671d8c
7
- metadata.gz: 6a096011dd2794ccaa9fdf4c0f363137e48b1b1dc4e9c1852f9fd725f10d55a65b7e402cf74c6b02fa10f49b8dd859451642b092d866e5b3c2a074c3b0cc771d
3
+ metadata.gz: 21b0171af7da2cd9b686d6259f5649fb520b643d001ec883130f1cdea188ff1e4377f802a1240a37d5a0f415b79e8caa804fe4ae65f43b4ec8365aba6a1a8821
4
+ data.tar.gz: a33fc44ae08d5e11c9f1509111440b59df349e9d23c07c20ab5244c462efda03d4a8ee018a3f99f8213286129a0fdcf75df007abfab6680cfc786c94a5ba6dc0
5
+ SHA1:
6
+ metadata.gz: 06ebccf1bf025cba4bbadec32ad28a64d5a6f796
7
+ data.tar.gz: 656fe16887a65e3f533ee54a511d92f90dc955c2
@@ -25,5 +25,4 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "vcr"
26
26
 
27
27
  spec.add_runtime_dependency "httparty"
28
- spec.add_runtime_dependency "nokogiri"
29
28
  end
@@ -1,8 +1,8 @@
1
1
  require 'httparty'
2
- require 'nokogiri'
3
2
 
4
3
  class BtSync
5
4
  include HTTParty
5
+ default_params :output => 'json'
6
6
  def initialize uri=nil, port=nil
7
7
  @cache = {
8
8
  :folder => 0,
@@ -14,7 +14,7 @@ class BtSync
14
14
  }
15
15
  @uri = uri
16
16
  @port = port
17
- secret
17
+ token
18
18
  end
19
19
  def get_folders
20
20
  get_folder_list["folders"]
@@ -29,7 +29,7 @@ class BtSync
29
29
  def get_settings
30
30
  time = DateTime.now.strftime("%s").to_i
31
31
  if time > @cache[:settings] + 600
32
- res = self.class.get(path('getsettings'), :query => {:output => "json"}, :headers => {"Cookie" => cookies })
32
+ res = self.class.get(path('getsettings'), :headers => {"Cookie" => cookies })
33
33
  @settings = res.parsed_response["settings"]
34
34
  @cache[:settings] = time
35
35
  end
@@ -38,7 +38,7 @@ class BtSync
38
38
  def get_os_type
39
39
  time = DateTime.now.strftime("%s").to_i
40
40
  if time > @cache[:os_type] + 600
41
- res = self.class.get(path('getostype'), :query => {:output => "json"}, :headers => {"Cookie" => cookies })
41
+ res = self.class.get(path('getostype'), :headers => {"Cookie" => cookies })
42
42
  @os_type = res.parsed_response["os"]
43
43
  @cache[:os_type] = time
44
44
  end
@@ -47,7 +47,7 @@ class BtSync
47
47
  def get_version
48
48
  time = DateTime.now.strftime("%s").to_i
49
49
  if time > @cache[:version] + 600
50
- res = self.class.get(path('getversion'), :query => {:output => "json"}, :headers => {"Cookie" => cookies })
50
+ res = self.class.get(path('getversion'), :headers => {"Cookie" => cookies })
51
51
  @version = res.parsed_response["version"]
52
52
  @cache[:version] = time
53
53
  end
@@ -56,21 +56,21 @@ class BtSync
56
56
  def check_new_version
57
57
  time = DateTime.now.strftime("%s").to_i
58
58
  if time > @cache[:new_version] + 600
59
- res = self.class.get(path('checknewversion'), :query => {:output => "json"}, :headers => {"Cookie" => cookies })
59
+ res = self.class.get(path('checknewversion'), :headers => {"Cookie" => cookies })
60
60
  @new_version = res.parsed_response["version"]
61
61
  @cache[:new_version] = time
62
62
  end
63
63
  @new_version
64
64
  end
65
65
  def get_dir with_dir
66
- res = self.class.get(path('getdir'), :query => {:dir => with_dir, :output => "json"}, :headers => {"Cookie" => cookies })
66
+ res = self.class.get(path('getdir'), :query => {:dir => with_dir}, :headers => {"Cookie" => cookies })
67
67
  res.parsed_response["folders"]
68
68
  end
69
69
  private
70
70
  def get_folder_list
71
71
  time = DateTime.now.strftime("%s").to_i
72
72
  if time > @cache[:folder] + 600
73
- res = self.class.get(path('getsyncfolders'), :query => {:output => "json"}, :headers => {"Cookie" => cookies })
73
+ res = self.class.get(path('getsyncfolders'), :headers => {"Cookie" => cookies })
74
74
  @folder_list = res.parsed_response
75
75
  @cache[:folder] = time
76
76
  end
@@ -83,21 +83,21 @@ class BtSync
83
83
  def uri
84
84
  @uri ||= "http://localhost"
85
85
  end
86
- def secret
86
+ def token
87
87
  time = DateTime.now.strftime("%s").to_i
88
88
  if time > @cache[:secret] + 600
89
- @secret = Nokogiri::HTML(request_token).search('#token').text
89
+ @token = request_token.gsub('</div></html>', '').gsub("<html><div id='token' style='display:none;'>", '')
90
90
  @cache[:secret] = time
91
91
  end
92
- @secret
92
+ @token
93
93
  end
94
94
  def cookies
95
95
  @cookies ||= request_token.headers["set-cookie"].split("; ")[0]
96
96
  end
97
97
  def request_token
98
- @request_token ||= self.class.get("#{uri}:#{port}/gui/token.html")
98
+ @request_token ||= self.class.get("#{uri}:#{port}/gui/token.html", :query => {:output => :text})
99
99
  end
100
100
  def path action_name
101
- "#{uri}:#{port}/gui/?token=#{secret}&action=#{action_name}"
101
+ "#{uri}:#{port}/gui/?token=#{token}&action=#{action_name}"
102
102
  end
103
103
  end
@@ -1,3 +1,3 @@
1
1
  module BtsyncVersion
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: BtSync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris MacNaughton
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2013-06-04 00:00:00 Z
12
+ date: 2013-06-05 00:00:00 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -64,14 +64,6 @@ dependencies:
64
64
  - *id003
65
65
  type: :runtime
66
66
  version_requirements: *id007
67
- - !ruby/object:Gem::Dependency
68
- name: nokogiri
69
- prerelease: false
70
- requirement: &id008 !ruby/object:Gem::Requirement
71
- requirements:
72
- - *id003
73
- type: :runtime
74
- version_requirements: *id008
75
67
  description: Class to interact with BTSync's web interface using their unofficial API
76
68
  email:
77
69
  - chmacnaughton@gmail.com