mothra 0.0.1 → 0.0.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
2
  SHA1:
3
- metadata.gz: d882ca3ec4237ce4af39b9c28f8c922b6be09962
4
- data.tar.gz: 08c484888b69d285afa3172664c85259d184b0b9
3
+ metadata.gz: ed30be80e982f100a9719eebc8ef7b726aaed6e3
4
+ data.tar.gz: 4f8acf764f989e8f76c5cbc1642f8a0e61650804
5
5
  SHA512:
6
- metadata.gz: 20c53291e674d4548d367ce19a90157567612f7dd7ef34ad3583db69623c30bd54499d814ecfa1f21ce288746d27694ce307f0bcb97b815879209ce9151407d8
7
- data.tar.gz: 905afdd4df8e5f8fdabca7da37593e306896f3e52bf3cb0434aab321ef41028cba6d08d828ecf3fe45d63a2fe1961efe90e6a1e4326e97e182610d8dd9554ab5
6
+ metadata.gz: d82c1d96733eda074e18fc10b8027e51a0e0ac434bde3b85c7be0f80315656dd426a428e0ecf8522c64c5a2147f9d3e5fcb46b944926bab787768b5f1abddc45
7
+ data.tar.gz: 142d39c5a6df5c20a792be5c51be51a53fe09f784ddbbce8c8e088115c344e3fe0c1cca870ec502ddd4c0afa0d78412eabb9178eadd1bb56568096c555af9197
data/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ ## 0.0.2 (2015-01-08)
2
+
3
+ - NEW:
4
+ - `get <bug_id>`
5
+ - `browse <bug_id>`
6
+
7
+ # 0.0.1 (2015-01-06)
8
+ - Base system with following commands
9
+ - `search <keyword> <days_ago=180>`
10
+ - `create <summary>`
11
+ - `submit <summary> <file_path>`
12
+ - `attach <bug_id> <file_path>`
data/README.md CHANGED
@@ -25,7 +25,9 @@ or create manually:
25
25
  ## Usage
26
26
  Commands:
27
27
  mothra attach <bug_id>, <file_path> # add attachment to <bug_id>
28
+ mothra browse <bug_id> # open <bug_id> at your browser
28
29
  mothra create <summary> # set PR summary only, no attachments
30
+ mothra get <bug_id> # get info of <bug_id>
29
31
  mothra help [COMMAND] # Describe available commands or one specific command
30
32
  mothra search <keyword>, <days_ago=180> # search keyword from bugzilla summary for last 180 days or you want
31
33
  mothra submit <summary>, <file_path> # send-pr to bugs.freebsd.org
@@ -67,3 +69,6 @@ or create manually:
67
69
  4. Push to the branch (`git push origin my-new-feature`)
68
70
  5. Create a new Pull Request
69
71
 
72
+ ## TODO (0.0.3)
73
+
74
+ `mothra setup` #copy settings to ~/.mothra.yml
data/lib/mothra/cli.rb CHANGED
@@ -8,6 +8,19 @@ require 'rodzilla'
8
8
 
9
9
  require 'base64'
10
10
  require 'pathname'
11
+ require 'mkmf'
12
+
13
+ def clean_bz_url(url)
14
+ if url.end_with? '/'
15
+ url = url[0..-2]
16
+ end
17
+
18
+ url
19
+ end
20
+
21
+ def is_numeric?(obj)
22
+ obj.to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/) == nil ? false : true
23
+ end
11
24
 
12
25
  def get_file_name(file_path)
13
26
  Pathname.new(file_path).basename
@@ -32,6 +45,7 @@ class CLI < Thor
32
45
  def initialize(*args)
33
46
  super
34
47
  @config = YAML.load_file "#{Dir.home}/.mothra.yml"
48
+ @config['BZ_URL'] = clean_bz_url(@config['BZ_URL'])
35
49
  @bz = Rodzilla::Resource::Bug.new(@config['BZ_URL'], @config['BZ_USER'], @config['BZ_PASSWD'], :json)
36
50
  end
37
51
 
@@ -57,6 +71,50 @@ class CLI < Thor
57
71
  end
58
72
  end
59
73
 
74
+ desc 'get <bug_id>', 'get info of <bug_id>'
75
+ def get(bug_id)
76
+ if not is_numeric?bug_id
77
+ puts 'No such bug id'
78
+ exit
79
+ end
80
+
81
+ ret = @bz.get(ids: bug_id)
82
+
83
+ begin
84
+ r = ret['bugs'][0]
85
+ print "[#{r['id']}] ".yellow
86
+ print "[#{r['status']}] ".cyan
87
+ print "#{r['summary']} ".white
88
+ puts "[#{r['last_change_time']}] ".light_black
89
+ puts "#{@config['BZ_URL']}/show_bug.cgi?id=#{bug_id}".cyan
90
+ rescue
91
+ puts 'No such bug_id'
92
+ end
93
+ end
94
+
95
+ desc 'browse <bug_id>', 'open <bug_id> at your browser'
96
+ def browse(bug_id)
97
+ if not is_numeric?bug_id
98
+ puts 'No such bug id'
99
+ exit
100
+ end
101
+
102
+ url = "#{@config['BZ_URL']}/show_bug.cgi?id=#{bug_id}"
103
+
104
+ if RbConfig::CONFIG['host_os'] =~ /darwin/
105
+ system "open #{url}"
106
+ elsif RbConfig::CONFIG['host_os'] =~ /linux|bsd/
107
+ if find_executable 'xdg-open'
108
+ system "xdg-open #{url}"
109
+ else
110
+ puts 'You have no xdg-open command, please browse it manually!'
111
+ puts url.cyan
112
+ end
113
+ else
114
+ puts 'Could not open url at your platform, sorry.'
115
+ end
116
+ end
117
+
60
118
  desc 'create <summary>', 'set PR summary only, no attachments'
61
119
  def create(summary)
62
120
  bug_id = _create(summary)
@@ -138,7 +196,7 @@ class CLI < Thor
138
196
  ret = @bz.add_attachment!(ids: [bug_id],
139
197
  data: file_base64,
140
198
  file_name: file_name,
141
- summary: 'Just add an attachment.',
199
+ summary: file_name,
142
200
  content_type: 'text/plain',
143
201
  )
144
202
 
@@ -1,3 +1,3 @@
1
1
  module Mothra
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mothra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jin-Sih Lin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-05 00:00:00.000000000 Z
11
+ date: 2015-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -118,6 +118,7 @@ extra_rdoc_files: []
118
118
  files:
119
119
  - ".gitignore"
120
120
  - ".mothra.yml"
121
+ - CHANGELOG.md
121
122
  - Gemfile
122
123
  - LICENSE.txt
123
124
  - README.md