@@ -237,7 +237,10 @@ def load_data(filter_year, filter_user, filter_yearday):
237237
238238 user = f .parent .parent .name
239239
240- if filter_user and user != filter_user :
240+ if filter_user == "me" :
241+ if not user .isdigit ():
242+ continue
243+ elif filter_user and user != filter_user :
241244 continue
242245
243246 year = int (f .parent .name )
@@ -449,6 +452,7 @@ def main():
449452 parser .add_argument ("-n" , "--dry-run" , action = "store_true" , help = "do not run" )
450453 parser .add_argument ("--no-build" , action = "store_true" , help = "do not build" )
451454 parser .add_argument ("-u" , "--user" , dest = "filter_user" , metavar = "USER" , type = str , help = "filter by user id" )
455+ parser .add_argument ("--no-slow" , action = "store_true" , help = "exlude slow solutions" )
452456 parser .add_argument ("n" , type = int , nargs = "*" , help = "filter by year or year/day" )
453457
454458 args = parser .parse_args ()
@@ -462,15 +466,27 @@ def main():
462466 if args .venv :
463467 return install_venv (args .venv )
464468
469+ languages = get_languages (args .language )
470+
471+ if args .no_slow :
472+ args .exclude = args .exclude or []
473+ args .exclude .extend (
474+ " -x 2016:5 -x 2016:11 -x 2016:14 -x 2016:23"
475+ " -x 2018:21 -x 2018:23 "
476+ " -x 2019:25" # no generic solution
477+ " -x 2020:15"
478+ " -x 2021:18"
479+ " -x 2022:15"
480+ " -x 2023:5 -x 2023:10 -x 2023:23" .split ()
481+ )
482+
465483 filter_year = 0 if len (args .n ) == 0 else int (args .n .pop (0 ))
466484 filter_day = set (args .n )
467485
468486 if not args .no_build :
469487 build_all (filter_year )
470488 print (end = f"{ CR } { CLEAR_EOL } " )
471489
472- languages = get_languages (args .language )
473-
474490 inputs , sols = load_data (filter_year , args .filter_user , args .exclude )
475491
476492 for year in range (2015 , 2024 ):
0 commit comments