ghedsh 1.1.9 → 1.1.10

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
2
  SHA1:
3
- metadata.gz: b45f745ce7322d75cd57b4cea2c8603d4f9d01d9
4
- data.tar.gz: 466f5140ece8a4dc12f15f8baaedd9610278b1cb
3
+ metadata.gz: 10c27568227695c5e7166c854a1e58e3ac74908c
4
+ data.tar.gz: 472ff14bd2ddc02686f346ca74b1f2935d360b35
5
5
  SHA512:
6
- metadata.gz: 583065f321a6aaddb70cddd84835fe4598c74d18407d9923369664c41ccf815059f9364b3bd2d34872fa0182313b011d14eb93a0409d5d04bf4b2ed919c11b85
7
- data.tar.gz: 828fda9f6005bcf315f8987fbf220cbe5e8b119de0d7fc6e399eeab72682c04a75b6f6ca89dd355a679f143a487bf8dde079b7468c93fcb008e1a8d74bd58d46
6
+ metadata.gz: 228dc8b4b3dbaff83deb9f4dde4e555063ee14ef598004387a9d8d681fcc637fe381c655639ea69fe92f92b5dd97f68d2bb27fc401d9eef245a73cd062f901aa
7
+ data.tar.gz: eb5604973f82e1ad6eab5f91adf885ae1bbe61b35bbf9949144b7b0ddeadbc9d0c287d0bfc08fe9d825739e9952d59112db8abbc3989bf0fe9d9fb8d180ff814
data/lib/actions/repo.rb CHANGED
@@ -24,11 +24,20 @@ class Repositories
24
24
  end
25
25
  end
26
26
 
27
- def show_repos(client,config,scope)
27
+ def show_repos(client,config,scope,exp)
28
28
  print "\n"
29
29
  reposlist=[]
30
30
  options=Hash.new
31
31
  o=Organizations.new
