Moving runs from full-game categories to individual levels categories
3 years ago
France

In a game i moderate, all the existing runs have until now been submitted as "full-game" runs, despite the fact most of them are actually "individual levels" runs.

I'm in the process of moving these runs to equivalent individual levels categories i recently created. But as far as i know, there's no way to move these runs just by editing them.

I considered deleting and resubmitting them manually or with the help of a dedicated bot. However i have concerns about losing some data, in particular the identity of the original examiner, the original verify date and the date the runs were originally submitted.

Is there a better way of doing that, if possible without losing any information?

Edited by the author 3 years ago
United States

I don't believe so, but you could always copy that information and paste it in the run comments of the replacement runs.

PolariTOON likes this
France

I tried with a bot, but this is actually not a viable way to do that, because the server almost exclusively responds with HTTP 500 errors. It appears you can't submit a run via API on behalf of another user.

In fact, this seems to be a known issue, reported about 2 years ago on GitHub: https://github.com/speedruncomorg/api/issues/87 . Someone, in the GitHub issue, seems to have found a workaround: do not verify runs automatically and do not include any information about the actual player, and then manually verify all the runs and edit the player informations. I have not tried that yet.

This is better than nothing, but manually editing more than 600 runs will take ages.

Does someone actually maintain this API?

France

Sorry for the double post.

I'm trying the workaround, and it seems the API has another orthogonal bug.

In the replacement runs, i set the value of the level, the category and each subcategory i want the run to be in. However the API now responds with HTTP 400 errors, saying something like that: "You have not specified a value for variable xxxxxxxx (Name), but the variable is mandatory.".

The API seems to claim i have to set the value of all IL subcategories, even those that are not in the same category or not even in the same level. This is nonsense, since a given run can't be in several levels and in several categories at the same time.

I found a workaround, but with a major downside:

  1. Before migrating the runs, uncheck "sub-category" and "required" in the game settings for each variable of the destination leaderboards that is supposed to be mandatory. Unfortunately this erase all the rules, so make sure to have a copy of them somewhere
  2. Submit the replacement runs
  3. Go back to the settings and check the checkboxes that you have previously unchecked and add the rules that were previsously deleted by the site
Edited by the author 3 years ago