-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: build python den levels #1696
Conversation
48ac3d1
to
a70d423
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 10 files reviewed, 7 unresolved discussions (waiting on @faucomte97)
game/messages.py
line 2480 at r1 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Are we using
count
ornumber
?
Originally this was count
but this was actually a change specifically requested by Rebecca - I am not 100% sure of her reasoning
game/messages.py
line 3657 at r1 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Episodes 12-15 are duplicated by 20-22 and 25. Let's reuse them instead if possible
Episode list has been updated :)
game/end_to_end_tests/test_play_through.py
line 282 at r1 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
run Black
I have now run it!
game/migrations/0097_add_python_den_levels.py
line 14 at r1 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
These 4 episodes are basically episodes 12-15. See if you can reuse the already existing ones instead of creating new ones. Therefore same goes for the levels inside of episode 12.
Should be adjusted now!
game/migrations/0097_add_python_den_levels.py
line 17 at r1 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
I think it would be nicer if we kept the name of the variable to the name we give the level, so in this case,
level110
.
I agree, but I think it would be nicer to give these levels the names they'll have in Python Den, so in this case it would be level1001
(except not for this level specifically because it is no longer renamed)
game/migrations/0097_add_python_den_levels.py
line 20 at r1 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Why are you renaming it?
Since the name is used in the URL, I needed to give the Python Den levels names that didn't match any Rapid Router levels - but since I'm no longer duplicating these levels they won't need to be renamed anymore!
game/migrations/0097_add_python_den_levels.py
line 21 at r1 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
No need to change the episode it's in if you just reuse the episode we already have.
Should be fixed now too!
Note: finalizing the final levels and next levels/episodes will happen as part of the levels page task, since in this task the levels aren't actually being prepared for display yet, they're just being built. That means that as part of the next task, in addition to setting final levels and double checking next levels/episodes, some tests will have to be updated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 3 of 9 files at r1, 7 of 7 files at r2, all commit messages.
Reviewable status: all files reviewed, 13 unresolved discussions (waiting on @evemartin)
game/messages.py
line 2480 at r1 (raw file):
Previously, evemartin wrote…
Originally this was
count
but this was actually a change specifically requested by Rebecca - I am not 100% sure of her reasoning
Hmm. I'm asking mainly because I saw that you updated number
to count
in level 106, so I'm not sure this is consistent. Would you mind double checking with Rebecca? 🙏
game/messages.py
line 2707 at r2 (raw file):
title_level123, description_level123, hint_level123,
Following Ridwanah's work we can now specify which commands are relevant in Python-only levels - please ensure only the commands that are strictly needed to complete the level are linked to the new Python levels you've created, like level 122 above.
game/migrations/0097_add_python_den_levels.py
line 26 at r2 (raw file):
default=True, destinations="[[9,4]]", disable_algorithm_score=True,
Enable algorithm score for all Blockly & Python levels pls.
Basically any level that has a non-empty model_solution
should have the algo score enabled.
game/migrations/0097_add_python_den_levels.py
line 318 at r2 (raw file):
) level1026 = Level.objects.get(name="85", default=True)
Similarly to the episodes, do we need to create new level objects for the levels we already have? We'll just be able to reference them in the levels page, right?
This goes for all levels that copy previous ones.
game/migrations/0097_add_python_den_levels.py
line 450 at r2 (raw file):
pythonEnabled=True, pythonViewEnabled=False, theme_name="grass",
Seems like the theme is snow on dev?
game/migrations/0097_add_python_den_levels.py
line 453 at r2 (raw file):
character_name="Van", lesson="Can you find the shortest route?", hint="In this level, you want to check for a left turn first. If there is no left turn, turn right. Notice what that looks like in Python.",
That last sentence is weird for students in the context of a hint.
game/migrations/0097_add_python_den_levels.py
line 1169 at r2 (raw file):
) )
You're missing the decor for level 1019
game/migrations/0097_add_python_den_levels.py
line 1374 at r2 (raw file):
Episode = apps.get_model("game", "Episode") Level = apps.get_model("game", "Level")
Run Black!
game/migrations/0097_add_python_den_levels.py
line 1414 at r2 (raw file):
migrations.RunPython(code=add_python_den_decor), migrations.RunPython(code=set_first_and_last_levels) ]
I know this is gonna be a pain.
But for each of these operations, since they are custom code, can you please add the equivalent reverse code for each of them, in case we ever need to reverse the migration?
It should be easier than creating the levels really.
In theory, you should just need to delete the new levels, blocks and decors you've created, then undo the next_episode and last_level changes etc.
Code quote:
operations = [
migrations.RunPython(code=delete_old_loop_levels),
migrations.RunPython(code=create_python_den_episodes),
migrations.RunPython(code=add_python_den_levels),
migrations.RunPython(code=add_python_den_blocks),
migrations.RunPython(code=add_python_den_decor),
migrations.RunPython(code=set_first_and_last_levels)
]
game/static/game/js/game.js
line 117 at r2 (raw file):
} var adjusted_level_name = ''
make this a let
if possible
game/static/game/js/skulpt/skulpt-stdlib.js
line 0 at r2 (raw file):
As I was testing the levels locally I realised that the Python lines to increment
(maybe just when a Python only level) do not get highlighted.
game/templates/game/level_selection.html
line 190 at r2 (raw file):
<p class="episode-title" data-toggle="collapse" data-target="#collapse-{{episode.id}}" aria-expanded="false" aria-controls="collapse-{{episode.id}}" data-parent="#episodes"> {{episode.name}} <span class="episode_range_text collapsed" data-toggle="collapse" data-target="#collapse-{{episode.id}}" aria-expanded="false" aria-controls="collapse-{{episode.id}}" data-parent="#episodes">
Why get rid of this?
game/views/level.py
line 92 at r2 (raw file):
if is_next_level_locked: while is_next_level_locked and (int(next_level.name) < 109 or 1001 < int(next_level.name) < 1060):
Weird that this remained at 109 since we now have 122 levels...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 3 of 10 files reviewed, 13 unresolved discussions (waiting on @faucomte97)
game/messages.py
line 2480 at r1 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Hmm. I'm asking mainly because I saw that you updated
number
tocount
in level 106, so I'm not sure this is consistent. Would you mind double checking with Rebecca? 🙏
Can do! I'll ping her about it in the document 👍
game/messages.py
line 2707 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Following Ridwanah's work we can now specify which commands are relevant in Python-only levels - please ensure only the commands that are strictly needed to complete the level are linked to the new Python levels you've created, like level 122 above.
Should be added now!
game/migrations/0097_add_python_den_levels.py
line 26 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Enable algorithm score for all Blockly & Python levels pls.
Basically any level that has a non-emptymodel_solution
should have the algo score enabled.
Should be fixed now!
game/migrations/0097_add_python_den_levels.py
line 318 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Similarly to the episodes, do we need to create new level objects for the levels we already have? We'll just be able to reference them in the levels page, right?
This goes for all levels that copy previous ones.
I originally just referenced existing levels but because they get added to Python Den in a different order I needed to change the next_level
values for them when they got moved, which caused some issues with the original levels. Since we need to maintain the original level order for now I think it still makes sense to duplicate levels when the order is affected - that said if I'm missing something please let me know!!
game/migrations/0097_add_python_den_levels.py
line 450 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Seems like the theme is snow on dev?
Fixed!
game/migrations/0097_add_python_den_levels.py
line 453 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
That last sentence is weird for students in the context of a hint.
It is a bit weird, but it is what Rebecca has put on dev - I'll ping her to double check!
game/migrations/0097_add_python_den_levels.py
line 1169 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
You're missing the decor for level 1019
Added!
game/migrations/0097_add_python_den_levels.py
line 1374 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Run Black!
Should now have run it!
game/migrations/0097_add_python_den_levels.py
line 1414 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
I know this is gonna be a pain.
But for each of these operations, since they are custom code, can you please add the equivalent reverse code for each of them, in case we ever need to reverse the migration?
It should be easier than creating the levels really.
In theory, you should just need to delete the new levels, blocks and decors you've created, then undo the next_episode and last_level changes etc.
Should be done now! I ended up copying over the code to recreate the old loop levels from an older migration (0086) because it was actually only a small part of that code
game/static/game/js/game.js
line 117 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
make this a
let
if possible
Fixed!
game/static/game/js/skulpt/skulpt-stdlib.js
line at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
As I was testing the levels locally I realised that the Python lines to
increment
(maybe just when a Python only level) do not get highlighted.
Ah I've just gone to look and found the same - it looks like procedures also highlight strangely in that they don't highlight the line where the procedure is called, they only highlight the code within the procedure. This is definitely worth investigating but I'm not 100% sure it's within the scope of this task, maybe we can create a new task to look at the highlighting?
game/templates/game/level_selection.html
line 190 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Why get rid of this?
The existing "coming soon" episodes now have Python Den levels associated with them but the Python Den levels are named differently, so on the existing Rapid Router page these episodes were showing up as having levels 1014-1026 etc - I thought I would remove this bit so that it wasn't confusing but I could also just change what is displayed?
game/views/level.py
line 92 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Weird that this remained at 109 since we now have 122 levels...
That is weird...I can fix that!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 7 files at r3, all commit messages.
Reviewable status: 5 of 10 files reviewed, 4 unresolved discussions (waiting on @evemartin)
game/migrations/0097_add_python_den_levels.py
line 26 at r2 (raw file):
Previously, evemartin wrote…
Should be fixed now!
Reminder to myself to discuss this with you in a call
game/migrations/0097_add_python_den_levels.py
line 318 at r2 (raw file):
Previously, evemartin wrote…
I originally just referenced existing levels but because they get added to Python Den in a different order I needed to change the
next_level
values for them when they got moved, which caused some issues with the original levels. Since we need to maintain the original level order for now I think it still makes sense to duplicate levels when the order is affected - that said if I'm missing something please let me know!!
Reminder to myself to discuss this with you in a call
game/static/game/js/skulpt/skulpt-stdlib.js
line at r2 (raw file):
Previously, evemartin wrote…
Ah I've just gone to look and found the same - it looks like procedures also highlight strangely in that they don't highlight the line where the procedure is called, they only highlight the code within the procedure. This is definitely worth investigating but I'm not 100% sure it's within the scope of this task, maybe we can create a new task to look at the highlighting?
Yes, that sounds good.
game/templates/game/level_selection.html
line 190 at r2 (raw file):
Previously, evemartin wrote…
The existing "coming soon" episodes now have Python Den levels associated with them but the Python Den levels are named differently, so on the existing Rapid Router page these episodes were showing up as having levels 1014-1026 etc - I thought I would remove this bit so that it wasn't confusing but I could also just change what is displayed?
Ah I see, that makes sense!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 5 of 10 files reviewed, 5 unresolved discussions (waiting on @evemartin)
game/templates/game/level_selection.html
line 192 at r3 (raw file):
<span class="episode_range_text collapsed" data-toggle="collapse" data-target="#collapse-{{episode.id}}" aria-expanded="false" aria-controls="collapse-{{episode.id}}" data-parent="#episodes"> Levels {{episode.first_level}}-{{episode.last_level}} </span>
Actually I just realised, removing this causes the dropdown arrow on the side to disappear as well, and it removes the level numbers for the first While loop episode that is already out.
I suggest instead, you bring this span
back but you remove the 3 "coming soon" episodes from the list altogether. No point in having them on the page anymore.
Code quote:
<span class="episode_range_text collapsed" data-toggle="collapse" data-target="#collapse-{{episode.id}}" aria-expanded="false" aria-controls="collapse-{{episode.id}}" data-parent="#episodes">
Levels {{episode.first_level}}-{{episode.last_level}}
</span>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 4 of 10 files reviewed, 5 unresolved discussions (waiting on @faucomte97)
game/templates/game/level_selection.html
line 192 at r3 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Actually I just realised, removing this causes the dropdown arrow on the side to disappear as well, and it removes the level numbers for the first While loop episode that is already out.
I suggest instead, you bring this
span
back but you remove the 3 "coming soon" episodes from the list altogether. No point in having them on the page anymore.
Oooo thank you for pointing this out! I have implemented this now 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 4 of 10 files reviewed, 5 unresolved discussions (waiting on @faucomte97)
game/messages.py
line 2480 at r1 (raw file):
Previously, evemartin wrote…
Can do! I'll ping her about it in the document 👍
She confirmed that changing it to count would make more sense, I have fixed this now :)
game/migrations/0097_add_python_den_levels.py
line 453 at r2 (raw file):
Previously, evemartin wrote…
It is a bit weird, but it is what Rebecca has put on dev - I'll ping her to double check!
It looks like Rebecca has confirmed that it should be the hint?
game/static/game/js/skulpt/skulpt-stdlib.js
line at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Yes, that sounds good.
I have made a task for this now: https://app.zenhub.com/workspaces/code-for-life-sprint-board-5dc58d4a85c6bd00010b8148/issues/gh/ocadotechnology/rapid-router/1703
game/templates/game/level_selection.html
line 190 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Ah I see, that makes sense!
Addressed with the implementation you suggested in another comment :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 4 of 11 files reviewed, 5 unresolved discussions (waiting on @faucomte97)
game/migrations/0097_add_python_den_levels.py
line 26 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Reminder to myself to discuss this with you in a call
I've checked all the default values in created levels, they should be updated now!
game/migrations/0097_add_python_den_levels.py
line 318 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Reminder to myself to discuss this with you in a call
Outcome of the call was to duplicate the levels and make a new task to delete old ones for the official Python Den release! I have made a task that includes other pieces of cleanup that should happen just before Python Den is launched: https://app.zenhub.com/workspaces/code-for-life-sprint-board-5dc58d4a85c6bd00010b8148/issues/gh/ocadotechnology/rapid-router/1705
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 3 of 7 files at r3, 4 of 4 files at r5, all commit messages.
Reviewable status: all files reviewed, 14 unresolved discussions (waiting on @evemartin)
game/messages.py
line 3124 at r5 (raw file):
+ "<br>my_van.turn_left()" + "<br>my_van.turn_right()" + "<br>my_van.sound_horn()</div>"
"sound horn" falls under the "Animals" section (see default commands text in the Level model)
game/messages.py
line 3126 at r5 (raw file):
+ "<br>my_van.sound_horn()</div>" + '<div class="large-4 columns">' + "<br>my_van.is_animal_crossing()</div>"
You're missing the "Animals" header here
game/messages.py
line 3144 at r5 (raw file):
+ '<div class="large-4 columns">' + "<b>Position</b>" + "<br>my_van.is_road_forward()</div>"
The solution doesn't use is_road_forward
, but is_road_left
game/messages.py
line 3410 at r5 (raw file):
+ "<br>my_van.turn_around()" + "<br>my_van.turn_right()" + "<br>my_van.sound_horn()</div>"
Same here, sound horn and is animal crossing belong under the Animals category
game/messages.py
line 3429 at r5 (raw file):
+ "<br>my_van.move_forwards()" + "<br>my_van.turn_left()" + "<br>my_van.sound_horn()</div>"
Same here
game/messages.py
line 3442 at r5 (raw file):
lambda: description_level48(), lambda: hint_level48(), lambda: '<div class="row">'
These commands here didn't get saved for some reason, seems like it's still loading the ones from the old level.
game/migrations/0097_add_python_den_levels.py
line 318 at r2 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Reminder to myself to discuss this with you in a call
Fix bulk_decor_copy
args order
Make note to delete old levels when we do the transition
game/migrations/0097_add_python_den_levels.py
line 642 at r5 (raw file):
for i in range(1014, 1061): deleted_level = Level.objects.get(name=i, default=True) deleted_level.delete()
Do this instead:
Level.objects.filter(name__in=range(1014, 1061)).delete()
Code quote:
for i in range(1014, 1061):
deleted_level = Level.objects.get(name=i, default=True)
deleted_level.delete()
game/migrations/0097_add_python_den_levels.py
line 935 at r5 (raw file):
deleted_level_blocks = LevelBlock.objects.filter(level_id=i) for block in deleted_level_blocks: block.delete()
Here, just do LevelBlock.objects.filter(level_id=i).delete()
Code quote:
deleted_level_blocks = LevelBlock.objects.filter(level_id=i)
for block in deleted_level_blocks:
block.delete()
game/migrations/0097_add_python_den_levels.py
line 1205 at r5 (raw file):
deleted_level_decor = LevelDecor.objects.filter(level_id=i) for decor_element in deleted_level_decor: decor_element.delete()
Same here, you can just do LevelDecor.objects.filter(level_id=i).delete()
Code quote:
deleted_level_decor = LevelDecor.objects.filter(level_id=i)
for decor_element in deleted_level_decor:
decor_element.delete()
game/migrations/0097_add_python_den_levels.py
line 1259 at r5 (raw file):
episode20.next_episode = episode21 episode21.next_episode = episode15 episode15.next_episode = episode22
You're not saving the episodes here?
game/migrations/0097_add_python_den_levels.py
line 1266 at r5 (raw file):
for i in range(16, 23): deleted_episode = Episode.objects.get(pk=i) deleted_episode.delete()
Do this instead:
Episode.objects.filter(pk__in=range(16, 23)).delete()
Code quote:
for i in range(16, 23):
deleted_episode = Episode.objects.get(pk=i)
deleted_episode.delete()
game/migrations/0097_add_python_den_levels.py
line 1271 at r5 (raw file):
episode15 = Episode.objects.get(pk=15) episode14.next_episode = episode15 episode15.next_episode = None
You're not saving the episodes here?
game/migrations/0097_add_python_den_levels.py
line 1280 at r5 (raw file):
episode13 = Episode.objects.get(pk=13) level1014 = Level.objects.get(name="1014", default=True) episode13.first_level = level1014
No need to create a variable for these if they're just used on the next line. Combine the two (same goes for the lines below)
Code quote:
level1014 = Level.objects.get(name="1014", default=True)
episode13.first_level = level1014
game/migrations/0097_add_python_den_levels.py
line 1323 at r5 (raw file):
for i in range(123, 154): deleted_level = Level.objects.get(name=i) deleted_level.delete()
Level.objects.filter(name__in=range(123, 154)).delete()
Code quote:
for i in range(123, 154):
deleted_level = Level.objects.get(name=i)
deleted_level.delete()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 9 of 11 files reviewed, 14 unresolved discussions (waiting on @faucomte97)
game/messages.py
line 3124 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
"sound horn" falls under the "Animals" section (see default commands text in the Level model)
Added! Sorry, I skimmed over the commands text too quickly
game/messages.py
line 3126 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
You're missing the "Animals" header here
Added as well!
game/messages.py
line 3144 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
The solution doesn't use
is_road_forward
, butis_road_left
Fixed!
game/messages.py
line 3410 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Same here, sound horn and is animal crossing belong under the Animals category
Added here too!
game/messages.py
line 3429 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Same here
Also added here!
game/messages.py
line 3442 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
These commands here didn't get saved for some reason, seems like it's still loading the ones from the old level.
It looks like I had a typo with commands_level40
instead of commands_level1040
, should be fixed now!
game/migrations/0097_add_python_den_levels.py
line 642 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Do this instead:
Level.objects.filter(name__in=range(1014, 1061)).delete()
Thank you for this, changed now!!
game/migrations/0097_add_python_den_levels.py
line 935 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Here, just do
LevelBlock.objects.filter(level_id=i).delete()
Changed! I have used level_id__in
as in the previous comment
game/migrations/0097_add_python_den_levels.py
line 1205 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Same here, you can just do
LevelDecor.objects.filter(level_id=i).delete()
Also changed!
game/migrations/0097_add_python_den_levels.py
line 1259 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
You're not saving the episodes here?
Ah thank you for pointing this out, they should be saved now!
game/migrations/0097_add_python_den_levels.py
line 1266 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Do this instead:
Episode.objects.filter(pk__in=range(16, 23)).delete()
Changed!
game/migrations/0097_add_python_den_levels.py
line 1271 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
You're not saving the episodes here?
Should be saved now!
game/migrations/0097_add_python_den_levels.py
line 1280 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
No need to create a variable for these if they're just used on the next line. Combine the two (same goes for the lines below)
Updated!
game/migrations/0097_add_python_den_levels.py
line 1323 at r5 (raw file):
Previously, faucomte97 (Florian Aucomte) wrote…
Level.objects.filter(name__in=range(123, 154)).delete()
Changed as well!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 2 files at r6, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @evemartin)
game/migrations/0097_add_python_den_levels.py
line 935 at r5 (raw file):
Previously, evemartin wrote…
Changed! I have used
level_id__in
as in the previous comment
Even better!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 2 of 2 files at r7, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @evemartin)
There is a known issue with the optimal route algorithm - for Level 1038, since there might be a specific technique being taught, the model solution is not the shortest route, which means the route score is not 10/10 even for the model solution. This will probably require much more work to address, so after discussing with Laura we determined it would be okay to leave this issue for now.
This change is