32
+ regex=false
33
+
34
+ if exp!=nil
35
+ if exp.match(/^\//)
36
+ regex=true
37
+ sp=exp.split('/')
38
+ exp=sp[1]
39
+ end
40
+ end
32
41
 
33
42
  case
34
43
  when scope==1
@@ -43,11 +52,24 @@ class Repositories
43
52
  repo=client.team_repositories(config["TeamID"])
44
53
  end
45
54
  repo.each do |i|
46
- puts i.name
47
- reposlist.push(i.name)
55
+ if regex==false
56
+ puts i.name
57
+ reposlist.push(i.name)
58
+ else
59
+
60
+ if i.name.match(/#{exp}/)
61
+ puts i.name
62
+ reposlist.push(i.name)
63
+ end
64
+ end
48
65
  end
49
- print "\n"
50
- puts "Repositories found: #{reposlist.size}"
66
+ if reposlist.empty?
67
+ puts "No repository matches with that expression"
68
+ else
69
+ print "\n"
70
+ puts "Repositories found: #{reposlist.size}"
71
+ end
72
+
51
73
  return reposlist
52
74
  end
53
75
 
@@ -63,26 +85,6 @@ class Repositories
63
85
  end
64
86
 
65
87
 
66
- def show_repos_smart(client,config,exp,scope)
67
- reposlist=[]
68
- case
69
- when scope==1
70
- repo=client.repositories(config["User"])
71
- #repo=client.all_repositories()
72
- when scope==2
73
- repo=client.organization_repositories(config["Org"])
74
- when scope==3
75
- repo=client.team_repositories(config["TeamID"])
76
- end
77
- repo.each do |i|
78
- reposlist.push(i.name)
79
- end
80
-
81
- reposlist=Sys.new.search_rexp(reposlist,exp)
82
- puts reposlist
83
- return reposlist
84
- end
85
-
86
88
  def show_forks(client,config,scope)
87
89
  print "\n"
88
90
  forklist=[]
@@ -12,21 +12,20 @@ class Sys
12
12
  def load_config(configure_path,argv_token)
13
13
  if File.exist?(configure_path)
14
14
  if argv_token==nil
15
- token=File.read("#{configure_path}/ghedsh-token")
15
+ token=self.get_login_token(configure_path)
16
16
  else
17
17
  token=argv_token
18
18
  end
19
19
  json = File.read("#{configure_path}/ghedsh-cache.json")
20
20
  config=JSON.parse(json)
21
21
 
22
- if token!=""
22
+ if token!=nil
23
23
  @client=self.login(token)
24
24
  config["User"]=@client.login
25
25
  userslist=self.load_users(configure_path)
26
26
 
27
- if userslist["#{config["User"]}"]==nil
28
- userslist["#{config["User"]}"]=token
29
- self.save_users(configure_path,userslist)
27
+ if userslist["users"].detect {|f| f["#{config["User"]}"] }==nil
28
+ self.add_users(configure_path,"#{config["User"]}"=>token)
30
29
  end
31
30
  if argv_token!=nil
32
31
  self.save_token(configure_path,argv_token)
@@ -44,12 +43,13 @@ class Sys
44
43
  def load_config_user(configure_path, user)
45
44
  if File.exist?(configure_path)
46
45
  list=self.load_users(configure_path)
47
- if list["#{user}"]!=nil
46
+ userFound=list["users"].detect {|f| f["#{user}"]}
47
+ if userFound!=nil
48
48
  json = File.read("#{configure_path}/ghedsh-cache.json")
49
49
  config=JSON.parse(json)
50
- @client=self.login(list["#{user}"])
50
+ @client=self.login(userFound["#{user}"])
51
51
  config["User"]=@client.login
52
- self.save_token(configure_path,list["#{user}"])
52
+ self.save_token(configure_path,userFound["#{user}"])
53
53
  return config
54
54
  else
55
55
  puts "User not found"
@@ -67,8 +67,24 @@ class Sys
67
67
  return users
68
68
  end
69
69
 
70
+ def add_users(path,data)
71
+ json=File.read("#{path}/ghedsh-users.json")
72
+ users=JSON.parse(json)
73
+ users["users"].push(data)
74
+ File.write("#{path}/ghedsh-users.json",users.to_json)
75
+ end
76
+
70
77
  def save_token(path,token)
71
- File.write("#{path}/ghedsh-token",token)
78
+ json=File.read("#{path}/ghedsh-users.json")
79
+ login=JSON.parse(json)
80
+ login["login"]=token
81
+ File.write("#{path}/ghedsh-users.json",login.to_json)
82
+ end
83
+
84
+ def get_login_token(path)
85
+ json=File.read("#{path}/ghedsh-users.json")
86
+ us=JSON.parse(json)
87
+ return us["login"]
72
88
  end
73
89
 
74
90
  def login(token)
@@ -90,9 +106,8 @@ class Sys
90
106
  if us!=nil
91
107
  puts "Login succesful as #{us.login}\n"
92
108
  config["User"]=us.login
93
- userhash["#{config["User"]}"]=token
94
- self.save_users(configure_path,userhash)
95
- File.write("#{configure_path}/ghedsh-token",token) #config["Token"]=token
109
+ self.add_users(configure_path,"#{config["User"]}"=>token)
110
+ self.save_token(configure_path,token)
96
111
  @client=us
97
112
  return config
98
113
  end
@@ -111,9 +126,8 @@ class Sys
111
126
 
112
127
  def create_config(configure_path)
113
128
  con={:User=>nil,:Org=>nil,:Repo=>nil,:Team=>nil,:TeamID=>nil}
114
- us={}
129
+ us={:login=>nil, :users=>[]}
115
130
  FileUtils.mkdir_p(configure_path)
116
- File.new("#{configure_path}/ghedsh-token","w")
117
131
  File.write("#{configure_path}/ghedsh-cache.json",con.to_json)
118
132
  File.write("#{configure_path}/ghedsh-users.json",us.to_json)
119
133
  puts "Confiration files created in #{configure_path}"
@@ -138,7 +152,6 @@ class Sys
138
152
 
139
153
  def search_rexp(list,exp)
140
154
  list= list.select{|o| o.match(/#{exp}/)}
141
- #puts list
142
155
  return list
143
156
  end
144
157
 
@@ -169,7 +182,7 @@ class Sys
169
182
  begin
170
183
  parser.parse!
171
184
  rescue
172
- puts "Argument error. Use ghedsh -v or ghedsh --help for more information about the usage of this program"
185
+ puts "Argument error. Use ghedsh -h or ghedsh --help for more information about the usage of this program"
173
186
  exit
174
187
  end
175
188
  return options
data/lib/interface.rb CHANGED
@@ -4,7 +4,6 @@ require 'json'
4
4
  require 'readline'
5
5
  require 'octokit'
6
6
  require 'optparse'
7
-
8
7
  require 'actions/help'
9
8
  require 'actions/orgs'
10
9
  require 'actions/repo'
@@ -13,6 +12,13 @@ require 'actions/teams'
13
12
  require 'actions/user'
14
13
  require 'version'
15
14
 
15
+ USER=1
16
+ ORGS=2
17
+ USER_REPO=10
18
+ ORGS_REPO=3
19
+ TEAM=4
20
+ TEAM_REPO=5
21
+
16
22
  class Interface
17
23
  attr_reader :option
18
24
  attr_accessor :config
@@ -26,12 +32,18 @@ class Interface
26
32
  def initialize
27
33
  sysbh=Sys.new()
28
34
  options=sysbh.parse
29
-
30
- if options[:user]==nil && options[:token]==nil && options[:path]!=nil
31
- self.run(options[:path],options[:token],options[:user])
32
- else
33
- self.run("#{ENV['HOME']}/.ghedsh",options[:token],options[:user])
35
+ begin
36
+ if options[:user]==nil && options[:token]==nil && options[:path]!=nil
37
+ self.run(options[:path],options[:token],options[:user])
38
+ else
39
+ self.run("#{ENV['HOME']}/.ghedsh",options[:token],options[:user])
40
+ end
41
+ rescue SystemExit, Interrupt
42
+ raise
43
+ rescue Exception => e
44
+ puts "exit"
34
45
  end
46
+
35
47
  end
36
48
 
37
49
  def add_history(value)
@@ -181,13 +193,13 @@ class Interface
181
193
  repo=Repositories.new()
182
194
  case
183
195
  when @deep == 1
184
- list=repo.show_repos(@client,@config,1)
196
+ list=repo.show_repos(@client,@config,1,nil)
185
197
  self.add_history_str(2,list)
186
198
  when @deep ==2
187
- list=repo.show_repos(@client,@config,2)
199
+ list=repo.show_repos(@client,@config,2,nil)
188
200
  self.add_history_str(2,list)
189
201
  when @deep==4
190
- list=repo.show_repos(@client,@config,3)
202
+ list=repo.show_repos(@client,@config,3,nil)
191
203
  self.add_history_str(2,list)
192
204
  end
193
205
  end
@@ -240,6 +252,7 @@ class Interface
240
252
  s=Sys.new
241
253
  # orden de búsqueda: ~/.ghedsh.json ./ghedsh.json ENV["ghedsh"] --configpath path/to/file.json
242
254
 
255
+ #control de carga de parametros en el logueo de la aplicacion
243
256
  if user!=nil
244
257
  @config=s.load_config_user(config_path,user)
245
258
  @client=s.client
@@ -257,6 +270,7 @@ class Interface
257
270
  end
258
271
 
259
272
  while ex != 0
273
+
260
274
  op=Readline.readline(self.prompt,true)
261
275
  opcd=op.split
262
276
  case
@@ -289,11 +303,11 @@ class Interface
289
303
  if opcd[0]=="repos" and opcd.size>1
290
304
  case
291
305
  when @deep==1
292
- r.show_repos_smart(@client,@config,opcd[1],1)
306
+ r.show_repos(@client,@config,1,opcd[1])
293
307
  when @deep==2
294
- r.show_repos_smart(@client,@config,opcd[1],2)
308
+ r.show_repos(@client,@config,2,opcd[1])
295
309
  when @deep==3
296
- r.show_repos_smart(@client,@config,opcd[1],3)
310
+ r.show_repos(@client,@config,3,opcd[1])
297
311
  end
298
312
  end
299
313
  if opcd[0]=="add_team_member"
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ghedsh
2
- VERSION='1.1.9'
2
+ VERSION='1.1.10'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ghedsh
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.9
4
+ version: 1.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Javier Clemente
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-04-26 00:00:00.000000000 Z
12
+ date: 2016-04-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: octokit