myprecious_python 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/myprecious_python.rb +85 -75
- metadata +42 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3976b784b6d2a5e5d7e439d493ad4b5a2c010242b21a1fefce45d9e5f92da63e
|
4
|
+
data.tar.gz: 9f48110bc9b390764acb5793bf3c400234a5a378f713d12d677019bd44381edc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 758c698b022bc280d193ded3cc03492918e2a2ed3d3ee22646f06eea72b783e59360c926aa6b5d01f0dee9f613bf73c8081eff1c71e724451fa319061e60ba40
|
7
|
+
data.tar.gz: def233c565fdab60ebbc107e870c427e41612af3c6c4c3ee83d4f78bdfc52257b06a347748581cf81a3b10c869119cad78fa789a78a5d8a376e00c292db76dec
|
data/lib/myprecious_python.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
require 'nokogiri'
|
2
|
-
require 'httparty'
|
3
1
|
require 'date'
|
4
2
|
require 'byebug'
|
3
|
+
require 'httparty'
|
4
|
+
require 'json'
|
5
|
+
require 'rest-client'
|
5
6
|
|
6
7
|
class MyPreciousPython
|
7
8
|
def self.update
|
@@ -14,6 +15,7 @@ class MyPreciousPython
|
|
14
15
|
gem_change_pos = 5
|
15
16
|
default_length = 6
|
16
17
|
if File.file?('dependency-tracking.md')
|
18
|
+
puts "reading the dependency file...."
|
17
19
|
File.open("dependency-tracking.md", "r").each_with_index do |line, line_number|
|
18
20
|
#puts line + " dds " + line_number.to_s
|
19
21
|
word_array = line.split('|')
|
@@ -45,7 +47,7 @@ class MyPreciousPython
|
|
45
47
|
end
|
46
48
|
#puts gem_lines
|
47
49
|
else
|
48
|
-
puts "creating the file"
|
50
|
+
puts "creating the dependency file...."
|
49
51
|
File.open('dependency-tracking.md', 'w') { |write_file|
|
50
52
|
write_file.puts "Dependency | Our Version | Latest Version | Date available | Age (in days) | Change Log"
|
51
53
|
write_file.puts "--- | --- | --- | --- | --- | ---"
|
@@ -58,89 +60,97 @@ class MyPreciousPython
|
|
58
60
|
|
59
61
|
while (line = file.gets)
|
60
62
|
gem_line = line.strip
|
63
|
+
|
61
64
|
if !gem_line.start_with?('#') && !gem_line.start_with?("https://")
|
62
|
-
|
63
|
-
if gem_line.include? "=="
|
64
|
-
name = gem_line.split('==')[0]
|
65
|
-
current_version = gem_line.split('==')[1]
|
66
|
-
elsif gem_line.include? ">="
|
67
|
-
name = gem_line.split('>=')[0]
|
68
|
-
current_version = gem_line.split('>=')[1]
|
69
|
-
elsif gem_line.include? "<="
|
70
|
-
name = gem_line.split('<=')[0]
|
71
|
-
current_version = gem_line.split('<=')[1]
|
72
|
-
end
|
73
|
-
if !current_version.index(';').nil?
|
74
|
-
current_version = current_version.split(';')[0]
|
75
|
-
end
|
76
|
-
latest_version_string = %x(yolk -U #{name})
|
77
|
-
begin
|
78
|
-
latest_version = latest_version_string.split(' ')[2].split("(")[1].split(")")[0]
|
79
|
-
rescue
|
80
|
-
latest_version = current_version
|
81
|
-
end
|
82
|
-
scrape_url = "https://pypi.org/project/" + name.to_s + "/" + current_version.to_s
|
83
65
|
begin
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
66
|
+
if gem_line.include? "=="
|
67
|
+
name = gem_line.split('==')[0]
|
68
|
+
current_version = gem_line.split('==')[1]
|
69
|
+
elsif gem_line.include? ">="
|
70
|
+
name = gem_line.split('>=')[0]
|
71
|
+
current_version = gem_line.split('>=')[1]
|
72
|
+
elsif gem_line.include? "<="
|
73
|
+
name = gem_line.split('<=')[0]
|
74
|
+
current_version = gem_line.split('<=')[1]
|
75
|
+
end
|
76
|
+
if !current_version.index(';').nil?
|
77
|
+
current_version = current_version.split(';')[0]
|
78
|
+
end
|
79
|
+
|
80
|
+
api_url = "https://pypi.python.org/pypi/" + name + "/" + "json"
|
81
|
+
response = RestClient.get(api_url)
|
82
|
+
puts name.to_s + ": gathering info @ " + api_url
|
83
|
+
begin
|
84
|
+
current_build_date = JSON.parse(response)['releases'][current_version][0]['upload_time']
|
85
|
+
if !current_build_date.nil?
|
86
|
+
current_build_date = current_build_date
|
87
|
+
else
|
88
|
+
current_build_date = ""
|
89
|
+
end
|
90
|
+
rescue Exception => e
|
91
|
+
puts e
|
89
92
|
current_build_date = ""
|
90
93
|
end
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
latest_build_date =
|
101
|
-
|
94
|
+
|
95
|
+
begin
|
96
|
+
latest_version = JSON.parse(response)['info']['version']
|
97
|
+
rescue
|
98
|
+
puts e
|
99
|
+
latest_version = ""
|
100
|
+
end
|
101
|
+
|
102
|
+
begin
|
103
|
+
latest_build_date = JSON.parse(response)['releases'][latest_version][0]['upload_time']
|
104
|
+
if !latest_build_date.nil?
|
105
|
+
latest_build_date = latest_build_date
|
106
|
+
else
|
107
|
+
latest_build_date = ""
|
108
|
+
end
|
109
|
+
rescue Exception => e
|
110
|
+
puts e
|
102
111
|
latest_build_date = ""
|
103
112
|
end
|
104
|
-
rescue Exception => e
|
105
|
-
latest_build_date = ""
|
106
|
-
end
|
107
113
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
114
|
+
begin
|
115
|
+
documentation = JSON.parse(response)['info']['project_url']
|
116
|
+
rescue Exception => e
|
117
|
+
puts e
|
118
|
+
documentation = ""
|
119
|
+
end
|
113
120
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
121
|
+
begin
|
122
|
+
homepage_uri = JSON.parse(response)['info']['home_page']
|
123
|
+
rescue Exception => e
|
124
|
+
puts e
|
125
|
+
homepage_uri = ""
|
126
|
+
end
|
119
127
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
128
|
+
begin
|
129
|
+
days_complete = Date.parse(latest_build_date) - Date.parse(current_build_date)
|
130
|
+
rescue Exception => e
|
131
|
+
days_complete = 0
|
132
|
+
end
|
133
|
+
|
134
|
+
if gem_lines[name].nil?
|
135
|
+
array_to_write = Array.new(default_length) { |i| "" }
|
136
|
+
else
|
137
|
+
array_to_write = final_write[gem_lines[name]].split('|')
|
138
|
+
end
|
139
|
+
array_to_write[gem_name_pos] = "[" + name + "]" + "(" + homepage_uri.to_s + ")"
|
140
|
+
array_to_write[gem_version_pos] = current_version.to_s
|
141
|
+
array_to_write[gem_latest_pos] = latest_version.to_s
|
142
|
+
array_to_write[gem_date_pos] = (latest_build_date).to_s
|
143
|
+
array_to_write[gem_age_pos] = days_complete.to_i.to_s
|
136
144
|
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
145
|
+
array_to_write[gem_change_pos] = documentation.to_s.to_s + "\n"
|
146
|
+
if !gem_lines[name].nil?
|
147
|
+
final_write[gem_lines[name]] = array_to_write.join("|")
|
148
|
+
else
|
149
|
+
final_write << array_to_write.join("|")
|
150
|
+
end
|
151
|
+
rescue Exception => e
|
152
|
+
puts e
|
142
153
|
end
|
143
|
-
|
144
154
|
end
|
145
155
|
end
|
146
156
|
File.open('dependency-tracking.md', 'w') { |f| f.write(final_write.join) }
|
metadata
CHANGED
@@ -1,35 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: myprecious_python
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Balki Kodarapu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-02-
|
11
|
+
date: 2019-02-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: nokogiri
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.10.0
|
20
|
-
- - "~>"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '1.10'
|
23
|
-
type: :runtime
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 1.10.0
|
30
|
-
- - "~>"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '1.10'
|
33
13
|
- !ruby/object:Gem::Dependency
|
34
14
|
name: byebug
|
35
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,6 +50,46 @@ dependencies:
|
|
70
50
|
- - ">="
|
71
51
|
- !ruby/object:Gem::Version
|
72
52
|
version: 0.16.4
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: json
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '2.1'
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 2.1.0
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '2.1'
|
70
|
+
- - "~>"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 2.1.0
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: rest-client
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '2.0'
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.0.2
|
83
|
+
type: :runtime
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.0'
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 2.0.2
|
73
93
|
description: A simple, markdown generated with information about your python dependencies
|
74
94
|
email: balki.kodarapu@gmail.com
|
75
95
|
executables:
|