diff options
Diffstat (limited to 'pydis_site/apps')
| -rw-r--r-- | pydis_site/apps/resources/resources/adafruit.yaml (renamed from pydis_site/apps/resources/resources/communities/adafruit.yaml) | 23 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/atom.yaml (renamed from pydis_site/apps/resources/resources/tools/editors/atom.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/automate_the_boring_stuff_book.yaml (renamed from pydis_site/apps/resources/resources/reading/books/automate_the_boring_stuff.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/automate_the_boring_stuff_course.yaml (renamed from pydis_site/apps/resources/resources/courses/automate_the_boring_stuff_with_python.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/awesome_programming_discord.yaml (renamed from pydis_site/apps/resources/resources/communities/awesome_programming_discord.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/byte_of_python.yaml (renamed from pydis_site/apps/resources/resources/reading/books/byte_of_python.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/code_combat.yaml (renamed from pydis_site/apps/resources/resources/interactive/code_combat.yaml) | 13 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/communities/_category_info.yaml | 2 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/corey_schafer.yaml (renamed from pydis_site/apps/resources/resources/videos/corey_schafer.yaml) | 14 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/courses/_category_info.yaml | 4 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/edublocks.yaml (renamed from pydis_site/apps/resources/resources/interactive/edublocks.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/effective_python.yaml (renamed from pydis_site/apps/resources/resources/reading/books/effective_python.yaml) | 18 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/exercism.yaml (renamed from pydis_site/apps/resources/resources/interactive/exercism.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/flask_web_development.yaml (renamed from pydis_site/apps/resources/resources/reading/books/flask_web_development.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/fluent_python.yaml (renamed from pydis_site/apps/resources/resources/reading/books/fluent_python.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/getting_started_with_kivy.yaml (renamed from pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_kivy.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/getting_started_with_python_for_non_programmers.yaml (renamed from pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_python_for_non_programmers.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/getting_started_with_python_for_programmers.yaml (renamed from pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_python_for_programmers.yaml) | 9 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/google_collab.yaml (renamed from pydis_site/apps/resources/resources/tools/editors/google_collab.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/hitchhikers_guide_to_python.yaml (renamed from pydis_site/apps/resources/resources/reading/books/hitchhikers_guide_to_python.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/inferential_thinking.yaml (renamed from pydis_site/apps/resources/resources/reading/books/inferential_thinking.yaml) | 13 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/interactive/_category_info.yaml | 4 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/jetbrains_academy.yaml (renamed from pydis_site/apps/resources/resources/interactive/jetbrains_academy.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/jetbrains_videos.yaml (renamed from pydis_site/apps/resources/resources/videos/jetbrains.yaml) | 13 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/jim_shaped_coding.yaml (renamed from pydis_site/apps/resources/resources/videos/jim_shaped_coding.yaml) | 13 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/kivy.yaml (renamed from pydis_site/apps/resources/resources/communities/kivy.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/microsoft.yaml (renamed from pydis_site/apps/resources/resources/communities/microsoft.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/microsoft_videos.yaml (renamed from pydis_site/apps/resources/resources/videos/microsoft.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/mission_python.yaml (renamed from pydis_site/apps/resources/resources/reading/books/mission_python.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/mit_introduction_to_computer_science_and_programming.yaml (renamed from pydis_site/apps/resources/resources/courses/mit_introduction_to_computer_science_and_programming.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/mu_editor.yaml (renamed from pydis_site/apps/resources/resources/tools/editors/mu_editor.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/neural_networks_from_scratch_in_python.yaml (renamed from pydis_site/apps/resources/resources/reading/books/neural_networks_from_scratch_in_python.yaml) | 13 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/pallets.yaml (renamed from pydis_site/apps/resources/resources/communities/pallets.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/panda3d.yaml (renamed from pydis_site/apps/resources/resources/communities/panda3d.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/people_postgres_data.yaml (renamed from pydis_site/apps/resources/resources/communities/people_postgres_data.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/podcast_dunder_init.yaml (renamed from pydis_site/apps/resources/resources/podcasts/podcast_dunder_init.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/podcasts/_category_info.yaml | 4 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/practical_python_programming.yaml (renamed from pydis_site/apps/resources/resources/courses/practical_python_programming.yaml) | 9 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/pycharm.yaml (renamed from pydis_site/apps/resources/resources/tools/ides/pycharm.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/pyglet.yaml (renamed from pydis_site/apps/resources/resources/communities/pyglet.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_bytes.yaml (renamed from pydis_site/apps/resources/resources/podcasts/python_bytes.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_cheat_sheet.yaml (renamed from pydis_site/apps/resources/resources/reading/tutorials/python_cheat_sheet.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_cookbook.yaml (renamed from pydis_site/apps/resources/resources/reading/books/python_cookbook.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_crash_course.yaml (renamed from pydis_site/apps/resources/resources/reading/books/python_crash_course.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_developer_guide.yaml (renamed from pydis_site/apps/resources/resources/reading/tutorials/python_developer_guide.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_discord_videos.yaml (renamed from pydis_site/apps/resources/resources/videos/python_discord.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_morsels.yaml (renamed from pydis_site/apps/resources/resources/interactive/python_morsels.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_subreddit.yaml (renamed from pydis_site/apps/resources/resources/communities/subreddit.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_tricks.yaml (renamed from pydis_site/apps/resources/resources/reading/books/python_tricks.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/python_tutor.yaml (renamed from pydis_site/apps/resources/resources/interactive/python_tutor.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/reading/_category_info.yaml | 2 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/reading/books/_category_info.yaml | 5 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/reading/books/two_scoops_of_django.yaml | 14 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/reading/tutorials/_category_info.yaml | 5 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/real_python.yaml (renamed from pydis_site/apps/resources/resources/communities/real_python.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/repl_it.yaml (renamed from pydis_site/apps/resources/resources/tools/ides/repl_it.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/screen_readers.yaml (renamed from pydis_site/apps/resources/resources/tools/accessibility_tools/screen_readers.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/sentdex.yaml (renamed from pydis_site/apps/resources/resources/videos/sentdex.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/simple_guide_to_git.yaml (renamed from pydis_site/apps/resources/resources/reading/tutorials/simple_guide_to_git.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/sololearn.yaml (renamed from pydis_site/apps/resources/resources/interactive/sololearn.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/spyder.yaml (renamed from pydis_site/apps/resources/resources/tools/ides/spyder.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/sublime_text.yaml (renamed from pydis_site/apps/resources/resources/tools/editors/sublime_text.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/talk_python_to_me.yaml (renamed from pydis_site/apps/resources/resources/podcasts/talk_python_to_me.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/talon_voice.yaml (renamed from pydis_site/apps/resources/resources/tools/accessibility_tools/talon_voice.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/test_and_code.yaml (renamed from pydis_site/apps/resources/resources/podcasts/test_and_code.yaml) | 12 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/the_flask_mega_tutorial.yaml (renamed from pydis_site/apps/resources/resources/reading/tutorials/the_flask_mega_tutorial.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/the_real_python_podcast.yaml (renamed from pydis_site/apps/resources/resources/podcasts/the_real_python_podcast.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/think_python.yaml (renamed from pydis_site/apps/resources/resources/reading/books/think_python.yaml) | 17 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/thonny.yaml (renamed from pydis_site/apps/resources/resources/tools/ides/thonny.yaml) | 9 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/tools/_category_info.yaml | 4 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/tools/accessibility_tools/_category_info.yaml | 5 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/tools/editors/_category_info.yaml | 5 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/tools/ides/_category_info.yaml | 5 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/two_scoops_of_django.yaml | 22 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/university_of_michigan.yaml (renamed from pydis_site/apps/resources/resources/courses/university_of_michigan.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/university_of_toronto.yaml (renamed from pydis_site/apps/resources/resources/courses/university_of_toronto.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/videos/_category_info.yaml | 2 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/visual_studio_code.yaml (renamed from pydis_site/apps/resources/resources/tools/editors/visual_studio_code.yaml) | 11 | ||||
| -rw-r--r-- | pydis_site/apps/resources/resources/wtf_python.yaml (renamed from pydis_site/apps/resources/resources/reading/tutorials/wtf_python.yaml) | 10 | ||||
| -rw-r--r-- | pydis_site/apps/resources/tests/test_resources.py | 9 | ||||
| -rw-r--r-- | pydis_site/apps/resources/tests/test_views.py | 13 | ||||
| -rw-r--r-- | pydis_site/apps/resources/tests/testing_resources/testing/_category_info.yaml | 1 | ||||
| -rw-r--r-- | pydis_site/apps/resources/tests/testing_resources/testing/foobar/_category_info.yaml | 1 | ||||
| -rw-r--r-- | pydis_site/apps/resources/urls.py | 2 | ||||
| -rw-r--r-- | pydis_site/apps/resources/utils.py | 37 | ||||
| -rw-r--r-- | pydis_site/apps/resources/views/resources_list.py | 25 |
86 files changed, 749 insertions, 222 deletions
diff --git a/pydis_site/apps/resources/resources/communities/adafruit.yaml b/pydis_site/apps/resources/resources/adafruit.yaml index e5c81a6c..1945274c 100644 --- a/pydis_site/apps/resources/resources/communities/adafruit.yaml +++ b/pydis_site/apps/resources/resources/adafruit.yaml @@ -5,11 +5,20 @@ description: Adafruit is an open-source electronics manufacturer and the Adafruit devs do all the CircuitPython Development right out in the open. title_image: https://www.mouser.com/images/suppliers/logos/adafruit.png title_url: https://discord.gg/adafruit -position: 4 urls: -- icon: branding/discord - url: https://discord.gg/adafruit - color: blurple -- icon: regular/link - url: https://adafruit.com/ - color: teal + - icon: branding/discord + url: https://discord.gg/adafruit + color: blurple + - icon: regular/link + url: https://adafruit.com/ + color: teal +tags: + topics: + - microcontrollers + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/tools/editors/atom.yaml b/pydis_site/apps/resources/resources/atom.yaml index c44f9b5b..3a46a45f 100644 --- a/pydis_site/apps/resources/resources/tools/editors/atom.yaml +++ b/pydis_site/apps/resources/resources/atom.yaml @@ -2,4 +2,13 @@ description: A free Electron-based editor, a "hackable text editor for the 21st by the GitHub team. name: Atom title_url: https://atom.io/ -position: 0 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/reading/books/automate_the_boring_stuff.yaml b/pydis_site/apps/resources/resources/automate_the_boring_stuff_book.yaml index 3812029c..deaca948 100644 --- a/pydis_site/apps/resources/resources/reading/books/automate_the_boring_stuff.yaml +++ b/pydis_site/apps/resources/resources/automate_the_boring_stuff_book.yaml @@ -4,11 +4,20 @@ description: One of the best books out there for Python beginners. This book wil the web, manipulating files and automating keyboard and mouse input. Ideal for an office worker who wants to make himself more useful. name: Automate the Boring Stuff with Python -position: 2 urls: - icon: regular/book url: https://automatetheboringstuff.com/ color: black -- icon: branding/amazon - url: https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994/ - color: amazon-orange +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/22514127-automate-the-boring-stuff-with-python + color: goodreads-cream +tags: + topics: + - general + payment_tiers: + - free + - paid + complexity: + - beginner + type: + - book diff --git a/pydis_site/apps/resources/resources/courses/automate_the_boring_stuff_with_python.yaml b/pydis_site/apps/resources/resources/automate_the_boring_stuff_course.yaml index 66034ea2..b93ef868 100644 --- a/pydis_site/apps/resources/resources/courses/automate_the_boring_stuff_with_python.yaml +++ b/pydis_site/apps/resources/resources/automate_the_boring_stuff_course.yaml @@ -2,4 +2,13 @@ description: The interactive course version of Al Sweigart's excellent book for This link has a discounted version of the course which will always cost 10 dollars. Thanks, Al! name: Automate the Boring Stuff with Python title_url: https://www.udemy.com/automate/?couponCode=FOR_LIKE_10_BUCKS -position: 3 +tags: + topics: + - general + payment_tiers: + - paid + complexity: + - beginner + type: + - course + - interactive diff --git a/pydis_site/apps/resources/resources/communities/awesome_programming_discord.yaml b/pydis_site/apps/resources/resources/awesome_programming_discord.yaml index 335ac507..4233f26e 100644 --- a/pydis_site/apps/resources/resources/communities/awesome_programming_discord.yaml +++ b/pydis_site/apps/resources/resources/awesome_programming_discord.yaml @@ -6,4 +6,13 @@ title_icon: branding/github title_icon_color: black title_url: https://github.com/mhxion/awesome-programming-discord name: awesome-programming-discord -position: 10 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/reading/books/byte_of_python.yaml b/pydis_site/apps/resources/resources/byte_of_python.yaml index 1f9642ad..618578d1 100644 --- a/pydis_site/apps/resources/resources/reading/books/byte_of_python.yaml +++ b/pydis_site/apps/resources/resources/byte_of_python.yaml @@ -2,7 +2,6 @@ description: A free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you. name: A Byte of Python -position: 1 urls: - icon: regular/link url: https://python.swaroopch.com/ @@ -10,6 +9,16 @@ urls: - icon: regular/book url: http://www.lulu.com/shop/swaroop-c-h/a-byte-of-python/paperback/product-21142968.html color: black -- icon: branding/amazon - url: https://www.amazon.com/Byte-Python-Swaroop-C-H-ebook/dp/B00FJ7S2JU/ - color: amazon-orange +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/6762544-a-byte-of-python + color: goodreads-cream +tags: + topics: + - general + payment_tiers: + - free + - paid + complexity: + - beginner + type: + - book diff --git a/pydis_site/apps/resources/resources/interactive/code_combat.yaml b/pydis_site/apps/resources/resources/code_combat.yaml index 30f20c28..41dac6b6 100644 --- a/pydis_site/apps/resources/resources/interactive/code_combat.yaml +++ b/pydis_site/apps/resources/resources/code_combat.yaml @@ -1,7 +1,6 @@ description: Learn Python while gaming - an open-source project with thousands of contributors, which teaches you Python through a deep, top-down RPG. name: Code Combat -position: 0 urls: - icon: regular/link url: https://codecombat.com/ @@ -9,3 +8,15 @@ urls: - icon: branding/github url: https://github.com/codecombat/codecombat color: black +tags: + topics: + - general + - algorithms and data structures + payment_tiers: + - free + - subscription + complexity: + - beginner + - intermediate + type: + - interactive diff --git a/pydis_site/apps/resources/resources/communities/_category_info.yaml b/pydis_site/apps/resources/resources/communities/_category_info.yaml deleted file mode 100644 index b9cb6533..00000000 --- a/pydis_site/apps/resources/resources/communities/_category_info.yaml +++ /dev/null @@ -1,2 +0,0 @@ -description: Partnered communities that share part of our mission. -name: Communities diff --git a/pydis_site/apps/resources/resources/videos/corey_schafer.yaml b/pydis_site/apps/resources/resources/corey_schafer.yaml index a7cca18a..c4d9ad5e 100644 --- a/pydis_site/apps/resources/resources/videos/corey_schafer.yaml +++ b/pydis_site/apps/resources/resources/corey_schafer.yaml @@ -9,7 +9,6 @@ description: 'Corey has a number of exceptionally high quality tutorial series Check out his channel for more video series! ' title_image: https://i.imgur.com/KIfWw3b.png -position: 0 urls: - icon: branding/youtube url: https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g @@ -17,3 +16,16 @@ urls: - icon: regular/link url: https://coreyms.com/ color: teal +tags: + topics: + - general + - software design + - web development + - tooling + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - video diff --git a/pydis_site/apps/resources/resources/courses/_category_info.yaml b/pydis_site/apps/resources/resources/courses/_category_info.yaml deleted file mode 100644 index 948b48de..00000000 --- a/pydis_site/apps/resources/resources/courses/_category_info.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Listing of best Python courses. -name: Courses -default_icon: regular/graduation-cap -default_icon_color: black diff --git a/pydis_site/apps/resources/resources/interactive/edublocks.yaml b/pydis_site/apps/resources/resources/edublocks.yaml index 7c6ca02b..9fd87945 100644 --- a/pydis_site/apps/resources/resources/interactive/edublocks.yaml +++ b/pydis_site/apps/resources/resources/edublocks.yaml @@ -7,4 +7,12 @@ description: EduBlocks provides a simple drag and drop interface to help beginne and export the code to run on actual devices. name: EduBlocks title_url: https://edublocks.org/ -position: 5 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + type: + - interactive diff --git a/pydis_site/apps/resources/resources/reading/books/effective_python.yaml b/pydis_site/apps/resources/resources/effective_python.yaml index becd0578..5ca94c63 100644 --- a/pydis_site/apps/resources/resources/reading/books/effective_python.yaml +++ b/pydis_site/apps/resources/resources/effective_python.yaml @@ -1,15 +1,23 @@ description: A book that gives 90 best practices for writing excellent Python. Great for intermediates. name: Effective Python -position: 3 urls: - icon: regular/link url: https://effectivepython.com/ color: teal -- icon: branding/amazon - url: https://www.amazon.com/Effective-Python-Specific-Software-Development/dp/0134853989 - color: amazon-orange - title: Amazon +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/48566725-effective-python + color: goodreads-cream - icon: branding/github url: https://github.com/bslatkin/effectivepython color: black +tags: + topics: + - general + - software design + payment_tiers: + - paid + complexity: + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/interactive/exercism.yaml b/pydis_site/apps/resources/resources/exercism.yaml index 68b458d0..7885bb9a 100644 --- a/pydis_site/apps/resources/resources/interactive/exercism.yaml +++ b/pydis_site/apps/resources/resources/exercism.yaml @@ -3,7 +3,6 @@ description: Level up your programming skills with more than 2600 exercises acro where you can get your code reviewed for each solution you submit. The mentors will give you insightful advice to make you a better programmer. name: exercism.io -position: 1 urls: - icon: regular/link url: https://exercism.io/ @@ -11,3 +10,13 @@ urls: - icon: branding/github url: https://github.com/exercism/python color: black +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - interactive diff --git a/pydis_site/apps/resources/resources/reading/books/flask_web_development.yaml b/pydis_site/apps/resources/resources/flask_web_development.yaml index cc83a331..27e75fe6 100644 --- a/pydis_site/apps/resources/resources/reading/books/flask_web_development.yaml +++ b/pydis_site/apps/resources/resources/flask_web_development.yaml @@ -1,14 +1,23 @@ description: A comprehensive Flask walkthrough that has you building a complete social blogging application from scratch. name: Flask Web Development -position: 6 urls: - icon: regular/link url: http://shop.oreilly.com/product/0636920031116.do color: teal -- icon: branding/amazon - url: https://www.amazon.com/Flask-Web-Development-Developing-Applications/dp/1449372627 - color: amazon-orange +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/18774655-flask-web-development + color: goodreads-cream - icon: branding/github url: https://github.com/miguelgrinberg/flasky color: black +tags: + topics: + - web development + payment_tiers: + - paid + complexity: + - beginner + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/reading/books/fluent_python.yaml b/pydis_site/apps/resources/resources/fluent_python.yaml index 92f4bbab..24c2b150 100644 --- a/pydis_site/apps/resources/resources/reading/books/fluent_python.yaml +++ b/pydis_site/apps/resources/resources/fluent_python.yaml @@ -1,14 +1,23 @@ description: A veritable tome of intermediate and advanced Python information. A must-read for any Python professional. By far the most recommended book for intermediates. name: Fluent Python -position: 7 urls: - icon: regular/link url: https://www.oreilly.com/library/view/fluent-python/9781491946237/ color: teal -- icon: branding/amazon - url: https://www.amazon.com/Fluent-Python-Concise-Effective-Programming/dp/1491946008 - color: amazon-orange +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/22800567-fluent-python + color: goodreads-cream - icon: branding/github url: https://github.com/fluentpython color: black +tags: + topics: + - general + - software design + payment_tiers: + - paid + complexity: + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_kivy.yaml b/pydis_site/apps/resources/resources/getting_started_with_kivy.yaml index d1d9a7d2..5dbcd387 100644 --- a/pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_kivy.yaml +++ b/pydis_site/apps/resources/resources/getting_started_with_kivy.yaml @@ -2,4 +2,13 @@ description: A big list of excellent resources for getting started making Kivy a name: Getting Started with Kivy title_url: https://blog.kivy.org/2019/12/getting-started-with-kivy/ icon_image: https://raw.githubusercontent.com/kivy/kivy-website/master/logos/kivy-logo-black-256.png -position: 3 +tags: + topics: + - user interface + - game development + payment_tiers: + - free + complexity: + - beginner + type: + - tutorial diff --git a/pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_python_for_non_programmers.yaml b/pydis_site/apps/resources/resources/getting_started_with_python_for_non_programmers.yaml index 3250a7c4..85c061bd 100644 --- a/pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_python_for_non_programmers.yaml +++ b/pydis_site/apps/resources/resources/getting_started_with_python_for_non_programmers.yaml @@ -2,4 +2,12 @@ description: A list of beginner resources for programmers with no prior develope from Python's official guide. name: Getting Started with Python for Non-Programmers title_url: https://wiki.python.org/moin/BeginnersGuide/NonProgrammers -position: 1 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + type: + - tutorial diff --git a/pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_python_for_programmers.yaml b/pydis_site/apps/resources/resources/getting_started_with_python_for_programmers.yaml index b65e0e12..2565eedd 100644 --- a/pydis_site/apps/resources/resources/reading/tutorials/getting_started_with_python_for_programmers.yaml +++ b/pydis_site/apps/resources/resources/getting_started_with_python_for_programmers.yaml @@ -3,3 +3,12 @@ description: A list of beginner resources for programmers coming from other lang name: Getting Started with Python for Programmers title_url: https://wiki.python.org/moin/BeginnersGuide/Programmers position: 0 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - intermediate + type: + - tutorial diff --git a/pydis_site/apps/resources/resources/tools/editors/google_collab.yaml b/pydis_site/apps/resources/resources/google_collab.yaml index 302c3e2e..65876c0e 100644 --- a/pydis_site/apps/resources/resources/tools/editors/google_collab.yaml +++ b/pydis_site/apps/resources/resources/google_collab.yaml @@ -4,4 +4,14 @@ description: Google Collab is a high-powered custom version of Jupyter Notebook You can share your Collab Notebooks with other people and work collaboratively. name: Google Collab title_url: https://colab.research.google.com/notebooks/intro.ipynb -position: 4 +tags: + topics: + - general + - data science + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/reading/books/hitchhikers_guide_to_python.yaml b/pydis_site/apps/resources/resources/hitchhikers_guide_to_python.yaml index 906860c7..e50f6297 100644 --- a/pydis_site/apps/resources/resources/reading/books/hitchhikers_guide_to_python.yaml +++ b/pydis_site/apps/resources/resources/hitchhikers_guide_to_python.yaml @@ -1,11 +1,20 @@ description: A best practice handbook for both novice and expert Python developers to the installation, configuration, and usage of Python on a daily basis. name: The Hitchhiker's Guide to Python -position: 0 urls: - icon: regular/link url: https://python-guide.org/ color: teal -- icon: branding/amazon - url: https://www.amazon.com/Hitchhikers-Guide-Python-Practices-Development/dp/1491933178/ - color: amazon-orange +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/28321007-the-hitchhiker-s-guide-to-python + color: goodreads-cream +tags: + topics: + - general + payment_tiers: + - paid + complexity: + - beginner + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/reading/books/inferential_thinking.yaml b/pydis_site/apps/resources/resources/inferential_thinking.yaml index 27fad4f7..92963948 100644 --- a/pydis_site/apps/resources/resources/reading/books/inferential_thinking.yaml +++ b/pydis_site/apps/resources/resources/inferential_thinking.yaml @@ -2,8 +2,17 @@ description: Inferential Thinking is the textbook for the <a href="http://data8. It introduces you the fundamentals of both Data Science and Python at a level accessible to all. It is available both through your browser and in PDF form. name: Inferential Thinking -position: 13 urls: - icon: regular/link - url: https://www.inferentialthinking.com/chapters/intro + url: https://inferentialthinking.com/chapters/intro color: teal +tags: + topics: + - data science + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/interactive/_category_info.yaml b/pydis_site/apps/resources/resources/interactive/_category_info.yaml deleted file mode 100644 index 7e8f34d9..00000000 --- a/pydis_site/apps/resources/resources/interactive/_category_info.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Learn Python with interactive courses, games, and programming challenges. -name: Interactive -default_icon: branding/python -default_icon_color: black diff --git a/pydis_site/apps/resources/resources/interactive/jetbrains_academy.yaml b/pydis_site/apps/resources/resources/jetbrains_academy.yaml index 937831fa..63c061ce 100644 --- a/pydis_site/apps/resources/resources/interactive/jetbrains_academy.yaml +++ b/pydis_site/apps/resources/resources/jetbrains_academy.yaml @@ -5,4 +5,14 @@ description: Learn Python with a wide range of high quality, project-based lesso It requires a paid subscription, but a free trial is available. name: JetBrains Academy title_url: https://www.jetbrains.com/academy/ -position: 6 +tags: + topics: + - general + - web development + - data science + payment_tiers: + - subscription + complexity: + - beginner + type: + - interactive diff --git a/pydis_site/apps/resources/resources/videos/jetbrains.yaml b/pydis_site/apps/resources/resources/jetbrains_videos.yaml index 5d130db6..f13ecbb7 100644 --- a/pydis_site/apps/resources/resources/videos/jetbrains.yaml +++ b/pydis_site/apps/resources/resources/jetbrains_videos.yaml @@ -5,8 +5,19 @@ description: A collection of videos made by the PyCharm team at JetBrains on sub icon_image: https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/JetBrains_Logo_2016.svg/1200px-JetBrains_Logo_2016.svg.png icon_size: 50 title_image: https://resources.jetbrains.com/storage/products/pycharm/img/meta/pycharm_logo_300x300.png -position: 3 urls: - icon: branding/youtube url: https://www.youtube.com/channel/UCak6beUTLlVmf0E4AmnQkmw color: youtube-red +tags: + topics: + - general + - testing + - web development + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - video diff --git a/pydis_site/apps/resources/resources/videos/jim_shaped_coding.yaml b/pydis_site/apps/resources/resources/jim_shaped_coding.yaml index 488cfa83..a217183e 100644 --- a/pydis_site/apps/resources/resources/videos/jim_shaped_coding.yaml +++ b/pydis_site/apps/resources/resources/jim_shaped_coding.yaml @@ -6,8 +6,19 @@ description: 'JimShapedCoding contains a set of YouTube tutorials covering thing </ul> Check out his channel for more videos!' title_image: https://i.imgur.com/DlovZPf.png -position: 5 urls: - icon: branding/youtube url: https://www.youtube.com/channel/UCU8d7rcShA7MGuDyYH1aWGg color: youtube-red +tags: + topics: + - general + - user interface + - web development + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - video diff --git a/pydis_site/apps/resources/resources/communities/kivy.yaml b/pydis_site/apps/resources/resources/kivy.yaml index 601d7dba..c4028647 100644 --- a/pydis_site/apps/resources/resources/communities/kivy.yaml +++ b/pydis_site/apps/resources/resources/kivy.yaml @@ -5,7 +5,6 @@ icon_image: https://raw.githubusercontent.com/kivy/kivy-website/master/logos/kiv icon_size: 50 title_image: https://i.imgur.com/EVP3jZR.png title_url: https://discord.gg/djPtTRJ -position: 5 urls: - icon: branding/discord url: https://discord.gg/djPtTRJ @@ -16,3 +15,14 @@ urls: - icon: branding/github url: https://github.com/kivy color: black +tags: + topics: + - user interface + - game development + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/communities/microsoft.yaml b/pydis_site/apps/resources/resources/microsoft.yaml index b36c3a85..455131be 100644 --- a/pydis_site/apps/resources/resources/communities/microsoft.yaml +++ b/pydis_site/apps/resources/resources/microsoft.yaml @@ -2,7 +2,6 @@ description: Microsoft Python is a Discord server for discussing all things rela they have channels for Azure, VS Code, IoT, Data Science and much more! title_image: https://1000logos.net/wp-content/uploads/2017/04/Microsoft-Logo.png title_url: https://discord.gg/b8YJQPx -position: 1 urls: - icon: branding/discord url: https://discord.gg/b8YJQPx @@ -10,3 +9,14 @@ urls: - icon: regular/link url: https://www.microsoft.com/en-us/boards/pycon2020.aspx color: teal +tags: + topics: + - general + - tooling + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/videos/microsoft.yaml b/pydis_site/apps/resources/resources/microsoft_videos.yaml index 720ee202..d0dbc4f4 100644 --- a/pydis_site/apps/resources/resources/videos/microsoft.yaml +++ b/pydis_site/apps/resources/resources/microsoft_videos.yaml @@ -8,7 +8,6 @@ description: A trove of tutorials & guides for developers from Microsoft's Devel Microsoft's Python Development Team also runs a Discord Server for discussions of Python in the Microsoft ecosystem, including Visual Studio Code and Azure. title_image: http://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE2qVsJ?ver=3f74 -position: 4 urls: - icon: branding/youtube url: https://www.youtube.com/channel/UCsMica-v34Irf9KVTh6xx-g @@ -16,3 +15,12 @@ urls: - icon: branding/discord url: https://aka.ms/python-discord color: blurple +tags: + topics: + - python + payment_tiers: + - free + complexity: + - beginner + type: + - video diff --git a/pydis_site/apps/resources/resources/reading/books/mission_python.yaml b/pydis_site/apps/resources/resources/mission_python.yaml index c4a48b7e..2a1ffcad 100644 --- a/pydis_site/apps/resources/resources/reading/books/mission_python.yaml +++ b/pydis_site/apps/resources/resources/mission_python.yaml @@ -3,11 +3,20 @@ description: Learn programming and Python while building a complete and awesome images, and walk-throughs make this a pleasure to both read and follow along. Excellent book for beginners. name: Mission Python -position: 5 urls: - icon: regular/link url: https://www.sean.co.uk/books/mission-python/index.shtm color: teal -- icon: branding/amazon - url: https://www.amazon.com/Mission-Python-Code-Space-Adventure/dp/1593278578 - color: amazon-orange +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/35545850-mission-python + color: goodreads-cream +tags: + topics: + - general + - game development + payment_tiers: + - paid + complexity: + - beginner + type: + - book diff --git a/pydis_site/apps/resources/resources/courses/mit_introduction_to_computer_science_and_programming.yaml b/pydis_site/apps/resources/resources/mit_introduction_to_computer_science_and_programming.yaml index 5560b2cb..4aa028ea 100644 --- a/pydis_site/apps/resources/resources/courses/mit_introduction_to_computer_science_and_programming.yaml +++ b/pydis_site/apps/resources/resources/mit_introduction_to_computer_science_and_programming.yaml @@ -3,4 +3,14 @@ description: This MITx offering teaches computer science with Python. and the Python programming language itself. name: 'MIT: Introduction to Computer Science and Programming' title_url: https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-11 -position: 1 +tags: + topics: + - general + - algorithms and data structures + payment_tiers: + - free + - paid + complexity: + - beginner + type: + - course diff --git a/pydis_site/apps/resources/resources/tools/editors/mu_editor.yaml b/pydis_site/apps/resources/resources/mu_editor.yaml index b92bac9d..68c9b7db 100644 --- a/pydis_site/apps/resources/resources/tools/editors/mu_editor.yaml +++ b/pydis_site/apps/resources/resources/mu_editor.yaml @@ -4,4 +4,12 @@ description: An editor aimed at beginners for the purpose of learning how to cod with built-in tools to interact with Adafruit and Arduino boards. name: Mu-Editor title_url: https://codewith.mu/ -position: 3 +tags: + topics: + - microcontrollers + payment_tiers: + - free + complexity: + - beginner + type: + - tool diff --git a/pydis_site/apps/resources/resources/reading/books/neural_networks_from_scratch_in_python.yaml b/pydis_site/apps/resources/resources/neural_networks_from_scratch_in_python.yaml index 974b0e50..ae5005a7 100644 --- a/pydis_site/apps/resources/resources/reading/books/neural_networks_from_scratch_in_python.yaml +++ b/pydis_site/apps/resources/resources/neural_networks_from_scratch_in_python.yaml @@ -3,8 +3,19 @@ description: '"Neural Networks From Scratch" is a book intended to teach you how This is so you can go out and do new/novel things with deep learning as well as to become more successful with even more basic models. This book is to accompany the usual free tutorial videos and sample code from youtube.com/sentdex.' name: Neural Networks from Scratch in Python -position: 11 urls: - icon: regular/link url: https://nnfs.io/ color: teal + - icon: branding/goodreads + url: https://www.goodreads.com/book/show/55927899-neural-networks-from-scratch-in-python + color: goodreads-cream +tags: + topics: + - data science + payment_tiers: + - paid + complexity: + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/communities/pallets.yaml b/pydis_site/apps/resources/resources/pallets.yaml index 239b1491..dc337784 100644 --- a/pydis_site/apps/resources/resources/communities/pallets.yaml +++ b/pydis_site/apps/resources/resources/pallets.yaml @@ -3,7 +3,6 @@ description: The Pallets Projects develop Python libraries such as the Flask web and get help from the Pallets community. title_image: https://i.imgur.com/sV9Ypdf.png title_url: https://discord.gg/t6rrQZH -position: 6 urls: - icon: branding/discord url: https://discord.gg/t6rrQZH @@ -11,3 +10,13 @@ urls: - icon: regular/link url: https://www.palletsprojects.com/ color: teal +tags: + topics: + - web development + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/communities/panda3d.yaml b/pydis_site/apps/resources/resources/panda3d.yaml index 4235793d..286e8b27 100644 --- a/pydis_site/apps/resources/resources/communities/panda3d.yaml +++ b/pydis_site/apps/resources/resources/panda3d.yaml @@ -10,3 +10,14 @@ urls: - icon: regular/link url: https://www.panda3d.org/ color: teal +tags: + topics: + - user interface + - game development + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/communities/people_postgres_data.yaml b/pydis_site/apps/resources/resources/people_postgres_data.yaml index 1c17d343..4f84cb99 100644 --- a/pydis_site/apps/resources/resources/communities/people_postgres_data.yaml +++ b/pydis_site/apps/resources/resources/people_postgres_data.yaml @@ -5,7 +5,6 @@ description: People, Postgres, Data specializes in building users of Postgres and Life in general including movies, games, books and travel. title_image: https://media.discordapp.net/attachments/748954447857844318/750519488268730377/people_postgres_data.png title_url: https://discord.gg/Ujw8m8v -position: 2 urls: - icon: branding/discord url: https://discord.gg/Ujw8m8v @@ -16,3 +15,13 @@ urls: - icon: branding/reddit url: https://reddit.com/r/postgresql color: orangered +tags: + topics: + - databases + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/podcasts/podcast_dunder_init.yaml b/pydis_site/apps/resources/resources/podcast_dunder_init.yaml index efe1601f..ee3028a3 100644 --- a/pydis_site/apps/resources/resources/podcasts/podcast_dunder_init.yaml +++ b/pydis_site/apps/resources/resources/podcast_dunder_init.yaml @@ -2,4 +2,13 @@ description: The podcast about Python and the people who make it great. Weekly l interviews with the creators of notable Python packages. name: Podcast.__init__ title_url: https://www.podcastinit.com/ -position: 2 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - podcast diff --git a/pydis_site/apps/resources/resources/podcasts/_category_info.yaml b/pydis_site/apps/resources/resources/podcasts/_category_info.yaml deleted file mode 100644 index 1d2d3ba5..00000000 --- a/pydis_site/apps/resources/resources/podcasts/_category_info.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Notable podcasts about the Python ecosystem. -name: Podcasts -default_icon: regular/microphone-alt -default_icon_color: black diff --git a/pydis_site/apps/resources/resources/courses/practical_python_programming.yaml b/pydis_site/apps/resources/resources/practical_python_programming.yaml index b801ca8c..85b3967a 100644 --- a/pydis_site/apps/resources/resources/courses/practical_python_programming.yaml +++ b/pydis_site/apps/resources/resources/practical_python_programming.yaml @@ -7,3 +7,12 @@ description: Created and taught by <a href="https://dabeaz.com/">David Beazley</ name: Practical Python Programming title_url: https://dabeaz-course.github.io/practical-python/ position: 4 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + type: + - course diff --git a/pydis_site/apps/resources/resources/tools/ides/pycharm.yaml b/pydis_site/apps/resources/resources/pycharm.yaml index b959b0f8..1fda3bff 100644 --- a/pydis_site/apps/resources/resources/tools/ides/pycharm.yaml +++ b/pydis_site/apps/resources/resources/pycharm.yaml @@ -2,4 +2,13 @@ description: The very best Python IDE, with a wealth of advanced features and co functions. name: PyCharm title_url: https://www.jetbrains.com/pycharm/ -position: 0 +tags: + topics: + - general + payment_tiers: + - free + - paid + complexity: + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/communities/pyglet.yaml b/pydis_site/apps/resources/resources/pyglet.yaml index 784f514e..1f74557f 100644 --- a/pydis_site/apps/resources/resources/communities/pyglet.yaml +++ b/pydis_site/apps/resources/resources/pyglet.yaml @@ -5,7 +5,6 @@ description: Pyglet is a powerful, that's simple to learn and doesn't get in your way. title_image: https://i.imgur.com/LfQwXUe.png title_url: https://discord.gg/QXyegWe -position: 8 urls: - icon: branding/discord url: https://discord.gg/QXyegWe @@ -13,3 +12,14 @@ urls: - icon: regular/link url: http://pyglet.org/ color: teal +tags: + topics: + - user interface + - game development + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/podcasts/python_bytes.yaml b/pydis_site/apps/resources/resources/python_bytes.yaml index 4f817f26..578fff2e 100644 --- a/pydis_site/apps/resources/resources/podcasts/python_bytes.yaml +++ b/pydis_site/apps/resources/resources/python_bytes.yaml @@ -3,3 +3,13 @@ description: A byte-sized podcast where Michael Kennedy and Brian Okken work thr name: Python Bytes title_url: https://pythonbytes.fm/ position: 1 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - podcast diff --git a/pydis_site/apps/resources/resources/reading/tutorials/python_cheat_sheet.yaml b/pydis_site/apps/resources/resources/python_cheat_sheet.yaml index 70ac49ef..9bec6d57 100644 --- a/pydis_site/apps/resources/resources/reading/tutorials/python_cheat_sheet.yaml +++ b/pydis_site/apps/resources/resources/python_cheat_sheet.yaml @@ -2,4 +2,12 @@ description: A Python 3 cheat sheet with useful information and tips, as well as pitfalls for beginners. This is a PDF. name: Python Cheat Sheet title_url: https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf -position: 6 +tags: + topics: + - python + payment_tiers: + - free + complexity: + - beginner + type: + - tutorial diff --git a/pydis_site/apps/resources/resources/reading/books/python_cookbook.yaml b/pydis_site/apps/resources/resources/python_cookbook.yaml index 032f8c64..0c4ffd99 100644 --- a/pydis_site/apps/resources/resources/reading/books/python_cookbook.yaml +++ b/pydis_site/apps/resources/resources/python_cookbook.yaml @@ -1,14 +1,23 @@ description: A book full of very smart problem-solving recipes for various Python topics, including moving from Python 2 to Python 3. name: Python Cookbook -position: 8 urls: - icon: regular/link url: http://shop.oreilly.com/product/0636920027072.do color: teal -- icon: branding/amazon - url: https://www.amazon.com/Python-Cookbook-Third-David-Beazley/dp/1449340377 - color: amazon-orange +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/17152735-python-cookbook + color: goodreads-cream - icon: branding/github url: https://github.com/dabeaz/python-cookbook color: black +tags: + topics: + - general + - software design + payment_tiers: + - paid + complexity: + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/reading/books/python_crash_course.yaml b/pydis_site/apps/resources/resources/python_crash_course.yaml index 3cbf19c8..41f0973d 100644 --- a/pydis_site/apps/resources/resources/reading/books/python_crash_course.yaml +++ b/pydis_site/apps/resources/resources/python_crash_course.yaml @@ -7,14 +7,23 @@ description: "This fast-paced, thorough introduction to programming with Python a Space Invaders–inspired arcade game, a set of data visualizations with Python’s handy libraries, and a simple web app you can deploy online." name: Python Crash Course -position: 12 urls: - icon: regular/link url: https://nostarch.com/pythoncrashcourse2e color: teal - - icon: branding/amazon - url: https://www.amazon.com/Python-Crash-Course-Project-Based-Introduction/dp/1593276036 - color: amazon-orange + - icon: branding/goodreads + url: https://www.goodreads.com/book/show/23241059-python-crash-course + color: goodreads-cream - icon: branding/github url: https://ehmatthes.github.io/pcc/ color: black +tags: + topics: + - general + - game development + payment_tiers: + - paid + complexity: + - beginner + type: + - book diff --git a/pydis_site/apps/resources/resources/reading/tutorials/python_developer_guide.yaml b/pydis_site/apps/resources/resources/python_developer_guide.yaml index 625d57c8..f17c88ce 100644 --- a/pydis_site/apps/resources/resources/reading/tutorials/python_developer_guide.yaml +++ b/pydis_site/apps/resources/resources/python_developer_guide.yaml @@ -2,4 +2,12 @@ description: This guide is a comprehensive resource for contributing to Python � It is maintained by the same community that maintains Python. name: Python Developer's Guide title_url: https://devguide.python.org/ -position: 2 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - intermediate + type: + - tutorial diff --git a/pydis_site/apps/resources/resources/videos/python_discord.yaml b/pydis_site/apps/resources/resources/python_discord_videos.yaml index 04235b08..2a8fed08 100644 --- a/pydis_site/apps/resources/resources/videos/python_discord.yaml +++ b/pydis_site/apps/resources/resources/python_discord_videos.yaml @@ -6,3 +6,14 @@ urls: - icon: branding/youtube url: https://www.youtube.com/pythondiscord color: youtube-red +tags: + topics: + - general + - software design + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - video diff --git a/pydis_site/apps/resources/resources/interactive/python_morsels.yaml b/pydis_site/apps/resources/resources/python_morsels.yaml index 879500eb..de02be7f 100644 --- a/pydis_site/apps/resources/resources/interactive/python_morsels.yaml +++ b/pydis_site/apps/resources/resources/python_morsels.yaml @@ -7,4 +7,13 @@ description: 'Learn to write more idiomatic Python code with deliberate practice tests and some may include bonuses for a little more of a challenge!' name: Python Morsels title_url: https://www.pythonmorsels.com/ -position: 3 +tags: + topics: + - general + - software design + payment_tiers: + - subscription + complexity: + - intermediate + type: + - interactive diff --git a/pydis_site/apps/resources/resources/communities/subreddit.yaml b/pydis_site/apps/resources/resources/python_subreddit.yaml index d3ddb15a..ef9f23d9 100644 --- a/pydis_site/apps/resources/resources/communities/subreddit.yaml +++ b/pydis_site/apps/resources/resources/python_subreddit.yaml @@ -4,3 +4,13 @@ title_icon: branding/reddit title_icon_color: orangered title_url: https://www.reddit.com/r/Python/ position: 0 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/reading/books/python_tricks.yaml b/pydis_site/apps/resources/resources/python_tricks.yaml index c0941809..6d857a9d 100644 --- a/pydis_site/apps/resources/resources/reading/books/python_tricks.yaml +++ b/pydis_site/apps/resources/resources/python_tricks.yaml @@ -2,11 +2,20 @@ description: Full of useful Python tips, tricks and features. Get this if you ha a good grasp of the basics and want to take your Python skills to the next level, or are a experienced programmer looking to add to your toolbelt. name: Python Tricks -position: 4 urls: - icon: regular/link url: https://realpython.com/products/python-tricks-book/ color: teal -- icon: branding/amazon - url: https://www.amazon.com/Python-Tricks-Buffet-Awesome-Features/dp/1775093301 - color: amazon-orange +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/36990732-python-tricks + color: goodreads-cream +tags: + topics: + - general + - software design + payment_tiers: + - paid + complexity: + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/interactive/python_tutor.yaml b/pydis_site/apps/resources/resources/python_tutor.yaml index 64b50d09..4f6d5130 100644 --- a/pydis_site/apps/resources/resources/interactive/python_tutor.yaml +++ b/pydis_site/apps/resources/resources/python_tutor.yaml @@ -1,4 +1,14 @@ description: Write Python code in your web browser, and see it visualized step by step. name: Python Tutor title_url: https://www.pythontutor.com/ -position: 2 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tool + - interactive diff --git a/pydis_site/apps/resources/resources/reading/_category_info.yaml b/pydis_site/apps/resources/resources/reading/_category_info.yaml deleted file mode 100644 index 64b87e47..00000000 --- a/pydis_site/apps/resources/resources/reading/_category_info.yaml +++ /dev/null @@ -1,2 +0,0 @@ -description: Books and tutorials related to Python and popular third-party libraries and frameworks. -name: Reading diff --git a/pydis_site/apps/resources/resources/reading/books/_category_info.yaml b/pydis_site/apps/resources/resources/reading/books/_category_info.yaml deleted file mode 100644 index ae092a20..00000000 --- a/pydis_site/apps/resources/resources/reading/books/_category_info.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: The best books for learning Python or Python Frameworks. -name: Books -default_icon: branding/python -default_icon_color: black -position: 0 diff --git a/pydis_site/apps/resources/resources/reading/books/two_scoops_of_django.yaml b/pydis_site/apps/resources/resources/reading/books/two_scoops_of_django.yaml deleted file mode 100644 index 7d83e7c4..00000000 --- a/pydis_site/apps/resources/resources/reading/books/two_scoops_of_django.yaml +++ /dev/null @@ -1,14 +0,0 @@ -description: Tips, tricks, and best practices for your Django project. - A highly recommended resource for Django web developers. -name: Two Scoops of Django -position: 9 -urls: -- icon: regular/link - url: https://twoscoopspress.com/products/two-scoops-of-django-1-11 - color: teal -- icon: branding/amazon - url: https://www.amazon.com/Two-Scoops-Django-Best-Practices/dp/0981467342 - color: amazon-orange -- icon: branding/github - url: https://github.com/twoscoops/two-scoops-of-django-2.0-code-examples - color: black diff --git a/pydis_site/apps/resources/resources/reading/tutorials/_category_info.yaml b/pydis_site/apps/resources/resources/reading/tutorials/_category_info.yaml deleted file mode 100644 index a18b837d..00000000 --- a/pydis_site/apps/resources/resources/reading/tutorials/_category_info.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Tutorials and references for those that are just getting started with Python. -name: Tutorials -default_icon: branding/python -default_icon_color: black -position: 1 diff --git a/pydis_site/apps/resources/resources/communities/real_python.yaml b/pydis_site/apps/resources/resources/real_python.yaml index 1fc74d93..36d8db7f 100644 --- a/pydis_site/apps/resources/resources/communities/real_python.yaml +++ b/pydis_site/apps/resources/resources/real_python.yaml @@ -10,3 +10,13 @@ urls: - icon: branding/youtube url: https://www.youtube.com/channel/UCI0vQvr9aFn27yR6Ej6n5UA color: youtube-red +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - community diff --git a/pydis_site/apps/resources/resources/tools/ides/repl_it.yaml b/pydis_site/apps/resources/resources/repl_it.yaml index 8cd14e14..e1ba1d19 100644 --- a/pydis_site/apps/resources/resources/tools/ides/repl_it.yaml +++ b/pydis_site/apps/resources/resources/repl_it.yaml @@ -2,4 +2,13 @@ description: A free, collaborative, in-browser IDE to code in 50+ languages — without spending a second on setup. name: repl.it title_url: https://repl.it/ -position: 3 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/tools/accessibility_tools/screen_readers.yaml b/pydis_site/apps/resources/resources/screen_readers.yaml index 39372956..9673a132 100644 --- a/pydis_site/apps/resources/resources/tools/accessibility_tools/screen_readers.yaml +++ b/pydis_site/apps/resources/resources/screen_readers.yaml @@ -4,4 +4,14 @@ description: Screen readers are software programs that allow blind with this link describing many of them and their capabilities. name: Screen Readers - American Foundation for the Blind title_url: https://www.afb.org/blindness-and-low-vision/using-technology/assistive-technology-products/screen-readers -position: 1 +tags: + topics: + - other + payment_tiers: + - free + - paid + complexity: + - beginner + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/videos/sentdex.yaml b/pydis_site/apps/resources/resources/sentdex.yaml index 4e5f54c6..21acd4e9 100644 --- a/pydis_site/apps/resources/resources/videos/sentdex.yaml +++ b/pydis_site/apps/resources/resources/sentdex.yaml @@ -20,3 +20,15 @@ urls: - icon: regular/link url: https://pythonprogramming.net/ color: teal +tags: + topics: + - general + - user interface + - data science + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - video diff --git a/pydis_site/apps/resources/resources/reading/tutorials/simple_guide_to_git.yaml b/pydis_site/apps/resources/resources/simple_guide_to_git.yaml index a505715d..144b6c70 100644 --- a/pydis_site/apps/resources/resources/reading/tutorials/simple_guide_to_git.yaml +++ b/pydis_site/apps/resources/resources/simple_guide_to_git.yaml @@ -3,4 +3,12 @@ name: A Simple Guide to Git title_url: http://rogerdudler.github.io/git-guide/ title_icon: branding/github title_icon_color: black -position: 4 +tags: + topics: + - tooling + payment_tiers: + - free + complexity: + - beginner + type: + - tutorial diff --git a/pydis_site/apps/resources/resources/interactive/sololearn.yaml b/pydis_site/apps/resources/resources/sololearn.yaml index 51dceb2a..637a58b8 100644 --- a/pydis_site/apps/resources/resources/interactive/sololearn.yaml +++ b/pydis_site/apps/resources/resources/sololearn.yaml @@ -4,4 +4,14 @@ description: SoloLearn's Python 3 course serves as a simple and convenient intro and mobile apps being available to use. name: SoloLearn title_url: https://www.sololearn.com/Course/Python/ -position: 4 +tags: + topics: + - general + payment_tiers: + - free + - subscription + complexity: + - beginner + type: + - interactive + - course
\ No newline at end of file diff --git a/pydis_site/apps/resources/resources/tools/ides/spyder.yaml b/pydis_site/apps/resources/resources/spyder.yaml index c2f9c2dc..8dc05542 100644 --- a/pydis_site/apps/resources/resources/tools/ides/spyder.yaml +++ b/pydis_site/apps/resources/resources/spyder.yaml @@ -2,4 +2,13 @@ description: The Scientific Python Development Environment. Simpler and lighter than PyCharm, but still packs a punch. name: Spyder title_url: https://www.spyder-ide.org/ -position: 1 +tags: + topics: + - data science + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/tools/editors/sublime_text.yaml b/pydis_site/apps/resources/resources/sublime_text.yaml index 3c6e7e84..76aeac45 100644 --- a/pydis_site/apps/resources/resources/tools/editors/sublime_text.yaml +++ b/pydis_site/apps/resources/resources/sublime_text.yaml @@ -2,4 +2,13 @@ description: A powerful Python-backed editor with great community support and a of extensions. name: Sublime Text title_url: https://www.sublimetext.com/ -position: 2 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/podcasts/talk_python_to_me.yaml b/pydis_site/apps/resources/resources/talk_python_to_me.yaml index 5ce21fd7..ec7df8b5 100644 --- a/pydis_site/apps/resources/resources/podcasts/talk_python_to_me.yaml +++ b/pydis_site/apps/resources/resources/talk_python_to_me.yaml @@ -2,4 +2,13 @@ description: The essential weekly Python podcast. Michael Kennedy and a prominen name within the Python community dive into a topic that relates to their experience. name: Talk Python To Me title_url: https://talkpython.fm/ -position: 0 +tags: + topics: + - python + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - podcast diff --git a/pydis_site/apps/resources/resources/tools/accessibility_tools/talon_voice.yaml b/pydis_site/apps/resources/resources/talon_voice.yaml index 9df5f66f..0f28a328 100644 --- a/pydis_site/apps/resources/resources/tools/accessibility_tools/talon_voice.yaml +++ b/pydis_site/apps/resources/resources/talon_voice.yaml @@ -3,4 +3,13 @@ description: Talon is a tool being built that aims to bring programming, who have limited or no use of their hands. name: Talon Voice title_url: https://talonvoice.com/ -position: 0 +tags: + topics: + - other + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/podcasts/test_and_code.yaml b/pydis_site/apps/resources/resources/test_and_code.yaml index d5751577..efe0c218 100644 --- a/pydis_site/apps/resources/resources/podcasts/test_and_code.yaml +++ b/pydis_site/apps/resources/resources/test_and_code.yaml @@ -2,4 +2,14 @@ description: Brian Okken's weekly podcast on testing. Usually deals with Python, but also covers many language-agnostic topics from the testing and DevOps world. name: Test & Code title_url: https://testandcode.com/ -position: 3 +tags: + topics: + - testing + - tooling + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - podcast diff --git a/pydis_site/apps/resources/resources/reading/tutorials/the_flask_mega_tutorial.yaml b/pydis_site/apps/resources/resources/the_flask_mega_tutorial.yaml index 8d61ea73..514da947 100644 --- a/pydis_site/apps/resources/resources/reading/tutorials/the_flask_mega_tutorial.yaml +++ b/pydis_site/apps/resources/resources/the_flask_mega_tutorial.yaml @@ -1,4 +1,13 @@ description: Miguel Grinberg's fully featured mega-tutorial for learning how to create web applications with the Flask framework. name: The Flask Mega-Tutorial title_url: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world -position: 5 +tags: + topics: + - web development + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tutorial diff --git a/pydis_site/apps/resources/resources/podcasts/the_real_python_podcast.yaml b/pydis_site/apps/resources/resources/the_real_python_podcast.yaml index dea894ea..62ba32ce 100644 --- a/pydis_site/apps/resources/resources/podcasts/the_real_python_podcast.yaml +++ b/pydis_site/apps/resources/resources/the_real_python_podcast.yaml @@ -4,4 +4,13 @@ description: A weekly Python podcast hosted by Christopher Bailey with interview career tips, and related software development topics. name: The Real Python Podcast title_url: https://realpython.com/podcasts/rpp/ -position: 4 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - podcast diff --git a/pydis_site/apps/resources/resources/reading/books/think_python.yaml b/pydis_site/apps/resources/resources/think_python.yaml index 6de87043..472324c5 100644 --- a/pydis_site/apps/resources/resources/reading/books/think_python.yaml +++ b/pydis_site/apps/resources/resources/think_python.yaml @@ -4,14 +4,23 @@ description: Think Python is an introduction to Python programming for beginners Larger pieces, like recursion and object-oriented programming are divided into a sequence of smaller steps and introduced over the course of several chapters. name: Think Python -position: 10 urls: - icon: regular/link url: https://greenteapress.com/wp/think-python-2e/ color: teal - - icon: branding/amazon - url: https://www.amazon.com/gp/product/1491939362 - color: amazon-orange + - icon: branding/goodreads + url: https://www.goodreads.com/book/show/14514306-think-python + color: goodreads-cream - icon: branding/github url: https://github.com/AllenDowney/ThinkPython2 color: black +tags: + topics: + - general + - software design + payment_tiers: + - paid + complexity: + - beginner + type: + - book diff --git a/pydis_site/apps/resources/resources/tools/ides/thonny.yaml b/pydis_site/apps/resources/resources/thonny.yaml index 3581e1cd..7b9447f5 100644 --- a/pydis_site/apps/resources/resources/tools/ides/thonny.yaml +++ b/pydis_site/apps/resources/resources/thonny.yaml @@ -3,3 +3,12 @@ description: A Python IDE specifially aimed at learning programming. Has a lot o name: Thonny title_url: https://thonny.org/ position: 2 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + type: + - tool
\ No newline at end of file diff --git a/pydis_site/apps/resources/resources/tools/_category_info.yaml b/pydis_site/apps/resources/resources/tools/_category_info.yaml deleted file mode 100644 index 6b16baa6..00000000 --- a/pydis_site/apps/resources/resources/tools/_category_info.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: This page is a curated list of tools that we regularly recommend in the community. - If you have a suggestion for something to add to this page, please create an issue in - <a href="https://github.com/python-discord/meta/issues">our meta repo</a>, and we'll consider adding it. -name: Tools diff --git a/pydis_site/apps/resources/resources/tools/accessibility_tools/_category_info.yaml b/pydis_site/apps/resources/resources/tools/accessibility_tools/_category_info.yaml deleted file mode 100644 index e770db07..00000000 --- a/pydis_site/apps/resources/resources/tools/accessibility_tools/_category_info.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Accessibility tools that help people write Python code. -name: Accessibility Tools -default_icon: branding/python -default_icon_color: black -position: 2 diff --git a/pydis_site/apps/resources/resources/tools/editors/_category_info.yaml b/pydis_site/apps/resources/resources/tools/editors/_category_info.yaml deleted file mode 100644 index 3cdfff3a..00000000 --- a/pydis_site/apps/resources/resources/tools/editors/_category_info.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Lightweight code editors supporting Python -name: Editors -default_icon: branding/python -default_icon_color: black -position: 1 diff --git a/pydis_site/apps/resources/resources/tools/ides/_category_info.yaml b/pydis_site/apps/resources/resources/tools/ides/_category_info.yaml deleted file mode 100644 index 614625a6..00000000 --- a/pydis_site/apps/resources/resources/tools/ides/_category_info.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Fully-integrated development environments for serious Python work. -name: IDEs -default_icon: branding/python -default_icon_color: black -position: 0 diff --git a/pydis_site/apps/resources/resources/two_scoops_of_django.yaml b/pydis_site/apps/resources/resources/two_scoops_of_django.yaml new file mode 100644 index 00000000..618cc5f5 --- /dev/null +++ b/pydis_site/apps/resources/resources/two_scoops_of_django.yaml @@ -0,0 +1,22 @@ +description: Tips, tricks, and best practices for your Django project. + A highly recommended resource for Django web developers. +name: Two Scoops of Django +urls: +- icon: regular/book + url: https://www.feldroy.com/collections/everything/products/two-scoops-of-django-3-x + color: teal +- icon: branding/goodreads + url: https://www.goodreads.com/book/show/55822151-two-scoops-of-django-3-x + color: goodreads-cream +- icon: branding/github + url: https://github.com/twoscoops/two-scoops-of-django-2.0-code-examples + color: black +tags: + topics: + - web development + payment_tiers: + - paid + complexity: + - intermediate + type: + - book diff --git a/pydis_site/apps/resources/resources/courses/university_of_michigan.yaml b/pydis_site/apps/resources/resources/university_of_michigan.yaml index 3efe7640..0154e4dd 100644 --- a/pydis_site/apps/resources/resources/courses/university_of_michigan.yaml +++ b/pydis_site/apps/resources/resources/university_of_michigan.yaml @@ -2,4 +2,12 @@ description: A 5-part specialization course that teaches Python from scratch. The course has no pre-requisites and avoids all but the simplest mathematics. name: 'University of Michigan: Programming for Everybody' title_url: https://www.coursera.org/learn/python -position: 2 +tags: + topics: + - python + payment_tiers: + - free + complexity: + - beginner + type: + - course diff --git a/pydis_site/apps/resources/resources/courses/university_of_toronto.yaml b/pydis_site/apps/resources/resources/university_of_toronto.yaml index 0a7839de..d057eb39 100644 --- a/pydis_site/apps/resources/resources/courses/university_of_toronto.yaml +++ b/pydis_site/apps/resources/resources/university_of_toronto.yaml @@ -1,7 +1,6 @@ description: A 2-part course that teaches Python. Primarily intended for high school students and first-year university students who want to learn programming. name: 'University of Toronto: Learn to Program' -position: 0 urls: - icon: regular/graduation-cap url: https://www.coursera.org/learn/learn-to-program @@ -9,3 +8,13 @@ urls: - icon: regular/graduation-cap url: https://www.coursera.org/learn/program-code color: youtube-red +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - course diff --git a/pydis_site/apps/resources/resources/videos/_category_info.yaml b/pydis_site/apps/resources/resources/videos/_category_info.yaml deleted file mode 100644 index 8192e021..00000000 --- a/pydis_site/apps/resources/resources/videos/_category_info.yaml +++ /dev/null @@ -1,2 +0,0 @@ -description: Excellent Youtube channels with content related to Python. -name: Videos diff --git a/pydis_site/apps/resources/resources/tools/editors/visual_studio_code.yaml b/pydis_site/apps/resources/resources/visual_studio_code.yaml index e3737ca7..f09efcf8 100644 --- a/pydis_site/apps/resources/resources/tools/editors/visual_studio_code.yaml +++ b/pydis_site/apps/resources/resources/visual_studio_code.yaml @@ -1,4 +1,13 @@ description: A fully-featured editor based on Electron, extendable with plugins. name: Visual Studio Code title_url: https://code.visualstudio.com/ -position: 1 +tags: + topics: + - general + payment_tiers: + - free + complexity: + - beginner + - intermediate + type: + - tool diff --git a/pydis_site/apps/resources/resources/reading/tutorials/wtf_python.yaml b/pydis_site/apps/resources/resources/wtf_python.yaml index a25a84fd..7f67ccf9 100644 --- a/pydis_site/apps/resources/resources/reading/tutorials/wtf_python.yaml +++ b/pydis_site/apps/resources/resources/wtf_python.yaml @@ -6,3 +6,13 @@ description: Python, being a beautifully designed high-level and interpreter-bas name: WTF Python title_url: https://github.com/satwikkansal/wtfpython position: 7 +tags: + topics: + - software design + - other + payment_tiers: + - free + complexity: + - intermediate + type: + - tutorial diff --git a/pydis_site/apps/resources/tests/test_resources.py b/pydis_site/apps/resources/tests/test_resources.py new file mode 100644 index 00000000..81638e2f --- /dev/null +++ b/pydis_site/apps/resources/tests/test_resources.py @@ -0,0 +1,9 @@ +from django.test import TestCase + + +class TestResources(TestCase): + """Test our resource filtering systems.""" + + def test_utils_to_retrieve_tags(self): + """Test that the utils that retrieve the tags work as intended.""" + pass diff --git a/pydis_site/apps/resources/tests/test_views.py b/pydis_site/apps/resources/tests/test_views.py index 53685eef..568f4d13 100644 --- a/pydis_site/apps/resources/tests/test_views.py +++ b/pydis_site/apps/resources/tests/test_views.py @@ -19,16 +19,13 @@ class TestResourcesView(TestCase): class TestResourcesListView(TestCase): - @patch("pydis_site.apps.resources.views.resources_list.RESOURCES_PATH", TESTING_RESOURCES_PATH) def test_valid_resource_list_200(self): """Check does site return code 200 when visiting valid resource list.""" - url = reverse("resources:resources", ("testing",)) + url = reverse("resources:resources") response = self.client.get(url) self.assertEqual(response.status_code, 200) - @patch("pydis_site.apps.resources.views.resources_list.RESOURCES_PATH", TESTING_RESOURCES_PATH) - def test_invalid_resource_list_404(self): - """Check does site return code 404 when trying to visit invalid resource list.""" - url = reverse("resources:resources", ("invalid",)) - response = self.client.get(url) - self.assertEqual(response.status_code, 404) + @patch("pydis_site.apps.resources.utils.RESOURCES_PATH", TESTING_RESOURCES_PATH) + def test_filter_resource_list(self): + """TODO: Check that we can correctly filter resources with GET parameters.""" + pass diff --git a/pydis_site/apps/resources/tests/testing_resources/testing/_category_info.yaml b/pydis_site/apps/resources/tests/testing_resources/testing/_category_info.yaml deleted file mode 100644 index bae17ea3..00000000 --- a/pydis_site/apps/resources/tests/testing_resources/testing/_category_info.yaml +++ /dev/null @@ -1 +0,0 @@ -name: Testing diff --git a/pydis_site/apps/resources/tests/testing_resources/testing/foobar/_category_info.yaml b/pydis_site/apps/resources/tests/testing_resources/testing/foobar/_category_info.yaml deleted file mode 100644 index eaac32d9..00000000 --- a/pydis_site/apps/resources/tests/testing_resources/testing/foobar/_category_info.yaml +++ /dev/null @@ -1 +0,0 @@ -name: Foobar diff --git a/pydis_site/apps/resources/urls.py b/pydis_site/apps/resources/urls.py index 19142081..cd4f53e7 100644 --- a/pydis_site/apps/resources/urls.py +++ b/pydis_site/apps/resources/urls.py @@ -5,5 +5,5 @@ from pydis_site.apps.resources import views app_name = "resources" urlpatterns = [ path("", views.ResourcesView.as_view(), name="index"), - path("<str:category>/", views.ResourcesListView.as_view(), name="resources") + path("list/", views.ResourcesListView.as_view(), name="resources") ] diff --git a/pydis_site/apps/resources/utils.py b/pydis_site/apps/resources/utils.py index 1855fc80..6e21e2ba 100644 --- a/pydis_site/apps/resources/utils.py +++ b/pydis_site/apps/resources/utils.py @@ -2,41 +2,16 @@ import typing as t from pathlib import Path import yaml +from django.conf import settings +RESOURCES_PATH = Path(settings.BASE_DIR, "pydis_site", "apps", "resources", "resources") -def get_resources(path: Path) -> t.List[t.Dict]: + +def get_resources() -> t.List[t.Dict]: """Loads resource YAMLs from provided path.""" resources = [] - for item in path.iterdir(): - if item.is_file() and item.suffix == ".yaml" and item.name != "_category_info.yaml": - resources.append(yaml.safe_load(item.read_text())) + for item in RESOURCES_PATH.rglob("*.yaml"): + resources.append(yaml.safe_load(item.read_text())) return resources - - -def get_subcategories(path: Path) -> t.List[t.Dict]: - """Loads resources subcategories with their resources by provided path.""" - subcategories = [] - - for item in path.iterdir(): - if item.is_dir() and item.joinpath("_category_info.yaml").exists(): - subcategories.append({ - "category_info": { - **yaml.safe_load( - item.joinpath("_category_info.yaml").read_text() - ), - "raw_name": item.name - }, - "resources": [ - yaml.safe_load(subitem.read_text()) - for subitem in item.iterdir() - if ( - subitem.is_file() - and subitem.suffix == ".yaml" - and subitem.name != "_category_info.yaml" - ) - ] - }) - - return subcategories diff --git a/pydis_site/apps/resources/views/resources_list.py b/pydis_site/apps/resources/views/resources_list.py index 55f22993..0ec74d78 100644 --- a/pydis_site/apps/resources/views/resources_list.py +++ b/pydis_site/apps/resources/views/resources_list.py @@ -1,14 +1,8 @@ -from pathlib import Path from typing import Any, Dict -import yaml -from django.conf import settings -from django.http import Http404 from django.views.generic import TemplateView -from pydis_site.apps.resources.utils import get_resources, get_subcategories - -RESOURCES_PATH = Path(settings.BASE_DIR, "pydis_site", "apps", "resources", "resources") +from pydis_site.apps.resources.utils import get_resources class ResourcesListView(TemplateView): @@ -19,21 +13,6 @@ class ResourcesListView(TemplateView): def get_context_data(self, **kwargs) -> Dict[str, Any]: """Add resources and subcategories data into context.""" context = super().get_context_data(**kwargs) - - resource_path = RESOURCES_PATH / self.kwargs["category"] - if ( - not resource_path.is_dir() - or not resource_path.joinpath("_category_info.yaml").exists() - ): - raise Http404 - - context["resources"] = get_resources(resource_path) - context["subcategories"] = get_subcategories(resource_path) - context["category_info"] = { - **yaml.safe_load( - resource_path.joinpath("_category_info.yaml").read_text() - ), - "raw_name": resource_path.name - } + context["resources"] = get_resources() return context |