ghedsh 1.1.27 → 1.1.28

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: 125bdd2d4f3464689b742e68f61ebbbede5f79a7
4
- data.tar.gz: aed94f3d680aa969746f204bf8a3fa7d63b9a7db
3
+ metadata.gz: 17a76ca53bff0b058e4e19d2be8c227326ef34b1
4
+ data.tar.gz: 4fb73850d929ea7bd6edd6d9aa27f54c9dcb3802
5
5
  SHA512:
6
- metadata.gz: 9facac447d53fd20d61357211f054adc0f767adc18000c0706b1208c733a26568fc656d2c5333df97b2f32c6af5405bb582e1b24140915f835ff3d1515a4a62c
7
- data.tar.gz: 4c966951620fa29637db0f1aa68db4698591997a46230b54f9b62feac170d11c42c345081bc746eccb773c52f3c8eb60534afefb7d289e616a55fbeb4c9abde2
6
+ metadata.gz: 28a8b03e9a751adb7a91d8847da018f0dcb7be9544c650d92f27ce4297a132a1a892c9cbd3e83c5e4491f5747636aa21125d0fa6a22275d3971ddee5e188c764
7
+ data.tar.gz: d4b2242379e55bb41d5d32552678aba271d41f7b53ae72483d88aad9edd29432bf7e929329846dbf29640646b31838cb564ceb6a6c578c6043dcda375783a423
data/README.md CHANGED
@@ -153,6 +153,32 @@ people
153
153
  ```
154
154
  Muestra los miembros de una organizacion si nos encontramos en ese ambito, o los miembros de un equipo.
155
155
 
156
+ ```sh
157
+ people info
158
+ ```
159
+ Muestra la informacion extendida de los miembros de la organizacion.
160
+
161
+ ```sh
162
+ people info <usuario>
163
+ ```
164
+ Muestra la informacion extendida de un miembro especifico de una organizacion.
165
+
166
+ ```sh
167
+ add_people_info <file>
168
+ ```
169
+ Añade informacion extendida de los miembros de una organizacion mediante un archivo .csv.
170
+
171
+ Formato y campos de la informacion añadida:
172
+
173
+ > github, id, nombre, apellido, emails, organizaciones, urls
174
+
175
+ Ejemplo del contenido del archivo .csv. Cada linea representara los datos de un alumno, poniendo comillas se podra añadir varios valores en los campos de email, organizaciones y las urls.
176
+
177
+ > studentbeta,alu1342,Pedro,Garcia Perez,"alu1342@ull.edu.es, pedrogarciaperez@gmail.com","classroom-testing, SYTW1617","http://campusvirtual.ull.es/aluXXX, http://pegarpe.github.io"
178
+
179
+ > studentalpha1,alu321,Paco,Gutierrez,"alu321@ull.edu.es, pacogutierrez@gmail.com","classroom-testing, SYTW1617","http://campusvirtual.ull.es/aluXXX, http://st.github.io"
180
+
181
+
156
182
  ```sh
157
183
  files <path>
158
184
  ```
@@ -168,11 +194,31 @@ commits
168
194
  ```
169
195
  Muestra los commits del repositorio en el que se encuentre el usuario.
170
196
 
197
+ ```sh
198
+ private <true/false>
199
+ ```
200
+ Modifica la privacidad de un repositorio estando situado dentro del mismo.
201
+
202
+ ```sh
203
+ info
204
+ ```
205
+ Dentro del repositorio, muestra informacion del mismo.
206
+
171
207
  ```sh
172
208
  issues
173
209
  ```
174
210
  Muestra los issues del repositorio en el que se encuentre el usuario.
175
211
 
212
+ ```sh
213
+ issue <id>
214
+ ```
215
+ Muestra un issue especifico, y permite ver ademas sus comentarios.
216
+
217
+ ```sh
218
+ add_issue_comment <id>
219
+ ```
220
+ Añade un comentario a un issue especifico.
221
+
176
222
  ```sh
177
223
  new_issue <nombre>
178
224
  ```
