@@ -61,7 +61,7 @@ fn main() {
61
61
let args: Args = Docopt :: new ( USAGE )
62
62
. and_then ( |d| d. deserialize ( ) )
63
63
. unwrap_or_else ( |e| e. exit ( ) ) ;
64
- let config: Config = Default :: default ( ) ;
64
+ let config = Config :: default ( ) ;
65
65
let conn = cargo_registry:: db:: connect_now ( ) . unwrap ( ) ;
66
66
67
67
let start_time = Utc :: now ( ) ;
@@ -133,10 +133,12 @@ fn main() {
133
133
let mut tasks = Vec :: with_capacity ( page_size as usize ) ;
134
134
for ( version, krate_name) in versions {
135
135
let config = config. clone ( ) ;
136
- version. record_readme_rendering ( & conn) . expect ( & format ! (
137
- "[{}-{}] Couldn't record rendering time" ,
138
- krate_name, version. num
139
- ) ) ;
136
+ version. record_readme_rendering ( & conn) . unwrap_or_else ( |_| {
137
+ panic ! (
138
+ "[{}-{}] Couldn't record rendering time" ,
139
+ krate_name, version. num
140
+ )
141
+ } ) ;
140
142
let handle = thread:: spawn ( move || {
141
143
println ! ( "[{}-{}] Rendering README..." , krate_name, version. num) ;
142
144
let readme = get_readme ( & config, & version, & krate_name) ;
@@ -155,10 +157,12 @@ fn main() {
155
157
"text/html" ,
156
158
readme_len as u64 ,
157
159
)
158
- . expect ( & format ! (
159
- "[{}-{}] Couldn't upload file to S3" ,
160
- krate_name, version. num
161
- ) ) ;
160
+ . unwrap_or_else ( |_| {
161
+ panic ! (
162
+ "[{}-{}] Couldn't upload file to S3" ,
163
+ krate_name, version. num
164
+ )
165
+ } ) ;
162
166
} ) ;
163
167
tasks. push ( handle) ;
164
168
}
@@ -181,10 +185,8 @@ fn get_readme(config: &Config, version: &Version, krate_name: &str) -> Option<St
181
185
None => return None ,
182
186
} ;
183
187
let date = Utc :: now ( ) . to_rfc2822 ( ) ;
184
- let url = Url :: parse ( & location) . expect ( & format ! (
185
- "[{}-{}] Couldn't parse crate URL" ,
186
- krate_name, version. num
187
- ) ) ;
188
+ let url = Url :: parse ( & location)
189
+ . unwrap_or_else ( |_| panic ! ( "[{}-{}] Couldn't parse crate URL" , krate_name, version. num) ) ;
188
190
189
191
let mut headers = List :: new ( ) ;
190
192
headers
@@ -220,22 +222,23 @@ fn get_readme(config: &Config, version: &Version, krate_name: &str) -> Option<St
220
222
return None ;
221
223
}
222
224
let reader = Cursor :: new ( response) ;
223
- let reader = GzDecoder :: new ( reader) . expect ( & format ! (
224
- "[{}-{}] Invalid gzip header" ,
225
- krate_name, version. num
226
- ) ) ;
225
+ let reader = GzDecoder :: new ( reader) ;
227
226
let mut archive = Archive :: new ( reader) ;
228
- let mut entries = archive. entries ( ) . expect ( & format ! (
229
- "[{}-{}] Invalid tar archive entries" ,
230
- krate_name, version. num
231
- ) ) ;
227
+ let mut entries = archive. entries ( ) . unwrap_or_else ( |_| {
228
+ panic ! (
229
+ "[{}-{}] Invalid tar archive entries" ,
230
+ krate_name, version. num
231
+ )
232
+ } ) ;
232
233
let manifest: Manifest = {
233
234
let path = format ! ( "{}-{}/Cargo.toml" , krate_name, version. num) ;
234
235
let contents = find_file_by_path ( & mut entries, Path :: new ( & path) , version, krate_name) ;
235
- toml:: from_str ( & contents) . expect ( & format ! (
236
- "[{}-{}] Syntax error in manifest file" ,
237
- krate_name, version. num
238
- ) )
236
+ toml:: from_str ( & contents) . unwrap_or_else ( |_| {
237
+ panic ! (
238
+ "[{}-{}] Syntax error in manifest file" ,
239
+ krate_name, version. num
240
+ )
241
+ } )
239
242
} ;
240
243
241
244
let rendered = {
@@ -252,10 +255,7 @@ fn get_readme(config: &Config, version: &Version, krate_name: &str) -> Option<St
252
255
. as_ref ( )
253
256
. map_or ( "README.md" , |e| & * * e) ,
254
257
manifest. package . repository . as_ref ( ) . map ( |e| & * * e) ,
255
- ) . expect ( & format ! (
256
- "[{}-{}] Couldn't render README" ,
257
- krate_name, version. num
258
- ) )
258
+ ) . unwrap_or_else ( |_| panic ! ( "[{}-{}] Couldn't render README" , krate_name, version. num) )
259
259
} ;
260
260
return Some ( rendered) ;
261
261
@@ -290,22 +290,28 @@ fn find_file_by_path<R: Read>(
290
290
filepath == path
291
291
}
292
292
} )
293
- . expect ( & format ! (
294
- "[{}-{}] couldn't open file: {}" ,
295
- krate_name,
296
- version. num,
297
- path. display( )
298
- ) )
299
- . expect ( & format ! (
300
- "[{}-{}] file is not present: {}" ,
301
- krate_name,
302
- version. num,
303
- path. display( )
304
- ) ) ;
293
+ . unwrap_or_else ( || {
294
+ panic ! (
295
+ "[{}-{}] couldn't open file: {}" ,
296
+ krate_name,
297
+ version. num,
298
+ path. display( )
299
+ )
300
+ } )
301
+ . unwrap_or_else ( |_| {
302
+ panic ! (
303
+ "[{}-{}] file is not present: {}" ,
304
+ krate_name,
305
+ version. num,
306
+ path. display( )
307
+ )
308
+ } ) ;
305
309
let mut contents = String :: new ( ) ;
306
- file. read_to_string ( & mut contents) . expect ( & format ! (
307
- "[{}-{}] Couldn't read file contents" ,
308
- krate_name, version. num
309
- ) ) ;
310
+ file. read_to_string ( & mut contents) . unwrap_or_else ( |_| {
311
+ panic ! (
312
+ "[{}-{}] Couldn't read file contents" ,
313
+ krate_name, version. num
314
+ )
315
+ } ) ;
310
316
contents
311
317
}
0 commit comments