@@ -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
@@ -222,17 +224,21 @@ fn get_readme(config: &Config, version: &Version, krate_name: &str) -> Option<St
222
224
let reader = Cursor :: new ( response) ;
223
225
let reader = GzDecoder :: new ( reader) ;
224
226
let mut archive = Archive :: new ( reader) ;
225
- let mut entries = archive. entries ( ) . expect ( & format ! (
226
- "[{}-{}] Invalid tar archive entries" ,
227
- krate_name, version. num
228
- ) ) ;
227
+ let mut entries = archive. entries ( ) . unwrap_or_else ( |_| {
228
+ panic ! (
229
+ "[{}-{}] Invalid tar archive entries" ,
230
+ krate_name, version. num
231
+ )
232
+ } ) ;
229
233
let manifest: Manifest = {
230
234
let path = format ! ( "{}-{}/Cargo.toml" , krate_name, version. num) ;
231
235
let contents = find_file_by_path ( & mut entries, Path :: new ( & path) , version, krate_name) ;
232
- toml:: from_str ( & contents) . expect ( & format ! (
233
- "[{}-{}] Syntax error in manifest file" ,
234
- krate_name, version. num
235
- ) )
236
+ toml:: from_str ( & contents) . unwrap_or_else ( |_| {
237
+ panic ! (
238
+ "[{}-{}] Syntax error in manifest file" ,
239
+ krate_name, version. num
240
+ )
241
+ } )
236
242
} ;
237
243
238
244
let rendered = {
@@ -249,10 +255,7 @@ fn get_readme(config: &Config, version: &Version, krate_name: &str) -> Option<St
249
255
. as_ref ( )
250
256
. map_or ( "README.md" , |e| & * * e) ,
251
257
manifest. package . repository . as_ref ( ) . map ( |e| & * * e) ,
252
- ) . expect ( & format ! (
253
- "[{}-{}] Couldn't render README" ,
254
- krate_name, version. num
255
- ) )
258
+ ) . unwrap_or_else ( |_| panic ! ( "[{}-{}] Couldn't render README" , krate_name, version. num) )
256
259
} ;
257
260
return Some ( rendered) ;
258
261
@@ -287,22 +290,28 @@ fn find_file_by_path<R: Read>(
287
290
filepath == path
288
291
}
289
292
} )
290
- . expect ( & format ! (
291
- "[{}-{}] couldn't open file: {}" ,
292
- krate_name,
293
- version. num,
294
- path. display( )
295
- ) )
296
- . expect ( & format ! (
297
- "[{}-{}] file is not present: {}" ,
298
- krate_name,
299
- version. num,
300
- path. display( )
301
- ) ) ;
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
+ } ) ;
302
309
let mut contents = String :: new ( ) ;
303
- file. read_to_string ( & mut contents) . expect ( & format ! (
304
- "[{}-{}] Couldn't read file contents" ,
305
- krate_name, version. num
306
- ) ) ;
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
+ } ) ;
307
316
contents
308
317
}
0 commit comments