data/lib/actions/help.rb CHANGED
@@ -11,6 +11,7 @@ class HelpM
11
11
  puts " Users options:"
12
12
  print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
13
13
  print "\torgs\t\t\tShow your organizations\n"
14
+ print "\topen\t\t\tOpen the user's url of github in your web browser.\n"
14
15
  print "\trepos\t\t\tList your repositories\n"
15
16
  print "\tclone\t\t\tClone a repository or a list of repositories using a regular expresion\n"
16
17
  print "\tnew_repository\t\tCreate a repository in your personal account\n"
@@ -23,6 +24,7 @@ class HelpM
23
24
  puts " Organization options:"
24
25
  print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
25
26
  print "\trepos\t\t\tList the repositories of your organization\n"
27
+ print "\topen\t\t\tOpen the organization's url of github in your web browser.\n"
26
28
  print "\tclone\t\t\tClone a repository or a list of repositories using a regular expresion\n"
27
29
  print "\tset\t\t\tMove you to a specific repository\n"
28
30
  print "\tpeople\t\t\tShow the members of an organization\n"
@@ -53,6 +55,7 @@ class HelpM
53
55
  puts " Repository options:"
54
56
  print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
55
57
  print "\tinfo\t\t\tShow information about the repository\n"
58
+ print "\topen\t\t\tOpen the repository's url of github in your web browser.\n"
56
59
  print "\tcommits\t\t\tShow the list of commits from the repository\n"
57
60
  print "\tnew_issue\t\tCreates a new issue\n"
58
61
  print "\tissues\t\t\tShow the list of issues from the repository\n"
@@ -77,9 +80,10 @@ class HelpM
77
80
  puts " Organization team options:"
78
81
  print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
79
82
  print "\tpeople\t\t\tMembers of the team\n"
83
+ print "\topen\t\t\tOpen the team's url of github in your web browser.\n"
80
84
  print "\tclone\t\t\tClone a repository or a list of repositories using a regular expresion\n"
81
85
  print "\tnew_repository\t\tCreate a repository to this team\n"
82
- print "\tadd_to_team\t\t\tAdd a member in the team\n\n"
86
+ print "\tadd_to_team\t\tAdd a member in the team\n\n"
83
87
  end
84
88
 
85
89
  def user_repo()
@@ -87,6 +91,7 @@ class HelpM
87
91
  puts " Repository options:"
88
92
  print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
89
93
  print "\tinfo\t\t\tShow information about the repository\n"
94
+ print "\topen\t\t\tOpen the repository's url of github in your web browser.\n"
90
95
  print "\tcommits\t\t\tShow the list of commits from the repository\n"
91
96
  print "\tnew_issue\t\tCreates a new issue\n"
92
97
  print "\tissues\t\t\tShow the list of issues from the repository\n"
@@ -103,6 +108,7 @@ class HelpM
103
108
  print "\t\t\t\t->\tcat [file]\n\n"
104
109
  print "\tprivate\t\t\tChange the privacy of a repository. Expected 'true' or 'false' as parameter.\n"
105
110
  print "\t\t\t\t->\tprivate [true]\n\n"
111
+ print "\topen\t\t\tOpen the repository's url of github in your web browser.\n"
106
112
  print "\tcol\t\t\tShow the list of collaborators from the repository\n\n"
107
113
  end
108
114
  def team_repo()
@@ -110,6 +116,7 @@ class HelpM
110
116
  puts " Repository options:"
111
117
  print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
112
118
  print "\tinfo\t\t\tShow information about the repository\n"
119
+ print "\topen\t\t\tOpen the repository's url of github in your web browser.\n"
113
120
  print "\tcommits\t\t\tShow the list of commits from the repository\n"
114
121
  print "\tnew_issue\t\tCreates a new issue\n"
115
122
  print "\tissues\t\t\tShow the list of issues from the repository\n"
data/lib/actions/orgs.rb CHANGED
@@ -133,7 +133,7 @@ class Organizations
133
133
  puts "\nAdd groups to your assignment (Press enter to skip): "
