slapshot 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6b25d113ae7b0db720fc5052ad3b4e99df9bce14
4
+ data.tar.gz: 42df251af565c0a802326819b336474b0aba6286
5
+ SHA512:
6
+ metadata.gz: eec0f68106e4805c6d7d3b1d80a853f55d33d2a58919e08439126e9feb91f9eccf087b516febae39007acec255b33b435f0cdf3c67b70f0a1e3220b923ac540a
7
+ data.tar.gz: 8ba924b8fb78047dc31c5a387b6105dba538e111798ee9a44c57827ca747a7b515640d5bd0aa0dddb4b37363e0a4de2b6e0f034583774b88943c2d62c4fd90c3
@@ -26,6 +26,14 @@ command :search do |c|
26
26
  c.desc 'Return all fields of the results, including code snippets'
27
27
  c.default_value false
28
28
  c.switch [:f, :full]
29
+
30
+ c.desc 'Return results in GraphML'
31
+ c.default_value false
32
+ c.switch [:g, :graph]
33
+
34
+ c.desc 'Return results in JSON'
35
+ c.default_value false
36
+ c.switch [:j, :json]
29
37
 
30
38
  c.desc 'Export the results to an Excel file with the given name'
31
39
  c.flag [:x, :xls]
@@ -45,9 +53,15 @@ command :search do |c|
45
53
  count = 5000
46
54
  end
47
55
 
48
- r = @sc.search args[0], count, options[:f]
56
+ r = @sc.search args[0], count, options[:f], options[:g]
49
57
 
50
- if options[:x]
58
+ if options[:g]
59
+ puts
60
+ puts r
61
+ elsif options[:j]
62
+ puts
63
+ puts "#{r}"
64
+ elsif options[:x]
51
65
  @sc.to_xls r, options[:x]
52
66
  puts "Exported search results to #{options[:x]}"
53
67
  else
@@ -57,6 +71,33 @@ command :search do |c|
57
71
  end
58
72
  end
59
73
 
74
+ desc 'Try out a custom parser'
75
+ arg_name 'pass in a solrQuery and a custom parser file'
76
+ command :try do |c|
77
+
78
+ c.desc 'Return results in HTML'
79
+ c.default_value false
80
+ c.switch [:h, :html]
81
+
82
+ c.desc 'The maximum number of results the search should return'
83
+ c.default_value 20
84
+ c.flag [:c, :count]
85
+
86
+ c.action do |global_options,options,args|
87
+
88
+ if args.length != 2
89
+ raise 'The search command takes exactly 2 arguments: a solr query and a parser file'
90
+ end
91
+
92
+ file = File.new(args[1], 'r');
93
+
94
+ r = @sc.try args[0], file, options[:c], options[:h]
95
+
96
+ puts
97
+ puts "#{r}"
98
+ end
99
+ end
100
+
60
101
  desc 'Login to the API and generate a token'
61
102
  arg_name 'Pass in the username and password to login and generate a token'
62
103
 
@@ -138,8 +179,7 @@ post do |global,command,options,args|
138
179
  end
139
180
 
140
181
  on_error do |exception|
141
- # Error logic here
142
- # return false to skip default error handling
182
+ #puts exception.http_body
143
183
  true
144
184
  end
145
185
 
@@ -49,13 +49,14 @@ end
49
49
  class Appshot
50
50
 
51
51
  def initialize(url, token, instance)
52
- @instance = instance
53
- @api = RestClient::Resource.new url, :timeout => -1, :headers => {'Appshot-AuthToken' => token, 'Appshot-Instance' => instance}
52
+ @headers = {'Appshot-AuthToken' => token, 'Appshot-Instance' => instance};
53
+ @url = url
54
+ @api = RestClient::Resource.new url, :timeout => -1, :headers => @headers
54
55
  end
55
56
 
56
- def search(query, count, full)
57
+ def search(query, count, full, graph)
57
58
 
58
- response = @api["service/api/search"].get :params => { :i => @instance, :q => query, :c => count, :f => full }, :content_type => :json, :accept => :json
59
+ response = @api["service/api/search"].get :params => { :i => @instance, :q => query, :c => count, :f => full ,:g => graph}, :content_type => :json, :accept => :json
59
60
 
60
61
  json_response = JSON.parse(response.body)
61
62
 
@@ -64,11 +65,55 @@ class Appshot
64
65
  end
65
66
 
66
67
  puts "Found #{json_response['count']} total results, retrieving #{count} results in #{json_response['search_time']} ms."
