threeuk_usage 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 985c0da8ae45bf0a0184e11487ab2167cc8b9dd3
4
+ data.tar.gz: 2f9078c7fe4df65b069a2653a660114229e05b5b
5
+ SHA512:
6
+ metadata.gz: 1c3e58724cfefd504a530f90b024e298cc7d7a177e8f02ba1fa63bccec3cf313a20a831c0579700f3439dd9540672523e8275159896d404ae5fe5a3a3fb279a3
7
+ data.tar.gz: 5d327b390424b036f6ca248d6e2fe6f3a1cf84b20cc84292e08f12fe3e2676164b1b725bbe2dc5fb4dc317d50eebbb264f25b141706d469cf563fa41e61031c4
checksums.yaml.gz.sig ADDED
Binary file
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: threeuk_usage.rb
4
+
5
+ # description: Web scrapes three.co.uk for the remaining data allowance
6
+ # #webscraper #threeuk #mobilebroadband
7
+
8
+ require 'mechanize'
9
+
10
+
11
+ class ThreeUKUsage
12
+
13
+ attr_reader :expires, :remaining
14
+
15
+ def initialize(url='https://www.three.co.uk/New_My3/' +
16
+ 'Data_allowance?id=My3_DataAllowanceHeading')
17
+
18
+ agent = Mechanize.new
19
+
20
+ page = agent.get url
21
+ page2 = agent.click(page.links[0])
22
+ page3 = agent.click(page2.link_with(text: " Check your data allowance."))
23
+
24
+ cols = page3.css('.balance tbody/tr[2]/td/text()').map {|x| x.to_s.strip}
25
+ @expires = Date.strptime(cols[1][/\d+\/\d+\/\d+$/], "%d/%m/%y")
26
+ @remaining = cols[2].to_i
27
+
28
+ end
29
+
30
+ def to_h()
31
+ {expires: @expires, remaining: @remaining}
32
+ end
33
+
34
+ end
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: threeuk_usage
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE3MTAwMzEyMDcwNloXDTE4MTAwMzEyMDcwNlowSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAMoX0jS+Tr+hbCUWhHNOFYBQDjy3sYu4nOXmFTSQsfdsCG007zN3HNC3D1ax
19
+ fjwy+oxAVjCJGAhIc8mm+fRspxuzg2V0inS+HCkQ5zOGVXh9pApP71qQUpaU/xBy
20
+ nRkC+4o0nU+gKoohZZpp1rPMS0lsOnwk0IqMNYVtva2scCTUsLYBmcW4DYjO/195
21
+ DIYJ2/aK1w6QzjC3cWtMyNIu2TRDVRLU52vmrF5A7n28yGoasL3zAo0jkN22Mct5
22
+ hqXzo07yQkUJRiwmA2G4UvVzr2R89+vmDJu8aWWiw9a3cqOQOOOeKfbPBGTc/Ymc
23
+ 5sSGLxJ6hX/aqSGcaR71KLkTR2MCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQU3789YtRiNeiasxeVZMghXTGr9GwwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAu/His9h3
27
+ 1RSZ33SyDqHa7DiGnnDbpm1+tG/DEeBn2G79xo0Nd5JpfVen/TX3ZMkzcgbADarJ
28
+ WJi6AXDLD3eCVQLdVCy8nhlRy9LsypUk1Gp0oOHPrKW3Yi7WE5WbAVrJyeoiQ9x+
29
+ nio80Y39daXhj8Yf0z7U2Hdw573+IITeLNSDOo4Yv5PRXYZBQWwJutzUabeVH7+x
30
+ 3fyBpvTQPbTPia6JUgSjMzxiPseKe9fzZBIfvx6PdwQo9lpRucZiyi+IjHQfKPrq
31
+ nZtDJcHWqL0y1e+Og7E/KnaOR2fzHwDKf+G0/ZHcWvnFn7XqpbW3lxQSskeIT/1o
32
+ cvQG0VRACsGaCg==
33
+ -----END CERTIFICATE-----
34
+ date: 2017-10-03 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: mechanize
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '2.7'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 2.7.5
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '2.7'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 2.7.5
56
+ description:
57
+ email: james@jamesrobertson.eu
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - lib/threeuk_usage.rb
63
+ homepage: https://github.com/jrobertson/threeuk_usage
64
+ licenses:
65
+ - MIT
66
+ metadata: {}
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ requirements: []
82
+ rubyforge_project:
83
+ rubygems_version: 2.6.13
84
+ signing_key:
85
+ specification_version: 4
86
+ summary: 'Web scrapes three.co.uk for the remaining data allowance #webscraper #threeuk
87
+ #mobilebroadband'
88
+ test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1 @@
1
+ F�Y%��Q~����KrG ��w�@6��T�_f�u�>���DLT�pP��{|+d��Y��r��y���7}�6~�X��.� I����aZE��ǵ(�����A:��&�&\W<