134
134
  op=gets.chomp
135
135
  if op==""
136
- puts "Do you want to create a new group? (Press any key to proceed, or only enter to skip)"
136
+ puts "Do you want to create a new group? (Press any key and enter to proceed, or only enter to skip)"
137
137
  an=gets.chomp
138
138
 
139
139
  if an!=""
@@ -296,8 +296,11 @@ class Organizations
296
296
  file=file+".csv"
297
297
  end
298
298
  if File.exist?(file)
299
- puts "here in #{file}"
300
- mem = CSV.read(file)
299
+ begin
300
+ mem = CSV.read(file,:quote_char => "|")
301
+ rescue
302
+ print "Invalid csv format."
303
+ end
301
304
  users=Hash.new;
302
305
  users=[]
303
306
  mem.each do |i|
@@ -329,7 +332,7 @@ class Organizations
329
332
  puts " Emails:\t#{here["emails"]} -> #{i["emails"]}"
330
333
  puts " Organizations:\t#{here["orgs"]} -> #{i["orgs"]}"
331
334
  puts " Urls:\t\t#{here["urls"]} -> #{i["urls"]}"
332
- puts "\nPress any key to proceed, or only enter to skip: "
335
+ puts "\nPress any key and enter to proceed, or only enter to skip: "
333
336
  op=gets.chomp
334
337
  if op!=""
335
338
  index1=list["orgs"].index{|aux| aux["name"]==config["Org"]}
@@ -436,4 +439,14 @@ class Organizations
436
439
  return orgslist
437
440
  end
438
441
 
442
+ def open_org(client,config)
443
+ mem=client.organization(config["Org"])
444
+ case
445
+ when RUBY_PLATFORM.downcase.include?("darwin")
446
+ system("open #{mem[:html_url]}")
447
+ when RUBY_PLATFORM.downcase.include?("linux")
448
+ system("xdg-open #{mem[:html_url]}")
449
+ end
450
+ end
451
+
439
452
  end
data/lib/actions/repo.rb CHANGED
@@ -70,22 +70,71 @@ class Repositories
70
70
  end
71
71
  end
72
72
 
73
- def create_issue(client,config,scope)
74
- puts "Insert Issue tittle: "
75
- tittle=gets.chomp
76
- puts "Add a description: "
77
- desc=gets.chomp
78
-
73
+ def open_repository(client,config,scope)
79
74
  case
80
75
  when scope==USER_REPO
81
- if config["Repo"].split("/").size == 1
82
- client.create_issue(config["User"]+"/"+config["Repo"],tittle,desc)
83
- else
84
- client.create_issue(config["Repo"],tittle,desc)
85
- end
76
+ if config["Repo"].split("/").size == 1
77
+ mem=client.repository(config["User"]+"/"+config["Repo"])
78
+ else
79
+ mem=client.repository(config["Repo"])
80
+ end
86
81
  when scope==ORGS_REPO || scope==TEAM_REPO
87
- client.create_issue(config["Org"]+"/"+config["Repo"],tittle,desc)
82
+ mem=client.repository(config["Org"]+"/"+config["Repo"])
83
+ end
84
+
85
+ case
86
+ when RUBY_PLATFORM.downcase.include?("darwin")
87
+ system("open #{mem[:html_url]}")
88
+ when RUBY_PLATFORM.downcase.include?("linux")
89
+ system("xdg-open #{mem[:html_url]}")
90
+ end
91
+
92
+ end
93
+
94
+ def create_issue(client,config,scope,path)
95
+ tittle=""
96
+ while tittle==""
97
+ puts "\nInsert Issue tittle: "
98
+ tittle=gets.chomp
99
+ end
100
+ puts "Write the description in you editor, press enter when you finish "
101
+
102
+ if ENV["EDITOR"]==nil
103
+ editor="vi"
104
+ else
105
+ editor=ENV["EDITOR"]
106
+ end
107
+
108
+ system("#{editor} #{path}/temp.txt &")
109
+ gets
110
+ begin
111
+ desc=File.read("#{path}/temp.txt")
112
+ rescue
113
+ puts "Empty description"
114
+ end
115
+ puts "This issue is gonna be created"
116
+ puts "\ntitle: #{tittle}"
117
+ puts "\n--------------------------------------"
118
+ puts desc
119
+ puts "--------------------------------------"
120
+ puts "\nTo proceed press enter, or to discard press any key and enter"
121
+ an=gets.chomp
122
+ if an==""
123
+ case
124
+ when scope==USER_REPO
125
+ if config["Repo"].split("/").size == 1
126
+ client.create_issue(config["User"]+"/"+config["Repo"],tittle,desc)
127
+ else
128
+ client.create_issue(config["Repo"],tittle,desc)
129
+ end
130
+ when scope==ORGS_REPO || scope==TEAM_REPO
131
+ client.create_issue(config["Org"]+"/"+config["Repo"],tittle,desc)
132
+ end
133
+ puts "Issue correctly created"
134
+ else
135
+ puts "Issue not created"
88
136
  end
