@@ -54,68 +54,12 @@ var cmd = {
54
54
}
55
55
} ;
56
56
57
- function byLevel ( x , q ) {
58
- return x . level [ 0 ] . toLowerCase ( ) === q . toLowerCase ( ) ;
59
- }
60
-
61
- function byStateAC ( x , q ) {
62
- return x . state === 'ac' ;
63
- }
64
-
65
- function byLocked ( x , q ) {
66
- return x . locked ;
67
- }
68
-
69
- function byStarred ( x , q ) {
70
- return x . starred ;
71
- }
72
-
73
- var QUERY_HANDLERS = {
74
- e : byLevel ,
75
- E : _ . negate ( byLevel ) ,
76
- m : byLevel ,
77
- M : _ . negate ( byLevel ) ,
78
- h : byLevel ,
79
- H : _ . negate ( byLevel ) ,
80
- l : byLocked ,
81
- L : _ . negate ( byLocked ) ,
82
- d : byStateAC ,
83
- D : _ . negate ( byStateAC ) ,
84
- s : byStarred ,
85
- S : _ . negate ( byStarred )
86
- } ;
87
-
88
- function hasTag ( o , tag ) {
89
- return _ . isArray ( o ) &&
90
- _ . some ( o , function ( x ) { return x . indexOf ( tag . toLowerCase ( ) ) >= 0 ; } ) ;
91
- }
92
-
93
57
cmd . handler = function ( argv ) {
94
58
session . argv = argv ;
95
- core . getProblems ( function ( e , problems ) {
59
+ core . filterProblems ( argv , function ( e , problems ) {
96
60
if ( e ) return log . fail ( e ) ;
97
61
98
- var all = problems . length ;
99
-
100
- if ( argv . query ) {
101
- argv . query . split ( '' ) . forEach ( function ( q ) {
102
- var f = QUERY_HANDLERS [ q ] ;
103
- if ( ! f ) return ;
104
-
105
- problems = _ . filter ( problems , _ . partial ( f , _ , q ) ) ;
106
- } ) ;
107
- }
108
-
109
- argv . tag . forEach ( function ( tag ) {
110
- // TODO: fill company/tags in problems
111
- problems = _ . filter ( problems , function ( p ) {
112
- return p . category === tag ||
113
- hasTag ( p . companies , tag ) ||
114
- hasTag ( p . tags , tag ) ;
115
- } ) ;
116
- } ) ;
117
-
118
- var word = String ( argv . keyword ) . toLowerCase ( ) ;
62
+ var word = argv . keyword . toLowerCase ( ) ;
119
63
if ( word ) {
120
64
if ( word . endsWith ( word . substr ( - 1 ) . repeat ( 6 ) ) ) {
121
65
log . warn ( 'Hmmm...you might need a new keyboard?' ) ;
@@ -148,10 +92,9 @@ cmd.handler = function(argv) {
148
92
149
93
if ( argv . stat ) {
150
94
log . info ( ) ;
151
- log . printf ( ' All: %-9d Listed: %-9d' , all , problems . length ) ;
152
- log . printf ( ' Locked: %-9d Starred: %-9d' , stat . locked , stat . starred ) ;
153
- log . printf ( ' Accept: %-9d Not-AC: %-9d New: %-9d' , stat . ac , stat . notac , stat . None ) ;
154
- log . printf ( ' Easy: %-9d Medium: %-9d Hard: %-9d' , stat . Easy , stat . Medium , stat . Hard ) ;
95
+ log . printf ( ' Listed: %-9d Locked: %-9d Starred: %-9d' , problems . length , stat . locked , stat . starred ) ;
96
+ log . printf ( ' Accept: %-9d Not-AC: %-9d Remain: %-9d' , stat . ac , stat . notac , stat . None ) ;
97
+ log . printf ( ' Easy: %-9d Medium: %-9d Hard: %-9d' , stat . Easy , stat . Medium , stat . Hard ) ;
155
98
}
156
99
} ) ;
157
100
} ;
0 commit comments