221
223
case Noise.SmartQuery.FieldType.YEAR:
222
224
if(q.comparator == SmartQuery.ComparatorType.IS_EXACTLY)
223
return int.parse(q.value) == s.year;
225
return int.parse (q.value) == s.year;
224
226
else if(q.comparator == SmartQuery.ComparatorType.IS_AT_MOST)
225
return (s.year <= int.parse(q.value));
227
return (s.year <= int.parse (q.value));
226
228
else if(q.comparator == SmartQuery.ComparatorType.IS_AT_LEAST)
227
return (s.year >= int.parse(q.value));
229
return (s.year >= int.parse (q.value));
229
231
case Noise.SmartQuery.FieldType.LENGTH:
230
232
if(q.comparator == SmartQuery.ComparatorType.IS_EXACTLY)
231
return int.parse(q.value) == s.length;
233
return int.parse (q.value) == s.length;
232
234
else if(q.comparator == SmartQuery.ComparatorType.IS_AT_MOST)
233
return (s.length <= int.parse(q.value));
235
return (s.length <= int.parse (q.value));
234
236
else if(q.comparator == SmartQuery.ComparatorType.IS_AT_LEAST)
235
return (s.length >= int.parse(q.value));
237
return (s.length >= int.parse (q.value));
237
239
case Noise.SmartQuery.FieldType.RATING:
238
240
if(q.comparator == SmartQuery.ComparatorType.IS_EXACTLY)
239
241
return int.parse(q.value) == s.rating;
240
242
else if(q.comparator == SmartQuery.ComparatorType.IS_AT_MOST)
241
return (s.rating <= int.parse(q.value));
243
return (s.rating <= int.parse (q.value));
242
244
else if(q.comparator == SmartQuery.ComparatorType.IS_AT_LEAST)
243
return (s.rating >= int.parse(q.value));
245
return (s.rating >= int.parse (q.value));
245
247
case Noise.SmartQuery.FieldType.DATE_ADDED:
246
var now = new DateTime.now_local();
247
var played = new DateTime.from_unix_local(s.date_added);
248
played = played.add_days(int.parse(q.value));
248
var now = new DateTime.now_local ();
249
var played = new DateTime.from_unix_local (s.date_added);
250
played = played.add_days (int.parse (q.value));
250
if(q.comparator == SmartQuery.ComparatorType.IS_EXACTLY)
251
return (now.get_day_of_year() == played.get_day_of_year() && now.get_year() == played.get_year());
252
else if(q.comparator == SmartQuery.ComparatorType.IS_WITHIN) {
253
return played.compare(now) > 0;
255
else if(q.comparator == SmartQuery.ComparatorType.IS_BEFORE) {
256
return now.compare(played) > 0;
252
if (q.comparator == SmartQuery.ComparatorType.IS_EXACTLY) {
253
return (now.get_day_of_year () == played.get_day_of_year () && now.get_year () == played.get_year ());
254
} else if (q.comparator == SmartQuery.ComparatorType.IS_WITHIN) {
255
return played.compare (now) > 0;
256
} else if (q.comparator == SmartQuery.ComparatorType.IS_BEFORE) {
257
return now.compare (played) > 0;
259
260
case Noise.SmartQuery.FieldType.DATE_RELEASED:
275
276
case Noise.SmartQuery.FieldType.LAST_PLAYED:
276
277
if(s.last_played == 0)
279
280
var now = new DateTime.now_local();
280
var played = new DateTime.from_unix_local(s.last_played);
281
played = played.add_days(int.parse(q.value));
283
if(q.comparator == SmartQuery.ComparatorType.IS_EXACTLY)
284
return (now.get_day_of_year() == played.get_day_of_year() && now.get_year() == played.get_year());
285
else if(q.comparator == SmartQuery.ComparatorType.IS_WITHIN) {
286
return played.compare(now) > 0;
288
else if(q.comparator == SmartQuery.ComparatorType.IS_BEFORE) {
289
return now.compare(played) > 0;
281
var played = new DateTime.from_unix_local (s.last_played);
282
played = played.add_days (int.parse (q.value));
284
if (q.comparator == SmartQuery.ComparatorType.IS_EXACTLY) {
285
return (now.get_day_of_year () == played.get_day_of_year () && now.get_year () == played.get_year ());
286
} else if (q.comparator == SmartQuery.ComparatorType.IS_WITHIN) {
287
return played.compare (now) > 0;
288
} else if (q.comparator == SmartQuery.ComparatorType.IS_BEFORE) {
289
return now.compare (played) > 0;