137
+ Sys.new().remove_temp("#{path}/temp.txt")
89
138
  end
90
139
 
91
140
  def close_issue(client,config,scope,id)
@@ -163,7 +212,7 @@ class Repositories
163
212
  puts " --------------------------------------"
164
213
  puts "\n#{i[:body]}"
165
214
  issfound=1
166
- print "\nShow comments (Press any key to proceed, or only enter to skip) -> "
215
+ print "\nShow comments (Press any key and enter to proceed, or only enter to skip) -> "
167
216
  show=gets.chomp
168
217
  puts
169
218
  if show!=""
@@ -207,25 +256,49 @@ class Repositories
207
256
  end
208
257
 
209
258
  #add issue comment
210
- def add_issue_cm(client,config,scope,id)
211
- puts "Add a description: "
212
- desc=gets.chomp
213
- puts desc
214
- puts id
259
+ def add_issue_cm(client,config,scope,id,path)
260
+ puts "Write the description in you editor, press enter when you finish "
261
+
262
+ if ENV["EDITOR"]==nil
263
+ editor="vi"
264
+ else
265
+ editor=ENV["EDITOR"]
266
+ end
267
+ system("#{editor} #{path}/temp.txt")
268
+ gets
215
269
  begin
216
- case
217
- when scope==USER_REPO
218
- if config["Repo"].split("/").size == 1
219
- client.add_comment(config["User"]+"/"+config["Repo"],id,desc)
220
- else
221
- client.add_comment(config["Repo"],id,desc)
270
+ desc=File.read("#{path}/temp.txt")
271
+ rescue
272
+ puts "Empty description"
273
+ end
274
+
275
+ puts "This comment is gonna be created"
276
+ puts "\n--------------------------------------"
277
+ puts desc
278
+ puts "--------------------------------------"
279
+ puts "\nTo proceed press enter, or to discard press any key and enter"
280
+ an=gets.chomp
281
+
282
+ if an==""
283
+ begin
284
+ case
285
+ when scope==USER_REPO
286
+ if config["Repo"].split("/").size == 1
287
+ client.add_comment(config["User"]+"/"+config["Repo"],id,desc)
288
+ else
289
+ client.add_comment(config["Repo"],id,desc)
290
+ end
291
+ when scope==ORGS_REPO || scope==TEAM_REPO
292
+ client.add_comment(config["Org"]+"/"+config["Repo"],id,desc)
222
293
  end
223
- when scope==ORGS_REPO || scope==TEAM_REPO
224
- client.add_comment(config["Org"]+"/"+config["Repo"],id,desc)
294
+ puts "Comment created"
295
+ rescue
296
+ puts "Issue not found"
225
297
  end
226
- rescue
227
- puts "Issue not found"
298
+ else
299
+ puts "comment not created"
228
300
  end
301
+ Sys.new().remove_temp("#{path}/temp.txt")
229
302
  end
230
303
 
231
304
  #Show repositories and return a list of them
