BtSync 0.1.1 → 0.1.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 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