@@ -49,20 +49,19 @@ pub fn user_info(info: &Result<UserInfo>) {
49
49
}
50
50
51
51
pub fn list_ing ( ing_list : & Result < Vec < ( IngEntry , Vec < IngCommentEntry > ) > > , rev : bool ) {
52
- if let Err ( e ) = ing_list {
53
- println_err ( e ) ;
54
- return ;
55
- }
52
+ let ing_list = match ing_list {
53
+ Ok ( o ) => o ,
54
+ Err ( e ) => return println_err ( e ) ,
55
+ } ;
56
56
57
57
ing_list
58
- . as_ref ( )
59
- . unwrap ( )
60
58
. iter ( )
61
59
. dyn_rev ( rev)
62
60
. for_each ( |( ing, comment_list) | {
63
61
let create_time = {
64
62
let rfc3339 = patch_rfc3339 ( & ing. create_time ) ;
65
- let dt = DateTime :: parse_from_rfc3339 ( & rfc3339) . unwrap ( ) ;
63
+ let dt = DateTime :: parse_from_rfc3339 ( & rfc3339)
64
+ . unwrap_or_else ( |_| panic ! ( "Invalid RFC3339: {}" , rfc3339) ) ;
66
65
dt. format ( "%m-%d %H:%M" ) . to_string ( )
67
66
} ;
68
67
@@ -122,12 +121,11 @@ pub fn show_post(entry: &Result<PostEntry>) {
122
121
}
123
122
124
123
pub fn show_post_meta ( entry : & Result < PostEntry > ) {
125
- if let Err ( e ) = entry {
126
- println_err ( e ) ;
127
- return ;
128
- }
124
+ let entry = match entry {
125
+ Ok ( entry ) => entry ,
126
+ Err ( e ) => return println_err ( e ) ,
127
+ } ;
129
128
130
- let entry = entry. as_ref ( ) . unwrap ( ) ;
131
129
println ! ( "Title {}" , entry. title. cyan( ) . bold( ) ) ;
132
130
{
133
131
print ! ( "Status" ) ;
@@ -156,26 +154,27 @@ pub fn show_post_meta(entry: &Result<PostEntry>) {
156
154
}
157
155
let create_time = {
158
156
let rfc3339 = patch_rfc3339 ( & entry. create_time ) ;
159
- let dt = DateTime :: parse_from_rfc3339 ( & rfc3339) . unwrap ( ) ;
157
+ let dt = DateTime :: parse_from_rfc3339 ( & rfc3339)
158
+ . unwrap_or_else ( |_| panic ! ( "Invalid RFC3339: {}" , rfc3339) ) ;
160
159
dt. format ( "%Y-%m-%d %H:%M" )
161
160
} ;
162
161
println ! ( "Create {}" , create_time) ;
163
162
let modify_time = {
164
163
let rfc3339 = patch_rfc3339 ( & entry. modify_time ) ;
165
- let dt = DateTime :: parse_from_rfc3339 ( & rfc3339) . unwrap ( ) ;
164
+ let dt = DateTime :: parse_from_rfc3339 ( & rfc3339)
165
+ . unwrap_or_else ( |_| panic ! ( "Invalid RFC3339: {}" , rfc3339) ) ;
166
166
dt. format ( "%Y-%m-%d %H:%M" )
167
167
} ;
168
168
println ! ( "Modify {}" , modify_time) ;
169
169
println ! ( "Link https:{}" , entry. url) ;
170
170
}
171
171
172
172
pub fn list_post ( result : & Result < ( Vec < PostEntry > , usize ) > , rev : bool ) {
173
- if let Err ( e ) = result {
174
- println_err ( e ) ;
175
- return ;
176
- }
173
+ let ( entry_list , total_count ) = match result {
174
+ Ok ( o ) => o ,
175
+ Err ( e ) => return println_err ( e ) ,
176
+ } ;
177
177
178
- let ( entry_list, total_count) = result. as_ref ( ) . unwrap ( ) ;
179
178
println ! ( "{}/{}" , entry_list. len( ) , total_count) ;
180
179
entry_list. iter ( ) . dyn_rev ( rev) . for_each ( |entry| {
181
180
print ! ( "{} {}" , "#" . dimmed( ) , entry. id. to_string( ) . dimmed( ) ) ;
@@ -193,12 +192,11 @@ pub fn list_post(result: &Result<(Vec<PostEntry>, usize)>, rev: bool) {
193
192
}
194
193
195
194
pub fn search_post ( result : & Result < ( Vec < usize > , usize ) > , rev : bool ) {
196
- if let Err ( e ) = result {
197
- println_err ( e ) ;
198
- return ;
199
- }
195
+ let ( id_list , total_count ) = match result {
196
+ Ok ( o ) => o ,
197
+ Err ( e ) => return println_err ( e ) ,
198
+ } ;
200
199
201
- let ( id_list, total_count) = result. as_ref ( ) . unwrap ( ) ;
202
200
println ! ( "{}/{}" , id_list. len( ) , total_count) ;
203
201
id_list
204
202
. iter ( )
@@ -218,27 +216,23 @@ pub fn println_result<T: Display>(result: &Result<T>) {
218
216
}
219
217
220
218
pub fn list_news ( news_list : & Result < Vec < NewsEntry > > , rev : bool ) {
221
- if let Err ( e) = news_list {
222
- println_err ( e) ;
223
- return ;
224
- }
225
-
226
- news_list
227
- . as_ref ( )
228
- . unwrap ( )
229
- . iter ( )
230
- . dyn_rev ( rev)
231
- . for_each ( |news| {
232
- let create_time = {
233
- let rfc3339 = patch_rfc3339 ( & news. create_time ) ;
234
- let dt = DateTime :: parse_from_rfc3339 ( & rfc3339) . unwrap ( ) ;
235
- dt. format ( "%Y-%m-%d %H:%M" ) . to_string ( )
236
- } ;
219
+ let news_list = match news_list {
220
+ Ok ( o) => o,
221
+ Err ( e) => return println_err ( e) ,
222
+ } ;
237
223
238
- let url = format ! ( "https://news.cnblogs.com/n/{}" , news. id) ;
239
- println ! ( "{} {}" , create_time. dimmed( ) , url. dimmed( ) , ) ;
240
- println ! ( " {}" , news. title) ;
241
- println ! ( " {}{}" , news. summary. dimmed( ) , "..." . dimmed( ) ) ;
242
- println ! ( ) ;
243
- } ) ;
224
+ news_list. iter ( ) . dyn_rev ( rev) . for_each ( |news| {
225
+ let create_time = {
226
+ let rfc3339 = patch_rfc3339 ( & news. create_time ) ;
227
+ let dt = DateTime :: parse_from_rfc3339 ( & rfc3339)
228
+ . unwrap_or_else ( |_| panic ! ( "Invalid RFC3339: {}" , rfc3339) ) ;
229
+ dt. format ( "%Y-%m-%d %H:%M" ) . to_string ( )
230
+ } ;
231
+
232
+ let url = format ! ( "https://news.cnblogs.com/n/{}" , news. id) ;
233
+ println ! ( "{} {}" , create_time. dimmed( ) , url. dimmed( ) , ) ;
234
+ println ! ( " {}" , news. title) ;
235
+ println ! ( " {}{}" , news. summary. dimmed( ) , "..." . dimmed( ) ) ;
236
+ println ! ( ) ;
237
+ } ) ;
244
238
}
0 commit comments