data/lib/actions/teams.rb CHANGED
@@ -189,6 +189,15 @@ class Teams
189
189
  end
190
190
  end
191
191
 
192
+ def open_team_repos(config)
193
+ case
194
+ when RUBY_PLATFORM.downcase.include?("darwin")
195
+ system("open https://github.com/orgs/#{config["Org"]}/teams/#{config["Team"]}")
196
+ when RUBY_PLATFORM.downcase.include?("linux")
197
+ system("xdg-open https://github.com/orgs/#{config["Org"]}/teams/#{config["Team"]}")
198
+ end
199
+ end
200
+
192
201
  def change_group_repos_privacity()
193
202
  end
194
203
 
data/lib/actions/user.rb CHANGED
@@ -5,9 +5,20 @@ require 'require_all'
5
5
  require_rel '.'
6
6
 
7
7
  class User
8
- def commits
8
+ def info(client)
9
+ mem=client.user(client.login)
10
+ puts m[:login]
11
+ puts m[:name]
12
+ puts m[:email]
9
13
  end
10
14
 
11
- def forks
15
+ def open_user(client)
16
+ mem=client.user(client.login)
17
+ case
18
+ when RUBY_PLATFORM.downcase.include?("darwin")
19
+ system("open #{mem[:html_url]}")
20
+ when RUBY_PLATFORM.downcase.include?("linux")
21
+ system("xdg-open #{mem[:html_url]}")
22
+ end
12
23
  end
13
24
  end
data/lib/interface.rb CHANGED
@@ -191,7 +191,7 @@ class Interface
191
191
  @teamlist=Teams.new.read_teamlist(@client,@config)
192
192
  end
193
193
  aux=@teamlist
194
- # puts "lul #{@teamlist}"
194
+
195
195
  if aux[path]!=nil
196
196
  @config["Team"]=path
197
197
  @config["TeamID"]=@teamlist[path]
@@ -440,6 +440,7 @@ class Interface
440
440
  t=Teams.new
441
441
  r=Repositories.new
442
442
  s=Sys.new
443
+ u=User.new
443
444
  # orden de búsqueda: ~/.ghedsh.json ./ghedsh.json ENV["ghedsh"] --configpath path/to/file.json
444
445
 
445
446
  #control de carga de parametros en el logueo de la aplicacion
@@ -513,6 +514,11 @@ class Interface
513
514
  if @deep==ASSIG
514
515
  o.make_assig(@client,@config,@assig_path)
515
516
  end
517
+ when op =="open"
518
+ if @deep==USER_REPO || @deep==TEAM_REPO || @deep==ORGS_REPO then r.open_repository(@client,@config,@deep) end
519
+ if @deep==USER then u.open_user(@client) end
520
+ if @deep==ORGS then o.open_org(@client,@config) end
521
+ if @deep==TEAM then t.open_team_repos(@config) end
516
522
  end
517
523
 
518
524
  if opcd[0]=="issue" and opcd.size>1
@@ -580,12 +586,12 @@ class Interface
580
586
  end
581
587
  if opcd[0]=="new_issue" and opcd.size==1
582
588
  if @deep==ORGS_REPO || @deep==USER_REPO || @deep==TEAM_REPO
583
- r.create_issue(@client,@config,@deep)
589
+ r.create_issue(@client,@config,@deep,config_path)
584
590
  end
585
591
  end
586
592
  if opcd[0]=="add_issue_comment" and opcd.size==2
587
593
  if @deep==ORGS_REPO || @deep==USER_REPO || @deep==TEAM_REPO
588
- r.add_issue_cm(@client,@config,@deep,opcd[1])
594
+ r.add_issue_cm(@client,@config,@deep,opcd[1],config_path)
589
595
  end
590
596
  end
591
597
  if opcd[0]=="close_issue" and opcd.size==2
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ghedsh
2
- VERSION='1.1.27'
2
+ VERSION='1.1.28'
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.27
4
+ version: 1.1.28
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: 2017-02-22 00:00:00.000000000 Z
12
+ date: 2017-03-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: octokit