67
- json_response['docs']
68
+
69
+ if graph
70
+ json_response['graph']
71
+ else
72
+ json_response['docs']
73
+ end
74
+
75
+ end
76
+
77
+ def try(solrQuery, parserFile, count, html)
78
+
79
+ =begin
80
+ response = RestClient.post "#{@url}/service/customParser/test", {:solrQuery => solrQuery, :parserFile => parserFile, :c => count, :h => html }, @headers
81
+
82
+ JSON.parse(response.body)
83
+
84
+ if (Integer(json_response['count']) < Integer(count))
85
+ count = json_response['count']
86
+ end
87
+
88
+ puts "Found #{json_response['count']} total results, retrieving #{count} results in #{json_response['search_time']} ms."
89
+
90
+ if html
91
+ json_response['html']
92
+ else
93
+ json_response['docs']
94
+ end
95
+ =end
96
+
97
+ if html
98
+ response = RestClient.post "#{@url}/service/customParser/testHtml", {:solrQuery => solrQuery, :parserFile => parserFile}, @headers
99
+ else
100
+ response = RestClient.post "#{@url}/service/customParser/test", {:solrQuery => solrQuery, :parserFile => parserFile}, @headers
101
+ JSON.parse(response.body)
102
+ end
68
103
 
69
104
  end
70
105
 
71
106
  def to_table(result)
107
+
108
+ #remove all of the newlines
109
+ result.each do |r|
110
+ r.each_pair do |k,v|
111
+ if v.instance_of?(String)
112
+ r[k] = v.gsub("\n",' ')
113
+ end
114
+ end
115
+ end
116
+
72
117
  Formatador.display_table(result)
73
118
  end
74
119
 
@@ -76,20 +121,30 @@ class Appshot
76
121
 
77
122
  book = Spreadsheet::Workbook.new
78
123
  sheet1 = book.create_worksheet :name => 'Search Results'
124
+ sheet1.row(0).default_format = Spreadsheet::Format.new :weight => :bold, :align => :center
79
125
 
80
- columns = ['name', 'entity_type']
126
+ columns = ['name']
127
+ for obj in result
128
+ for key in obj.keys
129
+ columns << key
130
+ end
131
+ end
132
+
133
+ columns.uniq!
81
134
 
82
- rownum = 0
135
+ rownum = 0
136
+ for column in columns
137
+ sheet1.row(rownum).push column
138
+ end
139
+
140
+ for row in result
141
+ rownum += 1
83
142
  for column in columns
84
- sheet1.row(rownum).push column
85
- end
86
- for row in result
87
- rownum += 1
88
- for column in columns
89
- sheet1.row(rownum).push row[column].nil? ? 'N/A' : row[column]
90
- end
143
+ sheet1.row(rownum).push row[column].nil? ? 'N/A' : row[column]
91
144
  end
92
- book.write(out)
145
+ end
146
+
147
+ book.write(out)
148
+
93
149
  end
94
-
95
150
  end
@@ -1,3 +1,3 @@
1
1
  module Slapshot
2
- VERSION = '0.0.12'
2
+ VERSION = '0.0.13'
3
3
  end
metadata CHANGED
@@ -1,68 +1,60 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slapshot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
5
- prerelease:
4
+ version: 0.0.13
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mik Lernout
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-01-14 00:00:00.000000000 Z
11
+ date: 2013-04-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rake
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rdoc
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: aruba
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: gli
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - '='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - '='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rest-client
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - '='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - '='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: json
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - '='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - '='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: formatador
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - '='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - '='
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: spreadsheet
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - '='
132
116
  - !ruby/object:Gem::Version
@@ -134,15 +118,12 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - '='
140
123
  - !ruby/object:Gem::Version
141
124
  version: 0.7.4
142
- description: ! 'This is a command line interface to the Appshot API. I allows you
143
- to search your Appshot instance, upload code and import/export informations.
144
-
145
- '
125
+ description: |
126
+ This is a command line interface to the Appshot API. I allows you to search your Appshot instance, upload code and import/export informations.
146
127
  email: Mik_Lernout@Dell.com
147
128
  executables:
148
129
  - slapshot
@@ -159,6 +140,7 @@ files:
159
140
  - slapshot.rdoc
160
141
  homepage: http://appshot.com
161
142
  licenses: []
143
+ metadata: {}
162
144
  post_install_message:
163
145
  rdoc_options:
164
146
  - --title
@@ -170,21 +152,19 @@ require_paths:
170
152
  - lib
171
153
  - lib
172
154
  required_ruby_version: !ruby/object:Gem::Requirement
173
- none: false
174
155
  requirements:
175
- - - ! '>='
156
+ - - '>='
176
157
  - !ruby/object:Gem::Version
177
158
  version: 1.9.0
178
159
  required_rubygems_version: !ruby/object:Gem::Requirement
179
- none: false
180
160
  requirements:
181
- - - ! '>='
161
+ - - '>='
182
162
  - !ruby/object:Gem::Version
183
163
  version: '0'
184
164
  requirements: []
185
165
  rubyforge_project:
186
- rubygems_version: 1.8.23
166
+ rubygems_version: 2.0.3
187
167
  signing_key:
188
- specification_version: 3
168
+ specification_version: 4
189
169
  summary: A command line interface to the Appshot API
190
170
  test_files: []