├── bases
├── .keep
└── rsptx
│ ├── interactives
│ ├── core.py
│ ├── scripts
│ │ ├── __init__.py
│ │ └── makePtx.sh
│ ├── runestone
│ │ ├── fitb
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ ├── js
│ │ │ │ ├── fitb-i18n.sr-Cyrl.js
│ │ │ │ ├── fitb-i18n.pt-br.js
│ │ │ │ └── fitb-i18n.en.js
│ │ │ └── toctree.rst
│ │ ├── poll
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── reveal
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ ├── css
│ │ │ │ └── reveal.css
│ │ │ └── toctree.rst
│ │ ├── activecode
│ │ │ ├── test
│ │ │ │ ├── __init__.py
│ │ │ │ └── _sources
│ │ │ │ │ ├── _static
│ │ │ │ │ ├── test.db
│ │ │ │ │ └── LutherBellPic.jpg
│ │ │ │ │ └── progresspage.rst
│ │ │ ├── __init__.py
│ │ │ ├── css
│ │ │ │ └── close.png
│ │ │ ├── js
│ │ │ │ └── skulpt.min.js.gz
│ │ │ └── toctree.rst
│ │ ├── common
│ │ │ ├── test
│ │ │ │ ├── __init__.py
│ │ │ │ └── test_error
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ └── _sources
│ │ │ │ │ └── index.rst
│ │ │ ├── project_template
│ │ │ │ ├── _static
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ └── clock.png
│ │ │ │ └── _templates
│ │ │ │ │ └── plugin_layouts
│ │ │ │ │ └── sphinx_bootstrap
│ │ │ │ │ ├── sourcelink.html
│ │ │ │ │ ├── static
│ │ │ │ │ └── img
│ │ │ │ │ │ ├── RAIcon.png
│ │ │ │ │ │ ├── Twitter.png
│ │ │ │ │ │ ├── Facebook.png
│ │ │ │ │ │ ├── logo_small.png
│ │ │ │ │ │ ├── Twitter_icon.png
│ │ │ │ │ │ └── Facebook_icon.png
│ │ │ │ │ └── localtoc.html
│ │ │ ├── css
│ │ │ │ ├── presenter_mode.less
│ │ │ │ ├── active.png
│ │ │ │ └── completed.png
│ │ │ ├── images
│ │ │ │ └── play_overlay_icon.png
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── dragndrop
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ ├── css
│ │ │ │ └── dragndrop.less
│ │ │ ├── toctree.rst
│ │ │ └── js
│ │ │ │ ├── dragndrop-i18n.pt-br.js
│ │ │ │ ├── dragndrop-i18n.sr-Cyrl.js
│ │ │ │ └── dragndrop-i18n.en.js
│ │ ├── groupsub
│ │ │ ├── css
│ │ │ │ └── groupsub.css
│ │ │ └── __init__.py
│ │ ├── matrixeq
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── mchoice
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── .gitignore
│ │ │ ├── __init__.py
│ │ │ ├── toctree.rst
│ │ │ └── js
│ │ │ │ ├── mchoice-i18n.sr-Cyrl.js
│ │ │ │ ├── mchoice-i18n.en.js
│ │ │ │ └── mchoice-i18n.pt-br.js
│ │ ├── parsons
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ ├── js
│ │ │ │ └── placeholderLine.js
│ │ │ ├── toctree.rst
│ │ │ ├── README.rst
│ │ │ └── css
│ │ │ │ └── parsons.less
│ │ ├── question
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── shortanswer
│ │ │ ├── test
│ │ │ │ ├── __init__.py
│ │ │ │ └── _sources
│ │ │ │ │ └── Figures
│ │ │ │ │ └── LutherBellPic.jpg
│ │ │ ├── __init__.py
│ │ │ ├── toctree.rst
│ │ │ └── css
│ │ │ │ └── shortanswer.css
│ │ ├── showeval
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── tabbedStuff
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── clickableArea
│ │ │ ├── test
│ │ │ │ └── __init__.py
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── matching
│ │ │ ├── .gitignore
│ │ │ └── css
│ │ │ │ └── matching.less
│ │ ├── meta
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── video
│ │ │ ├── __init__.py
│ │ │ ├── toctree.rst
│ │ │ ├── test
│ │ │ │ └── _sources
│ │ │ │ │ └── index.rst
│ │ │ └── css
│ │ │ │ └── video.css
│ │ ├── blockly
│ │ │ ├── __init__.py
│ │ │ ├── js
│ │ │ │ └── media
│ │ │ │ │ ├── 1x1.gif
│ │ │ │ │ ├── click.mp3
│ │ │ │ │ ├── click.ogg
│ │ │ │ │ ├── click.wav
│ │ │ │ │ ├── delete.mp3
│ │ │ │ │ ├── delete.ogg
│ │ │ │ │ ├── delete.wav
│ │ │ │ │ ├── quote0.png
│ │ │ │ │ ├── quote1.png
│ │ │ │ │ ├── tree.png
│ │ │ │ │ ├── handopen.cur
│ │ │ │ │ ├── trashlid.png
│ │ │ │ │ ├── handclosed.cur
│ │ │ │ │ └── trashbody.png
│ │ │ ├── README.rst
│ │ │ └── toctree.rst
│ │ ├── disqus
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── hparsons
│ │ │ ├── __init__.py
│ │ │ ├── test
│ │ │ │ └── _sources
│ │ │ │ │ └── _static
│ │ │ │ │ ├── test.db
│ │ │ │ │ └── hptest.db
│ │ │ └── toctree.rst
│ │ ├── khanex
│ │ │ ├── __init__.py
│ │ │ └── test
│ │ │ │ └── _sources
│ │ │ │ └── Khanex
│ │ │ │ └── toctree.rst
│ │ ├── quizly
│ │ │ ├── __init__.py
│ │ │ ├── test
│ │ │ │ └── _sources
│ │ │ │ │ └── Quizly
│ │ │ │ │ └── toctree.rst
│ │ │ └── toctree.rst
│ │ ├── utility
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── codelens
│ │ │ ├── __init__.py
│ │ │ ├── css
│ │ │ │ └── x.png
│ │ │ ├── toctree.rst
│ │ │ └── README.rst
│ │ ├── server
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── timed
│ │ │ ├── __init__.py
│ │ │ ├── css
│ │ │ │ └── timed.less
│ │ │ └── toctree.rst
│ │ ├── wavedrom
│ │ │ ├── __init__.py
│ │ │ └── test
│ │ │ │ ├── test_wavedrom.py
│ │ │ │ └── _sources
│ │ │ │ └── index.rst
│ │ ├── webgldemo
│ │ │ ├── __init__.py
│ │ │ ├── toctree.rst
│ │ │ └── css
│ │ │ │ └── webgldemo.css
│ │ ├── chapterdb
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── selectquestion
│ │ │ ├── __init__.py
│ │ │ ├── toctree.rst
│ │ │ └── css
│ │ │ │ └── selectquestion.css
│ │ ├── spreadsheet
│ │ │ ├── __init__.py
│ │ │ ├── css
│ │ │ │ └── spreadsheet.css
│ │ │ └── toctree.rst
│ │ ├── animation
│ │ │ ├── __init__.py
│ │ │ ├── README.rst
│ │ │ └── toctree.rst
│ │ ├── datafile
│ │ │ ├── test
│ │ │ │ └── _sources
│ │ │ │ │ └── LutherBellPic.jpg
│ │ │ └── toctree.rst
│ │ ├── cellbotics
│ │ │ └── test
│ │ │ │ ├── __init__.py
│ │ │ │ └── _sources
│ │ │ │ └── index.rst
│ │ ├── accessibility
│ │ │ ├── __init__.py
│ │ │ └── toctree.rst
│ │ ├── lp
│ │ │ ├── css
│ │ │ │ └── html4css1.css
│ │ │ ├── toctree.rst
│ │ │ └── __init__.py
│ │ ├── assignment
│ │ │ └── toctree.rst
│ │ └── webwork
│ │ │ └── toctree.rst
│ ├── __init__.py
│ ├── pytest.ini
│ └── .flake8
│ ├── web2py_server
│ ├── core.py
│ ├── applications
│ │ ├── __init__.py
│ │ ├── admin
│ │ │ ├── __init__.py
│ │ │ ├── private
│ │ │ │ └── hosts.deny
│ │ │ ├── modules
│ │ │ │ └── __init__.py
│ │ │ ├── views
│ │ │ │ ├── default
│ │ │ │ │ ├── files_menu.html
│ │ │ │ │ ├── uninstall.html
│ │ │ │ │ └── git_push.html
│ │ │ │ ├── default.mobile
│ │ │ │ │ ├── change_password.html
│ │ │ │ │ ├── delete_plugin.html
│ │ │ │ │ ├── uninstall.html
│ │ │ │ │ └── about.html
│ │ │ │ └── mercurial
│ │ │ │ │ └── revision.html
│ │ │ ├── static
│ │ │ │ ├── images
│ │ │ │ │ ├── chat.png
│ │ │ │ │ ├── help.png
│ │ │ │ │ ├── menu.png
│ │ │ │ │ ├── folder.png
│ │ │ │ │ ├── search.png
│ │ │ │ │ ├── start.png
│ │ │ │ │ ├── embossed.png
│ │ │ │ │ ├── folder_sm.png
│ │ │ │ │ ├── header_bg.png
│ │ │ │ │ ├── questions.png
│ │ │ │ │ ├── save_icon.png
│ │ │ │ │ ├── spinner.gif
│ │ │ │ │ ├── test_icon.png
│ │ │ │ │ ├── delete_icon.png
│ │ │ │ │ ├── dim_bullet.gif
│ │ │ │ │ ├── red_bullet.gif
│ │ │ │ │ ├── files_toggle.png
│ │ │ │ │ ├── folder_locked.png
│ │ │ │ │ ├── header_shadow.png
│ │ │ │ │ ├── section_bullet.png
│ │ │ │ │ ├── sidebar_bullet.gif
│ │ │ │ │ ├── small_button.png
│ │ │ │ │ ├── ticket_section.png
│ │ │ │ │ ├── menu_responsive.png
│ │ │ │ │ ├── sidebar_background.jpg
│ │ │ │ │ ├── glyphicons-halflings.png
│ │ │ │ │ ├── small_special_button.png
│ │ │ │ │ └── glyphicons-halflings-white.png
│ │ │ │ ├── codemirror
│ │ │ │ │ ├── theme
│ │ │ │ │ │ └── ambiance-mobile.css
│ │ │ │ │ └── addon
│ │ │ │ │ │ ├── display
│ │ │ │ │ │ └── fullscreen.css
│ │ │ │ │ │ └── search
│ │ │ │ │ │ └── matchesonscrollbar.css
│ │ │ │ ├── plugin_multiselect
│ │ │ │ │ ├── switch.png
│ │ │ │ │ └── start.js
│ │ │ │ └── plugin_jqmobile
│ │ │ │ │ └── images
│ │ │ │ │ ├── iphone.jpg
│ │ │ │ │ ├── ajax-loader.png
│ │ │ │ │ ├── icons-18-black.png
│ │ │ │ │ ├── icons-18-white.png
│ │ │ │ │ ├── icons-36-black.png
│ │ │ │ │ └── icons-36-white.png
│ │ │ ├── languages
│ │ │ │ ├── plural-en.py
│ │ │ │ ├── plural-ru.py
│ │ │ │ └── plural-uk.py
│ │ │ ├── controllers
│ │ │ │ └── plugin_jqmobile.py
│ │ │ ├── settings.cfg
│ │ │ ├── sessions
│ │ │ │ └── 10e
│ │ │ │ │ └── 1c6
│ │ │ │ │ └── 127.0.0.1-cb884fdc-c31c-4179-9434-43db4b7df05e
│ │ │ ├── ABOUT
│ │ │ └── models
│ │ │ │ └── plugin_multiselect.py
│ │ └── runestone
│ │ │ ├── .gitmodules
│ │ │ ├── __init__.py
│ │ │ ├── errors
│ │ │ └── .keep
│ │ │ ├── .prettierignore
│ │ │ ├── build
│ │ │ └── preview
│ │ │ │ ├── _static
│ │ │ │ ├── .gitignore
│ │ │ │ ├── last.png
│ │ │ │ ├── next.png
│ │ │ │ ├── prev.png
│ │ │ │ ├── clock.png
│ │ │ │ ├── close.png
│ │ │ │ ├── first.png
│ │ │ │ ├── pause.png
│ │ │ │ ├── activecodethumb.png
│ │ │ │ └── audio
│ │ │ │ │ ├── Example04_Tour01_Line01.mp3
│ │ │ │ │ ├── Example04_Tour01_Line01.wav
│ │ │ │ │ ├── Example04_Tour01_Line02.mp3
│ │ │ │ │ ├── Example04_Tour01_Line02.wav
│ │ │ │ │ ├── Example04_Tour01_Line03.mp3
│ │ │ │ │ └── Example04_Tour01_Line03.wav
│ │ │ │ ├── _sources
│ │ │ │ ├── .gitignore
│ │ │ │ └── index.rst
│ │ │ │ ├── .gitignore
│ │ │ │ ├── __pycache__
│ │ │ │ └── pavement.cpython-39.pyc
│ │ │ │ └── _templates
│ │ │ │ └── plugin_layouts
│ │ │ │ └── sphinx_bootstrap
│ │ │ │ ├── sourcelink.html
│ │ │ │ ├── localtoc.html
│ │ │ │ ├── static
│ │ │ │ ├── img
│ │ │ │ │ ├── Facebook.png
│ │ │ │ │ ├── Twitter.png
│ │ │ │ │ ├── logo_small.png
│ │ │ │ │ ├── Facebook_icon.png
│ │ │ │ │ └── Twitter_icon.png
│ │ │ │ └── bootstrap-3.0.0
│ │ │ │ │ └── fonts
│ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ └── glyphicons-halflings-regular.woff
│ │ │ │ └── globaltoc.html
│ │ │ ├── tests
│ │ │ ├── test_course_1
│ │ │ │ ├── _static
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── clock.png
│ │ │ │ │ ├── close.png
│ │ │ │ │ ├── first.png
│ │ │ │ │ ├── last.png
│ │ │ │ │ ├── next.png
│ │ │ │ │ ├── pause.png
│ │ │ │ │ ├── prev.png
│ │ │ │ │ ├── activecodethumb.png
│ │ │ │ │ ├── img
│ │ │ │ │ │ └── logo_small.png
│ │ │ │ │ └── audio
│ │ │ │ │ │ ├── Example04_Tour01_Line01.mp3
│ │ │ │ │ │ ├── Example04_Tour01_Line01.wav
│ │ │ │ │ │ ├── Example04_Tour01_Line02.mp3
│ │ │ │ │ │ ├── Example04_Tour01_Line02.wav
│ │ │ │ │ │ ├── Example04_Tour01_Line03.mp3
│ │ │ │ │ │ └── Example04_Tour01_Line03.wav
│ │ │ │ ├── .gitignore
│ │ │ │ └── _sources
│ │ │ │ │ ├── test_chapter_1
│ │ │ │ │ ├── subchapter_a.rst
│ │ │ │ │ ├── toctree.rst
│ │ │ │ │ └── dynamicquestions.rst
│ │ │ │ │ ├── lp_demo-test.py
│ │ │ │ │ └── lp_demo.py
│ │ │ ├── __init__.py
│ │ │ └── .coveragerc
│ │ │ ├── .jshintrc
│ │ │ ├── .coveralls.yml
│ │ │ ├── modules
│ │ │ ├── .gitignore
│ │ │ └── __init__.py
│ │ │ ├── views
│ │ │ ├── books
│ │ │ │ └── published.html
│ │ │ ├── generic.json
│ │ │ ├── default
│ │ │ │ ├── error.html
│ │ │ │ └── bio.html
│ │ │ ├── generic.xml
│ │ │ ├── admin
│ │ │ │ ├── sections_create.html
│ │ │ │ ├── progress.html
│ │ │ │ └── studentactivity.html
│ │ │ ├── __init__.py
│ │ │ ├── generic.pdf
│ │ │ └── generic.rss
│ │ │ ├── .git-blame-ignore-revs
│ │ │ ├── requirements-rtd.txt
│ │ │ ├── static
│ │ │ ├── ads.txt
│ │ │ ├── favicon.ico
│ │ │ ├── _static
│ │ │ │ ├── down.png
│ │ │ │ ├── file.png
│ │ │ │ ├── plus.png
│ │ │ │ ├── up.png
│ │ │ │ ├── clock.png
│ │ │ │ ├── minus.png
│ │ │ │ ├── comment.png
│ │ │ │ ├── contents.png
│ │ │ │ ├── ajax-loader.gif
│ │ │ │ ├── navigation.png
│ │ │ │ ├── up-pressed.png
│ │ │ │ ├── comment-bright.png
│ │ │ │ ├── comment-close.png
│ │ │ │ └── down-pressed.png
│ │ │ ├── images
│ │ │ │ ├── anon.jpg
│ │ │ │ ├── RAIcon.png
│ │ │ │ ├── shadow.png
│ │ │ │ ├── completed.png
│ │ │ │ ├── logo_small.png
│ │ │ │ ├── poweredby.png
│ │ │ │ ├── seperator.png
│ │ │ │ ├── spinner10.gif
│ │ │ │ ├── Twitter_icon.png
│ │ │ │ ├── Facebook_icon.png
│ │ │ │ ├── RAIcon_cropped.png
│ │ │ │ ├── arrows-ffffff.png
│ │ │ │ ├── shadow-section.png
│ │ │ │ ├── RunestoneBanner0.png
│ │ │ │ ├── RunestoneBanner1.png
│ │ │ │ ├── RunestoneBanner2.png
│ │ │ │ ├── RunestoneVenmoQR.png
│ │ │ │ ├── css3buttons_icons.png
│ │ │ │ ├── glyphicons-halflings.png
│ │ │ │ ├── css3buttons_backgrounds.png
│ │ │ │ ├── ui-icons_222222_256x240.png
│ │ │ │ ├── GettingStartedWithRunestone.png
│ │ │ │ └── glyphicons-halflings-white.png
│ │ │ ├── _images
│ │ │ │ ├── nsf-logo.png
│ │ │ │ ├── ptx-logo.png
│ │ │ │ ├── rsi_logo.jpg
│ │ │ │ ├── searchicon.png
│ │ │ │ ├── searchicon2.jpg
│ │ │ │ ├── UT_Square_logo.png
│ │ │ │ ├── logo-trademark.png
│ │ │ │ ├── U-M-logo-preview.jpg
│ │ │ │ ├── SIGCSE-logo-large.jpg
│ │ │ │ ├── Texas__oneColor_orange.png
│ │ │ │ ├── SPP_Logo_Horizontal_Final2020.png
│ │ │ │ └── luther_college_vertical_blue.png
│ │ │ ├── rectangle_badge.png
│ │ │ ├── dashboard
│ │ │ │ └── icons
│ │ │ │ │ ├── cohorts.png
│ │ │ │ │ ├── settings.png
│ │ │ │ │ ├── gradebook.png
│ │ │ │ │ └── gradebook copy.png
│ │ │ ├── js
│ │ │ │ ├── jstree_themes
│ │ │ │ │ └── proton
│ │ │ │ │ │ ├── 30px.png
│ │ │ │ │ │ ├── 32px.png
│ │ │ │ │ │ ├── throbber.gif
│ │ │ │ │ │ └── fonts
│ │ │ │ │ │ └── titillium
│ │ │ │ │ │ ├── titilliumweb-bold-webfont.eot
│ │ │ │ │ │ ├── titilliumweb-bold-webfont.ttf
│ │ │ │ │ │ ├── titilliumweb-bold-webfont.woff
│ │ │ │ │ │ ├── titilliumweb-regular-webfont.eot
│ │ │ │ │ │ ├── titilliumweb-regular-webfont.ttf
│ │ │ │ │ │ ├── titilliumweb-regular-webfont.woff
│ │ │ │ │ │ ├── titilliumweb-extralight-webfont.eot
│ │ │ │ │ │ ├── titilliumweb-extralight-webfont.ttf
│ │ │ │ │ │ └── titilliumweb-extralight-webfont.woff
│ │ │ │ ├── jquery-fix.js
│ │ │ │ ├── selfgrade.js
│ │ │ │ └── documentation_options.js
│ │ │ ├── css
│ │ │ │ └── html4css1.css
│ │ │ └── robots.txt
│ │ │ ├── models
│ │ │ ├── toctree.rst
│ │ │ └── menu.py
│ │ │ ├── scripts
│ │ │ ├── toctree.rst
│ │ │ └── sumuse
│ │ │ ├── .prettierrc.js
│ │ │ ├── controllers
│ │ │ ├── toctree.rst
│ │ │ └── oauth.py
│ │ │ ├── .gitattributes
│ │ │ └── .dockerignore
│ ├── site-packages
│ │ └── __init__.py
│ ├── MANIFEST.in
│ ├── gluon
│ │ ├── contrib
│ │ │ └── markmin
│ │ │ │ ├── __init__.py
│ │ │ │ └── markmin.pdf
│ │ ├── packages
│ │ │ ├── dal
│ │ │ │ ├── pydal
│ │ │ │ │ ├── tools
│ │ │ │ │ │ └── __init__.py
│ │ │ │ │ ├── contrib
│ │ │ │ │ │ └── __init__.py
│ │ │ │ │ ├── helpers
│ │ │ │ │ │ └── __init__.py
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── representers
│ │ │ │ │ │ └── mysql.py
│ │ │ │ │ ├── _globals.py
│ │ │ │ │ ├── exceptions.py
│ │ │ │ │ └── parsers
│ │ │ │ │ │ └── google.py
│ │ │ │ ├── docs
│ │ │ │ │ └── requirements.txt
│ │ │ │ ├── setup.cfg
│ │ │ │ ├── tests
│ │ │ │ │ ├── _compat.py
│ │ │ │ │ └── __init__.py
│ │ │ │ ├── MANIFEST.in
│ │ │ │ ├── .codecov.yml
│ │ │ │ └── AUTHORS
│ │ │ └── yatl
│ │ │ │ ├── tests
│ │ │ │ └── __init__.py
│ │ │ │ ├── yatl
│ │ │ │ └── __init__.py
│ │ │ │ └── tox.ini
│ │ ├── _compat.py
│ │ ├── sanitizer.py
│ │ ├── template.py
│ │ ├── validators.py
│ │ └── tests
│ │ │ └── test_rocket.py
│ ├── VERSION
│ ├── __init__.py
│ ├── parameters_8000.py
│ ├── extras
│ │ ├── icons
│ │ │ ├── web2py.gif
│ │ │ ├── web2py.ico
│ │ │ ├── web2py.icns
│ │ │ └── splashlogo.gif
│ │ └── build_web2py
│ │ │ └── README.md
│ └── handlers
│ │ └── README
│ ├── author_server_api
│ ├── core.py
│ └── __init__.py
│ ├── book_server_api
│ ├── core.py
│ ├── routers
│ │ └── __init__.py
│ ├── runestone_dev.db
│ └── __init__.py
│ ├── admin_server_api
│ ├── routers
│ │ └── __init__.py
│ ├── __init__.py
│ └── README.md
│ ├── assignment_server_api
│ ├── routers
│ │ └── __init__.py
│ ├── assignment_builder
│ │ ├── .eslintignore
│ │ ├── public
│ │ │ ├── runestone
│ │ │ ├── robots.txt
│ │ │ ├── favicon.ico
│ │ │ ├── logo192.png
│ │ │ └── logo512.png
│ │ ├── src
│ │ │ ├── store
│ │ │ │ └── index.ts
│ │ │ ├── router
│ │ │ │ └── index.ts
│ │ │ ├── types
│ │ │ │ ├── treeNode.ts
│ │ │ │ ├── common.ts
│ │ │ │ ├── readings.ts
│ │ │ │ ├── dataset.ts
│ │ │ │ └── api.ts
│ │ │ ├── components
│ │ │ │ └── routes
│ │ │ │ │ └── AssignmentBuilder
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── components
│ │ │ │ │ ├── exercises
│ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── CopyExercise
│ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ ├── CreateExercise
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ ├── PollExercise
│ │ │ │ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ ├── MatchingExercise
│ │ │ │ │ │ │ │ │ │ ├── hooks
│ │ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ ├── DragAndDropExercise
│ │ │ │ │ │ │ │ │ │ ├── hooks
│ │ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ ├── ShortAnswerExercise
│ │ │ │ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ ├── FillInTheBlankExercise
│ │ │ │ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ ├── MultiChoiceExercise
│ │ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ ├── ActiveCodeExercise
│ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ │ └── SelectQuestionExercise
│ │ │ │ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ ├── types
│ │ │ │ │ │ │ │ │ └── PollTypes.ts
│ │ │ │ │ │ │ │ └── constants.ts
│ │ │ │ │ │ │ └── TipTap
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ │ │ └── hooks
│ │ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── AssignmentExercisesList
│ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ └── reading
│ │ │ │ │ │ └── AssignmentReadings.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── styles
│ │ │ │ ├── _variables.scss
│ │ │ │ ├── layout.scss
│ │ │ │ ├── _footer.scss
│ │ │ │ ├── _mixins.scss
│ │ │ │ └── _content.scss
│ │ │ ├── setupTests.jsx
│ │ │ ├── utils
│ │ │ │ ├── json.ts
│ │ │ │ ├── object.ts
│ │ │ │ └── date.ts
│ │ │ ├── global.d.ts
│ │ │ ├── index.css
│ │ │ └── reportWebVitals.ts
│ │ ├── vitest.setup.ts
│ │ ├── .env.development
│ │ ├── .env.production
│ │ ├── .jshintignore
│ │ ├── .prettierrc
│ │ └── .gitignore
│ └── __init__.py
│ ├── rsmanage
│ └── __init__.py
│ └── dash_server_api
│ └── __init__.py
├── components
├── .keep
└── rsptx
│ ├── db
│ ├── core.py
│ └── __init__.py
│ ├── auth
│ ├── core.py
│ └── __init__.py
│ ├── forms
│ ├── core.py
│ └── __init__.py
│ ├── logging
│ ├── core.py
│ └── __init__.py
│ ├── data_extract
│ ├── core.py
│ └── __init__.py
│ ├── templates
│ ├── core.py
│ ├── staticAssets
│ │ ├── RAIcon.png
│ │ ├── js
│ │ │ ├── jquery-fix.js
│ │ │ ├── selfgrade.js
│ │ │ └── documentation_options.js
│ │ ├── course.css
│ │ └── assignment
│ │ │ └── selfgrade.js
│ ├── __init__.py
│ ├── footer.html
│ └── assignment
│ │ └── selfgrade.js
│ ├── validation
│ ├── core.py
│ └── __init__.py
│ ├── visualization
│ ├── core.py
│ └── __init__.py
│ ├── lp_sim_builder
│ ├── core.py
│ └── __init__.py
│ ├── lti1p3
│ ├── pylti1p3
│ │ ├── contrib
│ │ │ ├── __init__.py
│ │ │ └── fastapi
│ │ │ │ ├── launch_data_storage
│ │ │ │ ├── __init__.py
│ │ │ │ └── cache.py
│ │ │ │ ├── session.py
│ │ │ │ └── __init__.py
│ │ ├── launch_data_storage
│ │ │ └── __init__.py
│ │ ├── __init__.py
│ │ ├── tool_config
│ │ │ └── __init__.py
│ │ ├── actions.py
│ │ ├── deployment.py
│ │ ├── request.py
│ │ ├── exception.py
│ │ └── utils.py
│ └── __init__.py
│ ├── cl_utils
│ └── __init__.py
│ ├── practice
│ └── __init__.py
│ ├── build_tools
│ └── __init__.py
│ ├── exceptions
│ └── __init__.py
│ ├── response_helpers
│ └── __init__.py
│ ├── analytics
│ └── __init__.py
│ ├── configuration
│ └── __init__.py
│ ├── grading_helpers
│ └── __init__.py
│ ├── data_types
│ └── __init__.py
│ └── endpoint_validators
│ └── __init__.py
├── development
├── .keep
└── core.py
├── projects
├── .keep
├── dash_server
│ └── .gitignore
├── jobe
│ ├── container.test.yml
│ ├── files
│ │ ├── hamcrest-all-1.3.jar
│ │ └── junit-4.13-beta-3.jar
│ └── container-test.sh
├── interactives
│ └── images
│ │ └── runeCompo-index.png
├── assignment_server
│ └── build.sh
├── author_server
│ └── gitconfig
├── w2p_login_assign_grade
│ └── entrypoint.sh
└── latex_image
│ └── README
├── test
├── bases
│ └── rsptx
│ │ ├── rsmanage
│ │ ├── __init__.py
│ │ └── test_core.py
│ │ ├── interactives
│ │ ├── __init__.py
│ │ └── test_core.py
│ │ ├── web2py_server
│ │ ├── __init__.py
│ │ └── test_core.py
│ │ ├── author_server_api
│ │ ├── __init__.py
│ │ └── test_core.py
│ │ ├── book_server_api
│ │ ├── __init__.py
│ │ └── test_core.py
│ │ ├── dash_server_api
│ │ ├── __init__.py
│ │ └── test_core.py
│ │ ├── assignment_server_api
│ │ ├── __init__.py
│ │ └── test_core.py
│ │ └── admin_server_api
│ │ └── __init__.py
└── components
│ └── rsptx
│ ├── auth
│ ├── __init__.py
│ └── test_core.py
│ ├── db
│ ├── __init__.py
│ └── test_core.py
│ ├── analytics
│ ├── __init__.py
│ └── test_core.py
│ ├── cl_utils
│ ├── __init__.py
│ └── test_core.py
│ ├── forms
│ ├── __init__.py
│ └── test_core.py
│ ├── logging
│ ├── __init__.py
│ └── test_core.py
│ ├── practice
│ ├── __init__.py
│ └── test_core.py
│ ├── templates
│ ├── __init__.py
│ └── test_core.py
│ ├── build_tools
│ ├── __init__.py
│ └── test_core.py
│ ├── configuration
│ ├── __init__.py
│ └── test_core.py
│ ├── data_extract
│ ├── __init__.py
│ └── test_core.py
│ ├── exceptions
│ ├── __init__.py
│ └── test_core.py
│ ├── lp_sim_builder
│ ├── __init__.py
│ └── test_core.py
│ ├── validation
│ ├── __init__.py
│ └── test_core.py
│ ├── visualization
│ ├── __init__.py
│ └── test_core.py
│ ├── endpoint_validators
│ ├── __init__.py
│ └── test_core.py
│ ├── grading_helpers
│ ├── __init__.py
│ └── test_core.py
│ └── response_helpers
│ ├── __init__.py
│ └── test_core.py
├── docs
├── source
│ ├── readme.rst
│ ├── db.core.rst
│ ├── db.crud.rst
│ ├── db.models.rst
│ ├── logging.core.rst
│ ├── validation.core.rst
│ ├── db.async_session.rst
│ ├── configuration.core.rst
│ ├── logging.applogger.rst
│ ├── validation.schemas.rst
│ ├── book_server_api.core.rst
│ ├── book_server_api.main.rst
│ ├── response_helpers.core.rst
│ ├── book_server_api.localconfig.rst
│ ├── book_server_api.routers.auth.rst
│ ├── book_server_api.routers.books.rst
│ ├── book_server_api.routers.coach.rst
│ ├── book_server_api.routers.discuss.rst
│ ├── book_server_api.routers.rslogging.rst
│ ├── book_server_api.routers.assessment.rst
│ ├── configuration.rst
│ ├── db.rst
│ ├── logging.rst
│ ├── validation.rst
│ ├── response_helpers.rst
│ ├── templates.rst
│ └── cl_utils.rst
└── graffle
│ └── Phased Approach to Polylith.graffle
├── migrations
└── README
├── poetry.toml
├── workspace.toml
└── .github
├── CODEOWNERS
└── ISSUE_TEMPLATE
└── config.yml
/bases/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/development/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/projects/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/development/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/db/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/auth/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/forms/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/logging/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/author_server_api/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/book_server_api/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/data_extract/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/templates/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/validation/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/visualization/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/bases/rsptx/rsmanage/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/auth/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/db/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/lp_sim_builder/core.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/projects/dash_server/.gitignore:
--------------------------------------------------------------------------------
1 | cache
2 |
--------------------------------------------------------------------------------
/test/bases/rsptx/interactives/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/bases/rsptx/web2py_server/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/analytics/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/cl_utils/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/forms/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/logging/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/practice/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/templates/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/admin_server_api/routers/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/book_server_api/routers/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/scripts/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/bases/rsptx/author_server_api/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/bases/rsptx/book_server_api/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/bases/rsptx/dash_server_api/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/build_tools/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/configuration/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/data_extract/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/exceptions/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/lp_sim_builder/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/validation/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/visualization/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/routers/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/contrib/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/source/readme.rst:
--------------------------------------------------------------------------------
1 | .. include:: ../../README.rst
--------------------------------------------------------------------------------
/test/bases/rsptx/assignment_server_api/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/endpoint_validators/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/grading_helpers/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/components/rsptx/response_helpers/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/fitb/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/poll/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/reveal/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/site-packages/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/migrations/README:
--------------------------------------------------------------------------------
1 | Generic single-database configuration.
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/activecode/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/test/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/dragndrop/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/groupsub/css/groupsub.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/matrixeq/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/mchoice/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/parsons/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/question/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/shortanswer/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/showeval/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/tabbedStuff/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/private/hosts.deny:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/.gitmodules:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/errors/.keep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/clickableArea/test/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/MANIFEST.in:
--------------------------------------------------------------------------------
1 | include VERSION LICENSE
2 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/launch_data_storage/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/poetry.toml:
--------------------------------------------------------------------------------
1 | [virtualenvs]
2 | path = ".venv"
3 | in-project = true
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/test/test_error/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/matching/.gitignore:
--------------------------------------------------------------------------------
1 | test/_static
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/modules/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/.prettierignore:
--------------------------------------------------------------------------------
1 | views
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/contrib/markmin/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/pydal/tools/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/__init__.py:
--------------------------------------------------------------------------------
1 | __version__ = "2.0.0"
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_static/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/fitb/__init__.py:
--------------------------------------------------------------------------------
1 | from .fitb import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/meta/__init__.py:
--------------------------------------------------------------------------------
1 | from .meta import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/poll/__init__.py:
--------------------------------------------------------------------------------
1 | from .poll import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/video/__init__.py:
--------------------------------------------------------------------------------
1 | from .video import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/_compat.py:
--------------------------------------------------------------------------------
1 | from pydal._compat import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/pydal/contrib/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/pydal/helpers/__init__.py:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/__init__.py:
--------------------------------------------------------------------------------
1 | from .blockly import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/test/test_error/_sources/index.rst:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/disqus/__init__.py:
--------------------------------------------------------------------------------
1 | from .disqus import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/groupsub/__init__.py:
--------------------------------------------------------------------------------
1 | from .groupsub import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/hparsons/__init__.py:
--------------------------------------------------------------------------------
1 | from .hparsons import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/khanex/__init__.py:
--------------------------------------------------------------------------------
1 | from .khanex import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/matrixeq/__init__.py:
--------------------------------------------------------------------------------
1 | from .matrixeq import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/parsons/__init__.py:
--------------------------------------------------------------------------------
1 | from .parsons import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/question/__init__.py:
--------------------------------------------------------------------------------
1 | from .question import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/quizly/__init__.py:
--------------------------------------------------------------------------------
1 | from .quizly import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/reveal/__init__.py:
--------------------------------------------------------------------------------
1 | from .reveal import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/showeval/__init__.py:
--------------------------------------------------------------------------------
1 | from .showeval import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/utility/__init__.py:
--------------------------------------------------------------------------------
1 | from .utility import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/contrib/fastapi/launch_data_storage/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/codelens/__init__.py:
--------------------------------------------------------------------------------
1 | from .visualizer import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/dragndrop/__init__.py:
--------------------------------------------------------------------------------
1 | from .dragndrop import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/server/__init__.py:
--------------------------------------------------------------------------------
1 | from .componentdb import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/timed/__init__.py:
--------------------------------------------------------------------------------
1 | from .timedassessment import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/wavedrom/__init__.py:
--------------------------------------------------------------------------------
1 | from .wavedrom import setup
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/webgldemo/__init__.py:
--------------------------------------------------------------------------------
1 | from .webgldemo import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/.gitignore:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/sanitizer.py:
--------------------------------------------------------------------------------
1 | from yatl.sanitizer import sanitize
2 |
--------------------------------------------------------------------------------
/test/bases/rsptx/admin_server_api/__init__.py:
--------------------------------------------------------------------------------
1 | # Test package for admin_server_api
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/chapterdb/__init__.py:
--------------------------------------------------------------------------------
1 | from .dbchapterinfo import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/clickableArea/__init__.py:
--------------------------------------------------------------------------------
1 | from .clickable import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/selectquestion/__init__.py:
--------------------------------------------------------------------------------
1 | from .selectone import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/shortanswer/__init__.py:
--------------------------------------------------------------------------------
1 | from .shortanswer import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/spreadsheet/__init__.py:
--------------------------------------------------------------------------------
1 | from .spreadsheet import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/tabbedStuff/__init__.py:
--------------------------------------------------------------------------------
1 | from .tabbedStuff import *
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/VERSION:
--------------------------------------------------------------------------------
1 | Version 2.23.1-stable+timestamp.2023.01.31.08.01.46
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "esversion": 8
3 | }
4 |
--------------------------------------------------------------------------------
/components/rsptx/auth/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.auth import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/bases/rsptx/rsmanage/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.rsmanage import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/docs/requirements.txt:
--------------------------------------------------------------------------------
1 | sphinxcontrib-napoleon>=0.2.4
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/template.py:
--------------------------------------------------------------------------------
1 | from yatl.template import render, parse_template
2 |
--------------------------------------------------------------------------------
/components/rsptx/cl_utils/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.cl_utils import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/components/rsptx/practice/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.practice import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/public/runestone:
--------------------------------------------------------------------------------
1 | ../../../interactives/runestone/dist
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/store/index.ts:
--------------------------------------------------------------------------------
1 | export { store } from "./store";
2 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/vitest.setup.ts:
--------------------------------------------------------------------------------
1 | import "@testing-library/jest-dom";
2 |
--------------------------------------------------------------------------------
/components/rsptx/build_tools/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.build_tools import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/components/rsptx/exceptions/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.exceptions import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/bases/rsptx/admin_server_api/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.admin_server_api import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.web2py_server import core
2 |
3 | __all__ = ["core"]
4 |
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/.coveralls.yml:
--------------------------------------------------------------------------------
1 | repo_token: luElJYbYOu3bnb0nka7qFTq0xbyGxrP9a
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/modules/.gitignore:
--------------------------------------------------------------------------------
1 | # Except this file
2 | !.gitignore
3 |
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/books/published.html:
--------------------------------------------------------------------------------
1 | {{ extend 'books/index.html' }}
2 |
--------------------------------------------------------------------------------
/bases/rsptx/dash_server_api/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.dash_server_api import core
2 |
3 | __all__ = ["core"]
4 |
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/.git-blame-ignore-revs:
--------------------------------------------------------------------------------
1 | ed4b5bca88882e20398ae92777d470bee7571363
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_sources/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | # except
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/components/rsptx/response_helpers/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.response_helpers import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.assignment_server_api import core
2 |
3 | __all__ = ["core"]
4 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/.env.development:
--------------------------------------------------------------------------------
1 | VITE_LOAD_PREFIX=/runestone
2 | VITE_BASE_URL=/
3 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/.gitignore:
--------------------------------------------------------------------------------
1 | build
2 | build_info
3 | sphinx_settings.json
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/requirements-rtd.txt:
--------------------------------------------------------------------------------
1 | CodeChat
2 | myst_parser
3 | sphinx_rtd_theme
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/ads.txt:
--------------------------------------------------------------------------------
1 | google.com, pub-8347101402675282, DIRECT, f08c47fec0942fa0
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/.gitignore:
--------------------------------------------------------------------------------
1 | published/
2 | build/
3 | build_info
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/yatl/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from .test_template import *
2 | from .test_helpers import *
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/router/index.ts:
--------------------------------------------------------------------------------
1 | export { routerService } from "./RouterService";
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/reveal/css/reveal.css:
--------------------------------------------------------------------------------
1 | .iguide {
2 | background-color: #ddffdd;
3 | padding: 1em;
4 | }
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/animation/__init__.py:
--------------------------------------------------------------------------------
1 | # *********
2 | # |docname|
3 | # *********
4 | from .animation import *
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/views/default/files_menu.html:
--------------------------------------------------------------------------------
1 | {{for files in result_files:}}
2 | {{=files}}
3 | {{pass}}
--------------------------------------------------------------------------------
/test/components/rsptx/db/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.db import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/activecode/__init__.py:
--------------------------------------------------------------------------------
1 | # *********
2 | # |docname|
3 | # *********
4 | from .activecode import *
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/setup.cfg:
--------------------------------------------------------------------------------
1 | [aliases]
2 | release = egg_info -RDb ''
3 |
4 | [wheel]
5 | universal = 1
6 |
--------------------------------------------------------------------------------
/components/rsptx/analytics/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.analytics.core import log_this_function
2 |
3 | __all__ = ["log_this_function"]
4 |
--------------------------------------------------------------------------------
/test/components/rsptx/auth/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.auth import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/forms/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.forms import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/generic.json:
--------------------------------------------------------------------------------
1 | {{from gluon.serializers import json}}{{=XML(json(response._vars))}}
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/parameters_8000.py:
--------------------------------------------------------------------------------
1 | password="pbkdf2(1000,20,sha512)$99100eca6bbda7d9$3e99a74d606c414f03bad69847f5e7f1bb7bc34f"
2 |
--------------------------------------------------------------------------------
/projects/jobe/container.test.yml:
--------------------------------------------------------------------------------
1 | # This file gets triggerd by Docker Hub
2 | sut:
3 | build: .
4 | command: bash /container-test.sh
5 |
--------------------------------------------------------------------------------
/projects/jobe/files/hamcrest-all-1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/projects/jobe/files/hamcrest-all-1.3.jar
--------------------------------------------------------------------------------
/projects/jobe/files/junit-4.13-beta-3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/projects/jobe/files/junit-4.13-beta-3.jar
--------------------------------------------------------------------------------
/test/bases/rsptx/rsmanage/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.rsmanage import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/logging/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.logging import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/bases/rsptx/book_server_api/runestone_dev.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/book_server_api/runestone_dev.db
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/css/presenter_mode.less:
--------------------------------------------------------------------------------
1 | .runestone-sphinx {
2 | @import (less) url("./presenter_mode.css");
3 | }
4 |
--------------------------------------------------------------------------------
/test/bases/rsptx/interactives/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.interactives import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/analytics/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.analytics import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/cl_utils/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.cl_utils import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/exceptions/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.exceptions import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/practice/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.practice import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/templates/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.templates import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/validation/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.validation import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/types/treeNode.ts:
--------------------------------------------------------------------------------
1 | export type SelectedKey = { checked: boolean; partialChecked: boolean };
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/mchoice/.gitignore:
--------------------------------------------------------------------------------
1 | *.woff2
2 | *.woff
3 | *.ttf
4 | *.eot
5 | *.svg
6 |
7 | node_modules/
8 | bower_components/
9 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/mchoice/__init__.py:
--------------------------------------------------------------------------------
1 | from .multiplechoice import *
2 | from .assessbase import *
3 | from .assess import *
4 |
5 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/timed/css/timed.less:
--------------------------------------------------------------------------------
1 | .ptx-runestone-container,.runestone-sphinx {
2 | @import (less) url("./timed.css");
3 | }
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/default/error.html:
--------------------------------------------------------------------------------
1 | {{extend 'layout.html'}}
2 |
3 |
Error: the document does not exist
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/generic.xml:
--------------------------------------------------------------------------------
1 | {{from gluon.serializers import xml}}{{=XML(xml(response._vars,quote=False))}}
2 |
--------------------------------------------------------------------------------
/test/bases/rsptx/book_server_api/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.book_server_api import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/bases/rsptx/dash_server_api/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.dash_server_api import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/bases/rsptx/web2py_server/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.web2py_server import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/build_tools/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.build_tools import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/data_extract/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.data_extract import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/extras/icons/web2py.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/extras/icons/web2py.gif
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/extras/icons/web2py.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/extras/icons/web2py.ico
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/yatl/yatl/__init__.py:
--------------------------------------------------------------------------------
1 | __version__ = '20211217.1'
2 |
3 | from . template import *
4 | from . helpers import *
5 |
--------------------------------------------------------------------------------
/components/rsptx/validation/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.validation import core
2 | from rsptx.validation import schemas
3 |
4 | __all__ = ["core", "schemas"]
5 |
--------------------------------------------------------------------------------
/docs/graffle/Phased Approach to Polylith.graffle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/docs/graffle/Phased Approach to Polylith.graffle
--------------------------------------------------------------------------------
/projects/interactives/images/runeCompo-index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/projects/interactives/images/runeCompo-index.png
--------------------------------------------------------------------------------
/test/bases/rsptx/author_server_api/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.author_server_api import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/configuration/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.configuration import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/grading_helpers/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.grading_helpers import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/lp_sim_builder/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.lp_sim_builder import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/visualization/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.visualization import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/index.ts:
--------------------------------------------------------------------------------
1 | export { AssignmentBuilder } from "./AssignmentBuilder";
2 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/types/common.ts:
--------------------------------------------------------------------------------
1 | export type Optional = T | undefined;
2 |
3 | export type Nullable = T | null;
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/extras/icons/web2py.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/extras/icons/web2py.icns
--------------------------------------------------------------------------------
/components/rsptx/templates/staticAssets/RAIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/components/rsptx/templates/staticAssets/RAIcon.png
--------------------------------------------------------------------------------
/docs/source/db.core.rst:
--------------------------------------------------------------------------------
1 | db.core module
2 | ==============
3 |
4 | .. automodule:: db.core
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/db.crud.rst:
--------------------------------------------------------------------------------
1 | db.crud module
2 | ==============
3 |
4 | .. automodule:: db.crud
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/test/components/rsptx/response_helpers/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.response_helpers import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/codelens/css/x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/codelens/css/x.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/extras/icons/splashlogo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/extras/icons/splashlogo.gif
--------------------------------------------------------------------------------
/docs/source/db.models.rst:
--------------------------------------------------------------------------------
1 | db.models module
2 | ================
3 |
4 | .. automodule:: db.models
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/test/bases/rsptx/assignment_server_api/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.assignment_server_api import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/test/components/rsptx/endpoint_validators/test_core.py:
--------------------------------------------------------------------------------
1 | from rsptx.endpoint_validators import core
2 |
3 |
4 | def test_sample():
5 | assert core is not None
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/css/active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/css/active.png
--------------------------------------------------------------------------------
/components/rsptx/configuration/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.configuration import core
2 | from rsptx.configuration.core import settings
3 |
4 | __all__ = ["core", "settings"]
5 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/contrib/fastapi/session.py:
--------------------------------------------------------------------------------
1 | from ...session import SessionService
2 |
3 |
4 | class FastAPISessionService(SessionService):
5 | pass
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/activecode/css/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/activecode/css/close.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/1x1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/1x1.gif
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/css/completed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/css/completed.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/contrib/markmin/markmin.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/gluon/contrib/markmin/markmin.pdf
--------------------------------------------------------------------------------
/components/rsptx/visualization/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.visualization import core
2 | from rsptx.visualization import authorImpact
3 |
4 | __all__ = ["core", "authorImpact"]
5 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/click.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/click.mp3
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/click.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/click.ogg
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/click.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/click.wav
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/delete.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/delete.mp3
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/delete.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/delete.ogg
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/delete.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/delete.wav
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/quote0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/quote0.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/quote1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/quote1.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/tree.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_sources/test_chapter_1/subchapter_a.rst:
--------------------------------------------------------------------------------
1 | ============
2 | Subchapter A
3 | ============
4 | This is empty.
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/tests/_compat.py:
--------------------------------------------------------------------------------
1 | import sys
2 |
3 | if sys.version < "2.7":
4 | import unittest2 as unittest
5 | else:
6 | import unittest
7 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/handopen.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/handopen.cur
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/trashlid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/trashlid.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/validators.py:
--------------------------------------------------------------------------------
1 | from pydal.validators import *
2 | from pydal.validators import simple_hash, get_digest, Validator, ValidationError, translate, __all__
3 |
--------------------------------------------------------------------------------
/docs/source/logging.core.rst:
--------------------------------------------------------------------------------
1 | logging.core module
2 | ===================
3 |
4 | .. automodule:: rsptx.logging.core
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/activecode/js/skulpt.min.js.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/activecode/js/skulpt.min.js.gz
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/handclosed.cur:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/handclosed.cur
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/js/media/trashbody.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/blockly/js/media/trashbody.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/chat.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/help.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/menu.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/favicon.ico
--------------------------------------------------------------------------------
/components/rsptx/templates/__init__.py:
--------------------------------------------------------------------------------
1 | from pathlib import Path
2 | from rsptx.templates import core
3 |
4 | __all__ = ["core"]
5 |
6 | template_folder = Path(__file__).parent.absolute()
7 |
--------------------------------------------------------------------------------
/docs/source/validation.core.rst:
--------------------------------------------------------------------------------
1 | validation.core module
2 | ======================
3 |
4 | .. automodule:: validation.core
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/folder.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/search.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/start.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/start.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/admin/sections_create.html:
--------------------------------------------------------------------------------
1 | {{extend 'layout.html'}}
2 | All Sections
3 | Create New Section
4 | {{=form}}
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/default/bio.html:
--------------------------------------------------------------------------------
1 | {{extend 'layout.html'}}
2 |
3 | {{block statusbar}}
4 | {{end}}
5 |
6 | Tell Us About Yourself
7 | {{=form}}
8 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/tool_config/__init__.py:
--------------------------------------------------------------------------------
1 | # flake8: noqa
2 | from .abstract import ToolConfAbstract
3 | from .dict import ToolConfDict
4 | from .json_file import ToolConfJsonFile
5 |
--------------------------------------------------------------------------------
/docs/source/db.async_session.rst:
--------------------------------------------------------------------------------
1 | db.async\_session module
2 | ========================
3 |
4 | .. automodule:: db.async_session
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/.env.production:
--------------------------------------------------------------------------------
1 | VITE_LOAD_PREFIX=/assignment/react/runestone
2 | BASE_URL=/assignment/instructor/builder
3 |
4 | VITE_BASE_URL=/assignment/instructor
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/assignment_server_api/assignment_builder/public/favicon.ico
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/assignment_server_api/assignment_builder/public/logo192.png
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/assignment_server_api/assignment_builder/public/logo512.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/images/play_overlay_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/images/play_overlay_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/embossed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/embossed.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/folder_sm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/folder_sm.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/header_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/header_bg.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/questions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/questions.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/save_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/save_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/spinner.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/spinner.gif
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/test_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/test_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/down.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/file.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/plus.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/up.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/anon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/anon.jpg
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.lti1p3 import core
2 | from rsptx.lti1p3 import tool_conf_rs
3 | from rsptx.lti1p3 import caches
4 |
5 | __all__ = ["core", "tool_conf_rs", "caches"]
6 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/actions.py:
--------------------------------------------------------------------------------
1 | import typing_extensions as te
2 |
3 |
4 | class Action:
5 | OIDC_LOGIN: te.Final = "oidc_login"
6 | MESSAGE_LAUNCH: te.Final = "message_launch"
7 |
--------------------------------------------------------------------------------
/projects/assignment_server/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Make sure the wheel for this project is up to date
4 | poetry build-project
5 |
6 | # Build the Docker image
7 | docker build -t assignment .
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CopyExercise/index.ts:
--------------------------------------------------------------------------------
1 | export { CopyExerciseModal } from "./CopyExerciseModal";
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/hparsons/test/_sources/_static/test.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/hparsons/test/_sources/_static/test.db
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/delete_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/delete_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/dim_bullet.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/dim_bullet.gif
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/red_bullet.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/red_bullet.gif
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/models/toctree.rst:
--------------------------------------------------------------------------------
1 | *************
2 | Web2py models
3 | *************
4 |
5 | .. toctree::
6 | :maxdepth: 2
7 | :glob:
8 |
9 | *.py
10 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/scripts/toctree.rst:
--------------------------------------------------------------------------------
1 | ************
2 | Misc scripts
3 | ************
4 |
5 | .. toctree::
6 | :maxdepth: 2
7 | :glob:
8 |
9 | *.py
10 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/clock.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/minus.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/RAIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/RAIcon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/shadow.png
--------------------------------------------------------------------------------
/docs/source/configuration.core.rst:
--------------------------------------------------------------------------------
1 | configuration.core module
2 | =========================
3 |
4 | .. automodule:: configuration.core
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/logging.applogger.rst:
--------------------------------------------------------------------------------
1 | logging.applogger module
2 | ========================
3 |
4 | .. automodule:: rsptx.logging.applogger
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/validation.schemas.rst:
--------------------------------------------------------------------------------
1 | validation.schemas module
2 | =========================
3 |
4 | .. automodule:: validation.schemas
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/activecode/test/_sources/_static/test.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/activecode/test/_sources/_static/test.db
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_static/clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/project_template/_static/clock.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/datafile/test/_sources/LutherBellPic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/datafile/test/_sources/LutherBellPic.jpg
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/hparsons/test/_sources/_static/hptest.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/hparsons/test/_sources/_static/hptest.db
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/spreadsheet/css/spreadsheet.css:
--------------------------------------------------------------------------------
1 | div.runestone .jexcel_container {
2 | max-height: 550px;
3 | overflow: scroll;
4 | max-width: 800px;
5 | overflow: scroll;
6 | }
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/codemirror/theme/ambiance-mobile.css:
--------------------------------------------------------------------------------
1 | .cm-s-ambiance.CodeMirror {
2 | -webkit-box-shadow: none;
3 | -moz-box-shadow: none;
4 | box-shadow: none;
5 | }
6 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/files_toggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/files_toggle.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/folder_locked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/folder_locked.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/header_shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/header_shadow.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/section_bullet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/section_bullet.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/sidebar_bullet.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/sidebar_bullet.gif
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/small_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/small_button.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/ticket_section.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/ticket_section.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/nsf-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/nsf-logo.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/ptx-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/ptx-logo.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/rsi_logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/rsi_logo.jpg
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/comment.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/contents.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/contents.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/completed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/completed.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/logo_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/logo_small.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/poweredby.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/poweredby.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/seperator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/seperator.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/spinner10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/spinner10.gif
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/rectangle_badge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/rectangle_badge.png
--------------------------------------------------------------------------------
/components/rsptx/logging/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.logging import core
2 | from rsptx.logging import applogger
3 | from rsptx.logging.applogger import rslogger
4 |
5 | __all__ = ["core", "applogger", "rslogger"]
6 |
--------------------------------------------------------------------------------
/projects/author_server/gitconfig:
--------------------------------------------------------------------------------
1 | [safe]
2 | directory = *
3 | [pull]
4 | rebase = false
5 | [user]
6 | name = Runestone Author Server
7 | email = runestoneinteractive@gmail.com
8 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/types/readings.ts:
--------------------------------------------------------------------------------
1 | export type GetAvailableReadingsPayload = {
2 | from_source_only: boolean;
3 | pages_only: boolean;
4 | skipreading: boolean;
5 | };
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/cellbotics/test/__init__.py:
--------------------------------------------------------------------------------
1 | # **********************************************
2 | # |docname| - Define this directory as a package
3 | # **********************************************
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/menu_responsive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/menu_responsive.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/.prettierrc.js:
--------------------------------------------------------------------------------
1 | // prettier.config.js or .prettierrc.js
2 | module.exports = {
3 | trailingComma: "es5",
4 | tabWidth: 4,
5 | printWidth: 89,
6 | };
7 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/last.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/last.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/next.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/prev.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/searchicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/searchicon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/searchicon2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/searchicon2.jpg
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/ajax-loader.gif
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/navigation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/navigation.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/up-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/up-pressed.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/Twitter_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/Twitter_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/handlers/README:
--------------------------------------------------------------------------------
1 | This folder contains example handlers.
2 | They must be copied to the web2py root folder in order to work properly.
3 | They should not be used in their current location.
4 |
--------------------------------------------------------------------------------
/components/rsptx/grading_helpers/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.grading_helpers import core
2 | from .core import grade_submission, score_reading_page
3 |
4 | __all__ = ["core", "grade_submission", "score_reading_page"]
5 |
--------------------------------------------------------------------------------
/docs/source/book_server_api.core.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.core module
2 | =============================
3 |
4 | .. automodule:: book_server_api.core
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/book_server_api.main.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.main module
2 | =============================
3 |
4 | .. automodule:: book_server_api.main
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/response_helpers.core.rst:
--------------------------------------------------------------------------------
1 | response\_helpers.core module
2 | =============================
3 |
4 | .. automodule:: response_helpers.core
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/book_server_api/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.book_server_api import core
2 | from rsptx.book_server_api import main
3 | from rsptx.book_server_api import __main__
4 |
5 | __all__ = ["core", "main", "__main__"]
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/accessibility/__init__.py:
--------------------------------------------------------------------------------
1 | # ************************************
2 | # |docname| - the accessibility module
3 | # ************************************
4 | from .accessibility import *
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/sidebar_background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/sidebar_background.jpg
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/plugin_multiselect/switch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/plugin_multiselect/switch.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/clock.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/close.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/first.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/first.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/pause.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/scripts/sumuse:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ps -u bnmnetp -o rss,pid,ppid,command
3 | echo "-----"
4 | ps -u bnmnetp -o rss,pid,ppid,command | awk '{sum += $1 }; END {print sum}' -
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/UT_Square_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/UT_Square_logo.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/logo-trademark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/logo-trademark.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/comment-bright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/comment-bright.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/comment-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/comment-close.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_static/down-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_static/down-pressed.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/Facebook_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/Facebook_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/RAIcon_cropped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/RAIcon_cropped.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/arrows-ffffff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/arrows-ffffff.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/shadow-section.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/shadow-section.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/admin/progress.html:
--------------------------------------------------------------------------------
1 | HOME
2 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
--------------------------------------------------------------------------------
/bases/rsptx/author_server_api/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.author_server_api import core
2 | from rsptx.author_server_api import worker
3 | from rsptx.author_server_api import main
4 |
5 | __all__ = ["core", "main", "worker"]
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.interactives import core
2 | from rsptx.interactives.runestone import __main__
3 | from rsptx.interactives import runestone
4 |
5 | __all__ = ["core", "__main__", "runestone"]
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/dragndrop/css/dragndrop.less:
--------------------------------------------------------------------------------
1 | .ptx-runestone-container,.runestone-sphinx {
2 | @import (less) url("./dragndrop.css");
3 | }
4 |
5 | @import (less) url("../../common/css/variables.less");
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/matching/css/matching.less:
--------------------------------------------------------------------------------
1 | .ptx-runestone-container,
2 | .runestone-sphinx {
3 | @import (less) url("./matching.css");
4 | }
5 |
6 | @import (less) url("../../common/css/variables.less");
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/glyphicons-halflings.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/small_special_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/small_special_button.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/plugin_multiselect/start.js:
--------------------------------------------------------------------------------
1 | jQuery(document).ready(function(){jQuery('[multiple]').multiSelect({selectableHeader:'Options',selectedHeader:'Selected'});});
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/controllers/toctree.rst:
--------------------------------------------------------------------------------
1 | ******************
2 | Web2py controllers
3 | ******************
4 |
5 | .. toctree::
6 | :maxdepth: 2
7 | :glob:
8 |
9 | *.py
10 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/U-M-logo-preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/U-M-logo-preview.jpg
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/dashboard/icons/cohorts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/dashboard/icons/cohorts.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/dashboard/icons/settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/dashboard/icons/settings.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/RunestoneBanner0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/RunestoneBanner0.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/RunestoneBanner1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/RunestoneBanner1.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/RunestoneBanner2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/RunestoneBanner2.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/RunestoneVenmoQR.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/RunestoneVenmoQR.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/css3buttons_icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/css3buttons_icons.png
--------------------------------------------------------------------------------
/components/rsptx/db/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.db import core
2 | from rsptx.db import models
3 | from rsptx.db import async_session
4 | from rsptx.db import crud
5 |
6 | __all__ = ["core", "crud", "models", "async_session"]
7 |
--------------------------------------------------------------------------------
/components/rsptx/forms/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.forms import core
2 | from rsptx.forms.author import LibraryForm, DatashopForm, DatashopInstForm
3 |
4 | __all__ = ["core", "LibraryForm", "DatashopForm", "DatashopInstForm"]
5 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/activecode/test/_sources/_static/LutherBellPic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/activecode/test/_sources/_static/LutherBellPic.jpg
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/shortanswer/test/_sources/Figures/LutherBellPic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/shortanswer/test/_sources/Figures/LutherBellPic.jpg
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/codemirror/addon/display/fullscreen.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-fullscreen {
2 | position: fixed;
3 | top: 0; left: 0; right: 0; bottom: 0;
4 | height: auto;
5 | z-index: 9;
6 | }
7 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/iphone.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/iphone.jpg
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/SIGCSE-logo-large.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/SIGCSE-logo-large.jpg
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/dashboard/icons/gradebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/dashboard/icons/gradebook.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/glyphicons-halflings.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/clock.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/close.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/first.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/first.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/last.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/last.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/next.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/pause.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/prev.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/images/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/images/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/30px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/30px.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/32px.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/activecode/test/_sources/progresspage.rst:
--------------------------------------------------------------------------------
1 | Progress Bar Testing
2 | ====================
3 |
4 | .. activecode:: test_activecode_5
5 |
6 | print("Hello World")
7 |
8 |
9 | End of test1
10 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/__init__.py:
--------------------------------------------------------------------------------
1 | from .runestonedirective import (
2 | setup,
3 | RunestoneDirective,
4 | RunestoneIdDirective,
5 | RunestoneNode,
6 | RunestoneIdNode,
7 | get_node_line,
8 | )
9 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/languages/plural-en.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 | {
4 | # "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
5 | 'file': ['files'],
6 | }
7 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/ajax-loader.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/ajax-loader.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/activecodethumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/activecodethumb.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/modules/__init__.py:
--------------------------------------------------------------------------------
1 | # **************************
2 | # |docname| - web2py modules
3 | # **************************
4 | # .. toctree::
5 | # :maxdepth: 2
6 | # :glob:
7 | #
8 | # *.py
9 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/Texas__oneColor_orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/Texas__oneColor_orange.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/dashboard/icons/gradebook copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/dashboard/icons/gradebook copy.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/css3buttons_backgrounds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/css3buttons_backgrounds.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/ui-icons_222222_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/ui-icons_222222_256x240.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/throbber.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/throbber.gif
--------------------------------------------------------------------------------
/bases/rsptx/admin_server_api/README.md:
--------------------------------------------------------------------------------
1 | ## Readme
2 |
3 | This server is intended to handle all routes related to course administration, user authorization, and lti setup and launches.
4 |
5 | Currently implemented:
6 |
7 | * LTI1.3 routes
8 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/PollExercise/components/index.ts:
--------------------------------------------------------------------------------
1 | export { PollQuestionEditor } from "./PollQuestionEditor";
2 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/icons-18-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/icons-18-black.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/icons-18-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/icons-18-white.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/icons-36-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/icons-36-black.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/icons-36-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/static/plugin_jqmobile/images/icons-36-white.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/GettingStartedWithRunestone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/GettingStartedWithRunestone.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/images/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/images/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/docs/source/book_server_api.localconfig.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.localconfig module
2 | ====================================
3 |
4 | .. automodule:: book_server_api.localconfig
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/book_server_api.routers.auth.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.routers.auth module
2 | =====================================
3 |
4 | .. automodule:: book_server_api.routers.auth
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/.jshintignore:
--------------------------------------------------------------------------------
1 | # Disables JSHint for the React part of the application, as it's better to use ESLint + Prettier.
2 | # After the full migration to React, JSHint can be completely removed.
3 | src
4 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MatchingExercise/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export { useMatchingConnections } from "./useMatchingConnections";
2 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/animation/README.rst:
--------------------------------------------------------------------------------
1 | Animation Directive
2 | ===================
3 |
4 |
5 | Sources:
6 |
7 | CSS:
8 |
9 | None yet
10 |
11 | JS:
12 |
13 | This is the master repository for all js code in this directive.
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/fitb/js/fitb-i18n.sr-Cyrl.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | "sr-Cyrl": {
3 | msg_no_answer: "Неодговорено.",
4 | msg_fitb_check_me: "Провери",
5 | msg_fitb_compare_me: "Упореди",
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/controllers/plugin_jqmobile.py:
--------------------------------------------------------------------------------
1 | response.files = response.files[:3]
2 | response.menu = []
3 |
4 |
5 | def index():
6 | return locals()
7 |
8 |
9 | def about():
10 | return locals()
11 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/languages/plural-ru.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 | {
4 | # "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
5 | 'файл': ['файла','файлов'],
6 | }
7 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/SPP_Logo_Horizontal_Final2020.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/SPP_Logo_Horizontal_Final2020.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/_images/luther_college_vertical_blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/_images/luther_college_vertical_blue.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/activecodethumb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/activecodethumb.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/img/logo_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/img/logo_small.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/MANIFEST.in:
--------------------------------------------------------------------------------
1 | include LICENSE
2 | include AUTHORS
3 | include CHANGES
4 | recursive-include tests *
5 | recursive-exclude tests .DS_Store
6 | recursive-include docs *
7 | recursive-exclude docs .DS_Store
8 |
--------------------------------------------------------------------------------
/docs/source/book_server_api.routers.books.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.routers.books module
2 | ======================================
3 |
4 | .. automodule:: book_server_api.routers.books
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/docs/source/book_server_api.routers.coach.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.routers.coach module
2 | ======================================
3 |
4 | .. automodule:: book_server_api.routers.coach
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/lp/css/html4css1.css:
--------------------------------------------------------------------------------
1 | /*
2 | ****************************
3 | |docname| - Dummy CSS for LP
4 | ****************************
5 | This file is blank for Runestone -- other CodeChat instances supply something useful here.
6 | */
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/__pycache__/pavement.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/__pycache__/pavement.cpython-39.pyc
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/DragAndDropExercise/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export { useDragAndDropConnections } from "./useDragAndDropConnections";
2 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/ShortAnswerExercise/components/index.ts:
--------------------------------------------------------------------------------
1 | export { ShortAnswerInstructions } from "./ShortAnswerInstructions";
2 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/TipTap/components/index.ts:
--------------------------------------------------------------------------------
1 | export { TableColumnMenu } from "./TableColumnMenu";
2 | export { TableRowMenu } from "./TableRowMenu";
3 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/fitb/js/fitb-i18n.pt-br.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | "pt-br": {
3 | msg_no_answer: "Nenhuma resposta dada.",
4 | msg_fitb_check_me: "Verificar",
5 | msg_fitb_compare_me: "Comparar"
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/extras/build_web2py/README.md:
--------------------------------------------------------------------------------
1 | # build-web2py
2 |
3 | The files in this folder must be run from the main web2py folder.
4 | They are for building windows and osx binary distribution using PyInstaller and not meant for the end user.
5 |
--------------------------------------------------------------------------------
/docs/source/book_server_api.routers.discuss.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.routers.discuss module
2 | ========================================
3 |
4 | .. automodule:: book_server_api.routers.discuss
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/TipTap/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export { useTableColumnMenu } from "./useTableColumnMenu";
2 | export { useTableRowMenu } from "./useTableRowMenu";
3 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/settings.cfg:
--------------------------------------------------------------------------------
1 | [editor]
2 | theme = twilight
3 | editor = sublime
4 | closetag = true
5 | tabwidth = 4
6 | highlightline = true
7 | linenumbers = true
8 | codefolding = false
9 | indentwithtabs = false
10 |
11 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line01.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line01.mp3
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line01.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line01.wav
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line02.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line02.mp3
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line02.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line02.wav
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line03.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line03.mp3
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line03.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_static/audio/Example04_Tour01_Line03.wav
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/pydal/__init__.py:
--------------------------------------------------------------------------------
1 | __version__ = "20220814.1"
2 |
3 | from .base import DAL
4 | from .helpers.classes import SQLCustomType
5 | from .helpers.methods import geoLine, geoPoint, geoPolygon
6 | from .objects import Field
7 |
--------------------------------------------------------------------------------
/components/rsptx/data_extract/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.data_extract import core
2 | from rsptx.data_extract import anonymizeCourseData
3 | from rsptx.data_extract.anonymizeCourseData import Anonymizer
4 |
5 | __all__ = ["core", "anonymizeCourseData", "Anonymizer"]
6 |
--------------------------------------------------------------------------------
/docs/source/book_server_api.routers.rslogging.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.routers.rslogging module
2 | ==========================================
3 |
4 | .. automodule:: book_server_api.routers.rslogging
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # *******************
2 | # |docname| - testing
3 | # *******************
4 | # .. toctree::
5 | # :maxdepth: 2
6 | # :glob:
7 | #
8 | # README
9 | # *.py
10 | # test_course_1/*.py
11 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/yatl/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | envlist = py27,pypy,pypy3,py33,py34,py35,py36,py37
3 |
4 | [testenv]
5 | deps =
6 | coverage: coverage
7 | commands =
8 | py27,pypy,pypy3,py33,py34,py35,py36,py37: {envpython} -m unittest -v -f tests
--------------------------------------------------------------------------------
/components/rsptx/templates/staticAssets/js/jquery-fix.js:
--------------------------------------------------------------------------------
1 | // The Bootstrap-based Sphinx theme uses $jqTheme
2 | // Setting $ is needed to override the (old!) version of jQuery packaged with Sphinx
3 | var $jqTheme = jQuery.noConflict();
4 | var $ = jQuery.noConflict();
5 |
--------------------------------------------------------------------------------
/docs/source/book_server_api.routers.assessment.rst:
--------------------------------------------------------------------------------
1 | book\_server\_api.routers.assessment module
2 | ===========================================
3 |
4 | .. automodule:: book_server_api.routers.assessment
5 | :members:
6 | :undoc-members:
7 | :show-inheritance:
8 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/sessions/10e/1c6/127.0.0.1-cb884fdc-c31c-4179-9434-43db4b7df05e:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/admin/sessions/10e/1c6/127.0.0.1-cb884fdc-c31c-4179-9434-43db4b7df05e
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/css/html4css1.css:
--------------------------------------------------------------------------------
1 | /*
2 | ****************************
3 | |docname| - Dummy CSS for LP
4 | ****************************
5 | This file is blank for Runestone -- other CodeChat instances supply something useful here.
6 | */
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_sources/test_chapter_1/toctree.rst:
--------------------------------------------------------------------------------
1 | ==============
2 | Test chapter 1
3 | ==============
4 |
5 | .. toctree::
6 | :maxdepth: 2
7 |
8 | subchapter_a
9 | subchapter_b
10 | dynamicquestions
--------------------------------------------------------------------------------
/workspace.toml:
--------------------------------------------------------------------------------
1 | [tool.polylith]
2 | namespace = "rsptx"
3 | git_tag_pattern = "stable-*"
4 |
5 | [tool.polylith.structure]
6 | theme = "loose"
7 |
8 | [tool.polylith.resources]
9 | brick_docs_enabled = false
10 |
11 | [tool.polylith.test]
12 | enabled = true
13 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 100,
3 | "singleQuote": false,
4 | "trailingComma": "none",
5 | "bracketSpacing": true,
6 | "bracketSameLine": false,
7 | "tabWidth": 2,
8 | "endOfLine": "auto"
9 | }
10 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/FillInTheBlankExercise/index.ts:
--------------------------------------------------------------------------------
1 | export { FillInTheBlankExercise } from "./FillInTheBlankExercise";
2 | export * from "./types";
3 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/views/default.mobile/change_password.html:
--------------------------------------------------------------------------------
1 | {{extend 'default.mobile/layout.html'}}
2 |
3 | {{block sectionclass}}change_password{{end}}
4 |
5 | Change Admin Password
6 |
7 |
8 | {{=form}}
9 |
10 |
11 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line01.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line01.mp3
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line01.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line01.wav
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line02.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line02.mp3
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line02.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line02.wav
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line03.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line03.mp3
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line03.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_static/audio/Example04_Tour01_Line03.wav
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/.codecov.yml:
--------------------------------------------------------------------------------
1 | codecov:
2 | branch: master
3 |
4 | coverage:
5 | precision: 2
6 | round: down
7 | range: "70...100"
8 |
9 | status:
10 | changes: false
11 |
12 | comment:
13 | layout: "header, diff, changes"
14 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/accessibility/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | css/*.css
10 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/assignment/toctree.rst:
--------------------------------------------------------------------------------
1 | **************************************************
2 | Assignment - directives for creating an assignment
3 | **************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | __init__.py
8 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/ABOUT:
--------------------------------------------------------------------------------
1 | web2py is an open source full-stack framework for agile development
2 | of secure database-driven web-based applications, written and programmable in
3 | Python.
4 |
5 | Created by Massimo Di Pierro
6 |
7 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jquery-fix.js:
--------------------------------------------------------------------------------
1 | // The Bootstrap-based Sphinx theme uses $jqTheme
2 | // Setting $ is needed to override the (old!) version of jQuery packaged with Sphinx
3 | var $jqTheme = jQuery.noConflict();
4 | var $ = jQuery.noConflict();
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/admin/studentactivity.html:
--------------------------------------------------------------------------------
1 | {{extend 'layout.html'}}
2 |
3 | Student Activity Summary
4 | {{=SQLTABLE(grid,headers={'useinfo.sid':'Student','COUNT(useinfo.id)':'Number','MAX(useinfo.timestamp)':'Last Activity'})}}
5 |
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/animation/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Animation
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | README
9 | *.py
10 | js/*.js
11 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/styles/_variables.scss:
--------------------------------------------------------------------------------
1 | /* General */
2 | $borderRadius:12px; /* border radius of layout element e.g. card, sidebar */
3 | $transitionDuration:.2s; /* transition duration of layout elements e.g. sidebar, overlay menus */
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/cellbotics/test/_sources/index.rst:
--------------------------------------------------------------------------------
1 | Cellbotics ActiveCode Test
2 | ==========================
3 | .. ble-pair-button::
4 |
5 | .. activecode:: test_cellbotics_1
6 |
7 | import cellbotics
8 | cellbotics.Accelerometer()
9 | print("Pass.")
10 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/fitb/js/fitb-i18n.en.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | en: {
3 | msg_no_answer: "No answer provided.",
4 | msg_fitb_check_me: "Check me",
5 | msg_fitb_compare_me: "Compare me",
6 | msg_fitb_randomize: "Randomize",
7 | },
8 | });
9 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/hparsons/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/controllers/oauth.py:
--------------------------------------------------------------------------------
1 | # This page provides an endpoint for getting an oauth redirect after an oauth verification process
2 | def index():
3 | full_url = URL(args=request.args, vars=request.get_vars, host=True)
4 | return {"url": full_url}
5 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/FillInTheBlankExercise/components/index.ts:
--------------------------------------------------------------------------------
1 | export { QuestionEditor } from "./QuestionEditor";
2 | export { BlankManager } from "./BlankManager";
3 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/sourcelink.html:
--------------------------------------------------------------------------------
1 | {%- if show_source and has_source and sourcename %}
2 | {{ _('Source') }}
4 | {%- endif %}
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/views/default/uninstall.html:
--------------------------------------------------------------------------------
1 | {{extend 'layout.html'}}
2 |
3 | {{=T('Are you sure you want to uninstall application "%s"?', app)}}
4 |
5 | {{=dialog}}
6 |
7 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/sourcelink.html:
--------------------------------------------------------------------------------
1 | {%- if show_source and has_source and sourcename %}
2 | {{ _('Source') }}
4 | {%- endif %}
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_sources/lp_demo-test.py:
--------------------------------------------------------------------------------
1 | # ============================================
2 | # |docname| -- test code for :doc:`lp_demo.py`
3 | # ============================================
4 | from lp_demo import one
5 |
6 | assert one() == 1
7 |
--------------------------------------------------------------------------------
/components/rsptx/data_types/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.data_types import autograde
2 | from rsptx.data_types import which_to_grade
3 | from rsptx.data_types import question_type
4 | from rsptx.data_types import language
5 |
6 | __all__ = ["autograde", "which_to_grade", "question_type", "language"]
7 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MatchingExercise/components/index.ts:
--------------------------------------------------------------------------------
1 | export { SortableBlock } from "./SortableBlock";
2 | export { MatchingInstructions } from "./MatchingInstructions";
3 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/RAIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/RAIcon.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/Twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/Twitter.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/Facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/Facebook.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/logo_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/logo_small.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/parsons/js/placeholderLine.js:
--------------------------------------------------------------------------------
1 | import ParsonsLine from "./parsonsLine";
2 |
3 | export default class PlaceholderLine extends ParsonsLine {
4 | constructor(problem) {
5 | super(problem, "placeholder", false);
6 | this.isPlaceholderLine = true;
7 | }
8 | }
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_sources/index.rst:
--------------------------------------------------------------------------------
1 |
2 | .. raw:: html
3 |
4 |
5 |
6 | .. fillintheblank:: question_1
7 |
8 | Mary had a π.
9 |
10 | - :x: Whatever.
11 |
12 |
13 | .. raw:: html
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-bold-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-bold-webfont.eot
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-bold-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-bold-webfont.ttf
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-bold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-bold-webfont.woff
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/DragAndDropExercise/components/index.ts:
--------------------------------------------------------------------------------
1 | export { SortableBlock } from "./SortableBlock";
2 | export { DragAndDropInstructions } from "./DragAndDropInstructions";
3 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/localtoc.html:
--------------------------------------------------------------------------------
1 |
2 | {{ _('Page') }}
3 |
4 |
5 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/Twitter_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/Twitter_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/khanex/test/_sources/Khanex/toctree.rst:
--------------------------------------------------------------------------------
1 | .. image:: ../../_static/MobileCSPLogo.png
2 | :width: 250
3 | :align: center
4 |
5 |
6 | Khanex
7 | ::::::::
8 |
9 | .. toctree::
10 | :caption: Khanex Test
11 | :maxdepth: 3
12 |
13 | TestKhanex.rst
14 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/meta/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/poll/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/quizly/test/_sources/Quizly/toctree.rst:
--------------------------------------------------------------------------------
1 | .. image:: ../../_static/MobileCSPLogo.png
2 | :width: 250
3 | :align: center
4 |
5 |
6 | Quizly
7 | ::::::::
8 |
9 | .. toctree::
10 | :caption: Quizly Test
11 | :maxdepth: 3
12 |
13 | TestQuizly.rst
14 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/video/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/static/codemirror/addon/search/matchesonscrollbar.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-search-match {
2 | background: gold;
3 | border-top: 1px solid orange;
4 | border-bottom: 1px solid orange;
5 | -moz-box-sizing: border-box;
6 | box-sizing: border-box;
7 | opacity: .5;
8 | }
9 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/localtoc.html:
--------------------------------------------------------------------------------
1 |
2 | {{ _('Page') }}
3 |
4 |
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/Facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/Facebook.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/Twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/Twitter.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-regular-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-regular-webfont.eot
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-regular-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-regular-webfont.ttf
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-regular-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-regular-webfont.woff
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/.coveragerc:
--------------------------------------------------------------------------------
1 | [run]
2 | omit =
3 | applications/runestone/controllers/appadmin.py
4 | applications/runestone/controllers/everyday.py
5 | applications/runestone/controllers/feed.py
6 |
7 | [html]
8 | directory = applications/runestone/tests/htmlcov
9 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/pydal/representers/mysql.py:
--------------------------------------------------------------------------------
1 | from ..adapters.mysql import MySQL
2 | from . import representers
3 | from .base import JSONRepresenter, SQLRepresenter
4 |
5 |
6 | @representers.register_for(MySQL)
7 | class MySQLRepresenter(SQLRepresenter, JSONRepresenter):
8 | pass
9 |
--------------------------------------------------------------------------------
/components/rsptx/lp_sim_builder/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.lp_sim_builder import core
2 | from rsptx.lp_sim_builder import common_builder
3 | from rsptx.lp_sim_builder import scheduled_builder
4 | from rsptx.lp_sim_builder import feedback
5 |
6 | __all__ = ["common_builder", "core", "feedback", "scheduled_builder"]
7 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/chapterdb/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/codelens/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/Facebook_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/interactives/runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/img/Facebook_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/common/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/datafile/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/disqus/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/dragndrop/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/matrixeq/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/mchoice/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/parsons/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/question/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/quizly/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/reveal/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/server/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/showeval/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/utility/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/webgldemo/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/webwork/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/languages/plural-uk.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # -*- coding: utf-8 -*-
3 | {
4 | # "singular form (0)": ["first plural form (1)", "second plural form (2)", ...],
5 | 'останній': ['останні','останніх'],
6 | 'файл': ['файли','файлів'],
7 | 'твіт': ['твіти','твітів'],
8 | }
9 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/models/plugin_multiselect.py:
--------------------------------------------------------------------------------
1 | response.files.append(
2 | URL('static', 'plugin_multiselect/jquery.multi-select.js'))
3 | response.files.append(URL('static', 'plugin_multiselect/multi-select.css'))
4 | response.files.append(URL('static', 'plugin_multiselect/start.js'))
5 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/.gitattributes:
--------------------------------------------------------------------------------
1 | # Ensure files that must always have LF line endings on checkout will by ensuring Docker build and bash scripts will work regardless of OS
2 |
3 | Dockerfile text eol=lf
4 | *.sh text eol=lf
5 | scripts/** text eol=lf
6 | docker/docker_tools.py eol=lf
7 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/logo_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/logo_small.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-extralight-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-extralight-webfont.eot
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-extralight-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-extralight-webfont.ttf
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-extralight-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/static/js/jstree_themes/proton/fonts/titillium/titilliumweb-extralight-webfont.woff
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/clickableArea/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/mchoice/js/mchoice-i18n.sr-Cyrl.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | "sr-Cyrl": {
3 | msg_mchoice_correct_answer: "Taчно!",
4 | msg_mchoice_incorrect_answer: "Нетачно.",
5 | msg_mchoice_check_me: "Провери",
6 | msg_mchoice_compare_me: "Упореди",
7 | },
8 | });
9 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/shortanswer/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/spreadsheet/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/tabbedStuff/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Accessibility
3 | *************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | test/test_*.py
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/video/test/_sources/index.rst:
--------------------------------------------------------------------------------
1 | ==================
2 | Video Test Project
3 | ==================
4 |
5 |
6 | Lets try a YouTube Video
7 |
8 |
9 | .. youtube:: eDQ19ahXsSk
10 | :divid: goog_keyvalpairs
11 | :height: 315
12 | :width: 560
13 | :align: left
14 |
15 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/Facebook_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/Facebook_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/Twitter_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/img/Twitter_icon.png
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MultiChoiceExercise/components/index.ts:
--------------------------------------------------------------------------------
1 | export { MultiChoiceQuestion } from "./MultiChoiceQuestion";
2 | export { MultiChoiceOptionsWrapper } from "./MultiChoiceOptionsWrapper";
3 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/setupTests.jsx:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import "@testing-library/jest-dom";
6 |
--------------------------------------------------------------------------------
/components/rsptx/endpoint_validators/__init__.py:
--------------------------------------------------------------------------------
1 | from rsptx.endpoint_validators import core
2 | from rsptx.endpoint_validators.core import (
3 | instructor_role_required,
4 | with_course,
5 | author_role_required,
6 | )
7 |
8 | __all__ = ["core", "instructor_role_required", "with_course", "author_role_required"]
9 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/types/PollTypes.ts:
--------------------------------------------------------------------------------
1 | import { Option } from "@/types/exercises";
2 |
3 | export type PollType = "scale" | "options";
4 |
5 | export interface PollOption extends Option {
6 | id: string;
7 | }
8 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/styles/layout.scss:
--------------------------------------------------------------------------------
1 | @use '_variables';
2 | @use "_mixins";
3 | @use "_main";
4 | @use "_topbar";
5 | @use "_menu";
6 | @use "_config";
7 | @use "_content";
8 | @use "_footer";
9 | @use "_responsive";
10 | @use "_utils";
11 | @use "_typography";
12 | @use "_table";
13 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # Each line is a file pattern followed by one or more owners.
2 |
3 | # These owners will be the default owners for everything in
4 | # the repo. Unless a later match takes precedence,
5 | # @global-owner1 and @global-owner2 will be requested for
6 | # review when someone opens a pull request.
7 | * @bnmnetp
8 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/parsons/README.rst:
--------------------------------------------------------------------------------
1 | Parsons Directive
2 | =================
3 |
4 | The master repository for the parsons problems code is https://github.com/vkaravir/js-parsons.git
5 |
6 | If you want to make customizations ONLY for runestone you should use the fork at https://github.com/bnmnetp/js-parsons.git
7 |
8 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow: /welcome/default/user
3 | Disallow: /runestone/ajax
4 | Disallow: /cgi-bin
5 | Disallow: /assignment
6 | Disallow: /author
7 | Disallow: /runestone/admin
8 | Disallow: /runestone/peer
9 | Disallow: /ns/books/published/*/_templates
10 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/tests/test_rocket.py:
--------------------------------------------------------------------------------
1 | # TODO : I think we should continue to use pathoc (http://pathod.net/docs/pathoc) for tests but integrate the call in
2 | # gluon/tests so they run automatically. No need to make our own tests.
3 | # ref: https://groups.google.com/d/msg/web2py-developers/Cjye8_hXZk8/AXbftS3sCgAJ
4 |
--------------------------------------------------------------------------------
/components/rsptx/templates/footer.html:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/projects/jobe/container-test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # exit if any command has a non-zero exit status
4 | set -e
5 |
6 | echo "Starting Apache in the background"
7 | /usr/sbin/apache2ctl -D BACKGROUND
8 |
9 | echo "Start testsubmit.py as user www-data"
10 | su -s /bin/bash -c "/usr/bin/python3 /var/www/html/jobe/testsubmit.py" www-data
11 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/__init__.py:
--------------------------------------------------------------------------------
1 | # ************
2 | # Web2py views
3 | # ************
4 | # .. toctree::
5 | # :maxdepth: 2
6 | # :glob:
7 | #
8 | # *.html
9 | # admin/*
10 | # assignments/*
11 | # books/*
12 | # dashboard/*
13 | # default/*
14 | # designer/*
15 | # lti/*
16 | # oauth/*
17 |
--------------------------------------------------------------------------------
/docs/source/configuration.rst:
--------------------------------------------------------------------------------
1 | configuration package
2 | =====================
3 |
4 | Submodules
5 | ----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | configuration.core
11 |
12 | Module contents
13 | ---------------
14 |
15 | .. automodule:: configuration
16 | :members:
17 | :undoc-members:
18 | :show-inheritance:
19 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/pydal/_globals.py:
--------------------------------------------------------------------------------
1 | import threading
2 |
3 | GLOBAL_LOCKER = threading.RLock()
4 | THREAD_LOCAL = threading.local()
5 |
6 | DEFAULT = lambda: None
7 |
8 |
9 | def IDENTITY(x):
10 | return x
11 |
12 |
13 | def OR(a, b):
14 | return a | b
15 |
16 |
17 | def AND(a, b):
18 | return a & b
19 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/contrib/fastapi/launch_data_storage/cache.py:
--------------------------------------------------------------------------------
1 | from ....launch_data_storage.cache import CacheDataStorage
2 |
3 |
4 | class FastAPICacheDataStorage(CacheDataStorage):
5 | _cache = None
6 |
7 | def __init__(self, cache, **kwargs):
8 | self._cache = cache
9 | super().__init__(cache, **kwargs)
10 |
--------------------------------------------------------------------------------
/docs/source/db.rst:
--------------------------------------------------------------------------------
1 | db package
2 | ==========
3 |
4 | Submodules
5 | ----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | db.async_session
11 | db.core
12 | db.crud
13 | db.models
14 |
15 | Module contents
16 | ---------------
17 |
18 | .. automodule:: db
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
--------------------------------------------------------------------------------
/docs/source/logging.rst:
--------------------------------------------------------------------------------
1 | logging package
2 | ===============
3 |
4 | Submodules
5 | ----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | logging.applogger
11 | logging.core
12 |
13 | Module contents
14 | ---------------
15 |
16 | .. automodule:: rsptx.logging
17 | :members:
18 | :undoc-members:
19 | :show-inheritance:
20 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/utils/json.ts:
--------------------------------------------------------------------------------
1 | export const safeJsonParse = (value: string | object): T | undefined => {
2 | if (typeof value === "object" && value !== null) {
3 | return value as T;
4 | }
5 |
6 | try {
7 | return JSON.parse(value) as T;
8 | } catch {
9 | return undefined;
10 | }
11 | };
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/README.rst:
--------------------------------------------------------------------------------
1 | Blockly Directive
2 | =================
3 |
4 |
5 | Sources:
6 |
7 | CSS:
8 |
9 | None
10 |
11 | JS:
12 |
13 | The blockly js files are copied from the latest release of blockly. If you want to customize them
14 | for your project you should fork the project and move the files here.
15 |
16 |
--------------------------------------------------------------------------------
/components/rsptx/templates/staticAssets/course.css:
--------------------------------------------------------------------------------
1 | .course_page {
2 | width: 90%;
3 | margin-left: auto;
4 | margin-right: auto;
5 | }
6 |
7 |
8 | .assignment_chooser {
9 | max-height: 24rem;
10 | overflow-y: scroll;
11 | margin-bottom: 1rem;
12 | border: solid #ccc;
13 | padding: .5rem;
14 | border-radius: 5px;
15 | }
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/styles/_footer.scss:
--------------------------------------------------------------------------------
1 | @use "variables";
2 |
3 | .layout-footer {
4 | transition: margin-left variables.$transitionDuration;
5 | display: flex;
6 | align-items: center;
7 | justify-content: center;
8 | padding-top: 1rem;
9 | border-top: 1px solid var(--surface-border);
10 | }
11 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_sources/test_chapter_1/dynamicquestions.rst:
--------------------------------------------------------------------------------
1 | Testing SelectQuestion
2 | ======================
3 |
4 | .. selectquestion:: dynamic_q_1
5 | :fromid: test_activecode_1
6 | :points: 10
7 |
8 |
9 | TODO - Add another test to test within an exam but this will require selenium
10 |
--------------------------------------------------------------------------------
/docs/source/validation.rst:
--------------------------------------------------------------------------------
1 | validation package
2 | ==================
3 |
4 | Submodules
5 | ----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | validation.core
11 | validation.schemas
12 |
13 | Module contents
14 | ---------------
15 |
16 | .. automodule:: validation
17 | :members:
18 | :undoc-members:
19 | :show-inheritance:
20 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/contrib/fastapi/__init__.py:
--------------------------------------------------------------------------------
1 | # flake8: noqa
2 | from .cookie import FastAPICookieService
3 | from .oidc_login import FastAPIOIDCLogin
4 | from .message_launch import FastAPIMessageLaunch
5 | from .request import FastAPIRequest
6 | from .session import FastAPISessionService
7 | from .launch_data_storage.cache import FastAPICacheDataStorage
8 |
--------------------------------------------------------------------------------
/docs/source/response_helpers.rst:
--------------------------------------------------------------------------------
1 | response\_helpers package
2 | =========================
3 |
4 | Submodules
5 | ----------
6 |
7 | .. toctree::
8 | :maxdepth: 4
9 |
10 | response_helpers.core
11 |
12 | Module contents
13 | ---------------
14 |
15 | .. automodule:: response_helpers
16 | :members:
17 | :undoc-members:
18 | :show-inheritance:
19 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/ActiveCodeExercise/index.ts:
--------------------------------------------------------------------------------
1 | export { ActiveCodeExercise } from "./ActiveCodeExercise";
2 | export { ActiveCodeExerciseSettings } from "./ActiveCodeExerciseSettings";
3 | export { ActiveCodePreview } from "./ActiveCodePreview";
4 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/global.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
3 | declare global {
4 | type EBookConfig = Partial<{
5 | isInstructor: boolean;
6 | course: string;
7 | username: string;
8 | isLoggedIn: boolean;
9 | author: string;
10 | }>;
11 |
12 | interface Window {
13 | eBookConfig: EBookConfig;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/projects/w2p_login_assign_grade/entrypoint.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cd /usr/local/lib/python3.10/site-packages/rsptx/web2py_server
4 | mkdir -p applications/runestone/errors
5 | chown -R www-data:www-data applications/runestone/errors
6 | python web2py.py -S runestone -M -R tickets2db.py &
7 | cd /usr/src/app
8 | gunicorn --bind 0.0.0.0:8112 rsptx.web2py_server.wsgihandler:application
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/SelectQuestionExercise/components/index.ts:
--------------------------------------------------------------------------------
1 | export { QuestionListEditor } from "./QuestionListEditor";
2 | export { ABExperimentSettings } from "./ABExperimentSettings";
3 | export { ToggleOptionsSettings } from "./ToggleOptionsSettings";
4 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/views/mercurial/revision.html:
--------------------------------------------------------------------------------
1 | {{extend 'layout.html'}}
2 |
3 | {{=T('Revision %s', rev)}}
4 |
5 | {{=form}}
6 |
7 |
8 | {{=T('Changelog')}}
9 |
10 | {{=desc}}
11 |
12 |
13 | {{=T('Files added')}}
14 |
15 | {{=TABLE(*[TR(f) for f in files])}}
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-3.0.0/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-3.0.0/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-3.0.0/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-3.0.0/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/mchoice/js/mchoice-i18n.en.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | en: {
3 | msg_mchoice_correct_answer: "Correct.",
4 | msg_mchoice_incorrect_answer:
5 | "Incorrect. You gave $1 $2 and got $3 correct of $4 needed.",
6 | msg_mchoice_check_me: "Check me",
7 | msg_mchoice_compare_me: "Compare me",
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-3.0.0/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RunestoneInteractive/rs/HEAD/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-3.0.0/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/parsons/css/parsons.less:
--------------------------------------------------------------------------------
1 | .ptx-runestone-container,.runestone-sphinx {
2 | @import (less) url("./parsons.css");
3 |
4 | }
5 |
6 | /* make entire block background match background of code */
7 | :root.dark-mode {
8 | .ptx-runestone-container .parsons .block:has(code[class*=language-]) {
9 | background: hsl(0, 0%, 8%);
10 | }
11 | }
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/webgldemo/css/webgldemo.css:
--------------------------------------------------------------------------------
1 | /* Major sections */
2 | .webgldemo_container {
3 | background-color: #fcf8e3;
4 | box-sizing: border-box;
5 | width: 100%;
6 | display: block;
7 | margin-bottom: 1em;
8 | }
9 |
10 | .webgldemo_canvas {
11 | background-color: #fcf8e3;
12 | box-sizing: border-box;
13 | }
14 |
15 | .webgldemo_controls {
16 | }
17 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/AssignmentExercisesList/index.tsx:
--------------------------------------------------------------------------------
1 | import { withDragLogic } from "@components/ui/EditableTable/hoc/withDragLogic";
2 |
3 | import { AssignmentExercisesContainer } from "./AssignmentExercisesContainer";
4 |
5 | export const AssignmentExercises = withDragLogic(AssignmentExercisesContainer);
6 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/constants.ts:
--------------------------------------------------------------------------------
1 | export const POLL_TYPES = [
2 | { label: "Scale (1 to N)", value: "scale" },
3 | { label: "Multiple Options", value: "options" }
4 | ];
5 |
6 | export const SCALE_CONFIG = {
7 | MIN: 2,
8 | MAX: 50,
9 | DEFAULT: 5
10 | } as const;
11 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/types/dataset.ts:
--------------------------------------------------------------------------------
1 | export type TableDropdownOption = {
2 | value: string;
3 | label: string;
4 | description: string;
5 | supported_question_types?: any;
6 | };
7 |
8 | export type SectionOption = {
9 | title: string;
10 | label: string;
11 | };
12 |
13 | export type SectionsResponse = {
14 | sections: SectionOption[];
15 | };
16 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/pytest.ini:
--------------------------------------------------------------------------------
1 | # ****************************
2 | # |docname| - Configure pytest
3 | # ****************************
4 | [pytest]
5 | # See `Registering marks `_; this mark is defined in `selenium_module_fixture`.
6 | markers =
7 | exit_status_success: Determine if the runestone build exit code is checked by ``selenium_module_fixture``.
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/blockly/toctree.rst:
--------------------------------------------------------------------------------
1 | ********************************************************
2 | Blockly - Embed block-based code generation in Runestone
3 | ********************************************************
4 | Warning: This component is deprecated. Do not use it in new books.
5 |
6 | .. toctree::
7 | :maxdepth: 1
8 | :glob:
9 |
10 | README
11 | *.py
12 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/deployment.py:
--------------------------------------------------------------------------------
1 | import typing as t
2 |
3 |
4 | class Deployment:
5 | _deployment_id: t.Optional[str] = None
6 |
7 | def get_deployment_id(self) -> t.Optional[str]:
8 | return self._deployment_id
9 |
10 | def set_deployment_id(self, deployment_id: str) -> "Deployment":
11 | self._deployment_id = deployment_id
12 | return self
13 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/reading/AssignmentReadings.tsx:
--------------------------------------------------------------------------------
1 | import { withDragLogicReadings } from "@components/ui/EditableTable/hoc/withDragLogicReadings";
2 |
3 | import { AssignmentReadingsContainer } from "./AssignmentReadingsContainer";
4 |
5 | export const AssignmentReadings = withDragLogicReadings(AssignmentReadingsContainer);
6 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/mchoice/js/mchoice-i18n.pt-br.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | "pt-br": {
3 | msg_mchoice_correct_answer: "Correto.",
4 | msg_mchoice_incorrect_answer:
5 | "Incorreto. Você deu $1 resposta(s) e teve $3 correto(s) de $4 necessários.",
6 | msg_mchoice_check_me: "Verificar",
7 | msg_mchoice_compare_me: "Comparar",
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/wavedrom/test/test_wavedrom.py:
--------------------------------------------------------------------------------
1 | def test_1(selenium_utils_get):
2 | # After the render, Wavedrom will create a div with a numbered ID. If this exists, then the render worked. Don't try waiting for the component to be ready, since this isn't a Runestone Component -- it doesn't emit a ready signal.
3 | selenium_utils_get.driver.find_element_by_id("WaveDrom_Display_0")
4 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/styles/_mixins.scss:
--------------------------------------------------------------------------------
1 | @mixin focused() {
2 | outline: 0 none;
3 | outline-offset: 0;
4 | transition: box-shadow .2s;
5 | box-shadow: var(--focus-ring);
6 | }
7 |
8 | @mixin focused-inset() {
9 | outline: 0 none;
10 | outline-offset: 0;
11 | transition: box-shadow .2s;
12 | box-shadow: inset var(--focus-ring);
13 | }
14 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/models/menu.py:
--------------------------------------------------------------------------------
1 | response.title = settings.title
2 | response.subtitle = settings.subtitle
3 | response.meta.author = "%(author)s <%(author_email)s>" % settings
4 | response.meta.keywords = settings.keywords
5 | response.meta.description = settings.description
6 | response.menu = [
7 | (T("Index"), URL("default", "index") == URL(), URL("default", "index"), [])
8 | ]
9 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/components/exercises/components/CreateExercise/components/MultiChoiceExercise/index.ts:
--------------------------------------------------------------------------------
1 | export * from "./MultiChoiceExercise";
2 | export * from "./MultiChoiceOptions";
3 | export * from "./MultiChoiceExerciseSettings";
4 | export * from "./MultiChoicePreview";
5 |
6 | export { MultiChoiceExercise } from "./MultiChoiceExercise";
7 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/scripts/makePtx.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if (( $# < 1 )); then
4 | echo "please provide version number"
5 | exit
6 | fi
7 |
8 | source ~/.virtualenvs/compdev39/bin/activate
9 | npm run dist
10 | source ~/.virtualenvs/json2xml/bin/activate
11 | python scripts/dist2xml.py $@ > runestone/dist/webpack_static_imports.xml
12 | cd runestone
13 | tar zcf dist-$1.tgz dist
14 | deactivate
15 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/generic.pdf:
--------------------------------------------------------------------------------
1 | {{
2 | import os
3 | from gluon.contrib.generics import pdf_from_html
4 | filename = '%s/%s.html' % (request.controller,request.function)
5 | if os.path.exists(os.path.join(request.folder,'views',filename)):
6 | html=response.render(filename)
7 | else:
8 | html=BODY(BEAUTIFY(response._vars)).xml()
9 | pass
10 | =pdf_from_html(html)
11 | }}
12 |
--------------------------------------------------------------------------------
/docs/source/templates.rst:
--------------------------------------------------------------------------------
1 | Templates
2 | =========
3 |
4 | Each service may have a folder heirarchy for the Jinja2 templates used in the user interface.
5 |
6 | In addition the template component has a common folder ``staticAssets`` for static assets such as images, css and javascript.
7 | The static assets are copied to a static folder in the nginx service during the build process so that nginx can serve them.
8 |
9 |
--------------------------------------------------------------------------------
/docs/source/cl_utils.rst:
--------------------------------------------------------------------------------
1 | cl\_utils package
2 | =================
3 |
4 | Submodules
5 | ----------
6 |
7 | cl\_utils.core module
8 | ---------------------
9 |
10 | .. automodule:: cl_utils.core
11 | :members:
12 | :undoc-members:
13 | :show-inheritance:
14 |
15 | Module contents
16 | ---------------
17 |
18 | .. automodule:: cl_utils
19 | :members:
20 | :undoc-members:
21 | :show-inheritance:
22 |
--------------------------------------------------------------------------------
/projects/latex_image/README:
--------------------------------------------------------------------------------
1 | This image is used by the author and worker services, so we can avoid the long build time
2 | introduced by creating a latex image.
3 |
4 | To build this image simply run:
5 |
6 | docker build . -t latex_base:important --label keep=true
7 |
8 | When pruning
9 |
10 | docker image prune -a --filter "label!=keep"
11 | docker container prune
12 |
13 | It might be --filter "label=keep=true"
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/dragndrop/js/dragndrop-i18n.pt-br.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | "pt-br": {
3 | msg_dragndrop_correct_answer: "Correto!",
4 | msg_dragndrop_incorrect_answer:
5 | "Incorreto. Você teve $1 correto(s) e $2 incorreto(s) de $3. Você deixou $4 em branco.",
6 | msg_dragndrop_check_me: "Verificar",
7 | msg_dragndrop_reset: "Resetar",
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/dragndrop/js/dragndrop-i18n.sr-Cyrl.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | "sr-Cyrl": {
3 | msg_dragndrop_correct_answer: "Тачан одговор!",
4 | msg_dragndrop_incorrect_answer:
5 | "Нетачно. Добили сте $1 тачних и $2 нетачних од $3. Остало вам је $4 празнина.",
6 | msg_dragndrop_check_me: "Провери",
7 | msg_dragndrop_reset: "Поништи",
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/fitb/toctree.rst:
--------------------------------------------------------------------------------
1 | ********************************************************
2 | fitb: A Sphinx extension for fill-in-the-blank questions
3 | ********************************************************
4 | .. toctree::
5 | :maxdepth: 1
6 | :glob:
7 |
8 | *.py
9 | js/*.js
10 | css/*.css
11 | fitb_html_structure.html
12 | dynamic_problems.rst
13 | test/test_*.py
14 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/shortanswer/css/shortanswer.css:
--------------------------------------------------------------------------------
1 | div.journal div.latexoutput {
2 | background-color: var(--outerBackground, #eeeeee);
3 | padding: 1em;
4 | margin-bottom: 10px;
5 | border-radius: 5px;
6 | }
7 |
8 |
9 | .shortanswer_section .alert {
10 | margin-bottom: 0;
11 | }
12 |
13 | .shortanswer__timestamp {
14 | font-size: 0.9em;
15 | color: var(--grayToWhite, #333);
16 | }
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/AUTHORS:
--------------------------------------------------------------------------------
1 | - Massimo Di Pierro
2 | - Giovanni Barillari
3 | - Simone Bizzotto
4 | - Paolo Valleri
5 | - Niall Sweeny for MS SQL support
6 | - Marcel Leuthi for Oracle support
7 | - Chris Clark
8 | - clach05
9 | - Denes Lengyel
10 | - Stephen Rauch
11 |
--------------------------------------------------------------------------------
/components/rsptx/templates/assignment/selfgrade.js:
--------------------------------------------------------------------------------
1 | function selfGrade(assignment_id) {
2 | jQuery.ajax({
3 | url: eBookConfig.app + '/assignments/student_autograde',
4 | type: "POST",
5 | dataType: "JSON",
6 | data: {
7 | assignment_id: assignment_id,
8 | },
9 | success: function (retdata) {
10 | window.location.reload(true);
11 | }
12 | });
13 | }
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/types/api.ts:
--------------------------------------------------------------------------------
1 | export type DetailResponse = {
2 | detail: T;
3 | };
4 |
5 | export enum HttpStatusCode {
6 | OK = 200,
7 | CREATED = 201,
8 | NO_CONTENT = 204,
9 | BAD_REQUEST = 400,
10 | UNAUTHORIZED = 401,
11 | FORBIDDEN = 403,
12 | NOT_FOUND = 404,
13 | UNPROCESSABLE_CONTENT = 422,
14 | INTERNAL_SERVER_ERROR = 500,
15 | SERVICE_UNAVAILABLE = 503
16 | }
17 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/views/default.mobile/delete_plugin.html:
--------------------------------------------------------------------------------
1 | {{extend 'default.mobile/layout.html'}}
2 |
3 | {{block sectionclass}}delete_plugin{{end}}
4 |
5 |
6 |
{{=T('Are you sure you want to delete plugin "%s"?', plugin)}}
7 |
{{=FORM(INPUT(_type='submit',_name='nodelete',_value=T('NO')))}}
8 |
{{=FORM(INPUT(_type='submit',_name='delete',_value=T('YES')))}}
9 |
10 |
11 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/views/default.mobile/uninstall.html:
--------------------------------------------------------------------------------
1 | {{extend 'default.mobile/layout.html'}}
2 |
3 |
4 | {{=T('Are you sure you want to uninstall application "%s"?', app)}}
5 |
6 | | {{=FORM(INPUT(_type='submit',_name='nodelete',_value=T('Abort')))}} |
7 | {{=FORM(INPUT(_type='submit',_name='delete',_value=T('Uninstall')))}} |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/components/rsptx/templates/staticAssets/js/selfgrade.js:
--------------------------------------------------------------------------------
1 | function selfGrade(assignment_id) {
2 | jQuery.ajax({
3 | url: eBookConfig.app + '/assignments/student_autograde',
4 | type: "POST",
5 | dataType: "JSON",
6 | data: {
7 | assignment_id: assignment_id,
8 | },
9 | success: function (retdata) {
10 | window.location.reload(true);
11 | }
12 | });
13 | }
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Runestone Community Support
4 | url: https://blog.runestone.academy/pages/support.html
5 | about: Our slack channel is the best place to get immediate support for questions
6 | - name: Frequently Asked Questions
7 | url: https://guide.runestone.academy
8 | about: Please Check here before asking a question or creating an issue
9 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/styles/_content.scss:
--------------------------------------------------------------------------------
1 | @use "variables";
2 |
3 | .layout-main-container {
4 | display: flex;
5 | flex-direction: column;
6 | min-height: 95vh;
7 | max-height: 95vh;
8 | justify-content: space-between;
9 | padding: 2rem 2rem 2rem 2rem;
10 | transition: margin-left variables.$transitionDuration;
11 | }
12 |
13 | .layout-main {
14 | flex: 1 1 auto;
15 | }
16 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/dragndrop/js/dragndrop-i18n.en.js:
--------------------------------------------------------------------------------
1 | $.i18n().load({
2 | en: {
3 | msg_dragndrop_correct_answer: "You are correct!",
4 | msg_dragndrop_incorrect_answer:
5 | "Incorrect. Of the cards you have sorted you placed $1 correctly and $2 incorrectly. You have $4 left to place.",
6 | msg_dragndrop_check_me: "Check me",
7 | msg_dragndrop_reset: "Reset",
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/selectquestion/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Dynamic Questions
3 | *************************************************
4 | See the `overview book `_ for user documentation.
5 |
6 | .. toctree::
7 | :maxdepth: 1
8 | :glob:
9 |
10 | *.py
11 | js/*.js
12 | css/*.css
13 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/lp/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Literate programming (LP)
3 | *************************************************
4 | The following files define the Literate Programming directive for Runestone, as well as adding some unrelated functionality.
5 |
6 | .. toctree::
7 | :maxdepth: 1
8 | :glob:
9 |
10 | *.py
11 | js/*.js
12 | css/*.css
13 | test/test_*.py
14 |
--------------------------------------------------------------------------------
/components/rsptx/templates/staticAssets/assignment/selfgrade.js:
--------------------------------------------------------------------------------
1 | function selfGrade(assignment_id) {
2 | jQuery.ajax({
3 | url: eBookConfig.app + '/assignments/student_autograde',
4 | type: "POST",
5 | dataType: "JSON",
6 | data: {
7 | assignment_id: assignment_id,
8 | },
9 | success: function (retdata) {
10 | window.location.reload(true);
11 | }
12 | });
13 | }
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/selfgrade.js:
--------------------------------------------------------------------------------
1 | function selfGrade(assignment_id) {
2 | jQuery.ajax({
3 | url: eBookConfig.app + '/assignments/student_autograde',
4 | type: "POST",
5 | dataType: "JSON",
6 | data: {
7 | assignment_id: assignment_id,
8 | },
9 | success: function (retdata) {
10 | window.location.reload(true);
11 | }
12 | });
13 | }
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/utils/object.ts:
--------------------------------------------------------------------------------
1 | export const isEmptyObject = (obj: T): boolean => {
2 | return Object.keys(obj).length === 0;
3 | };
4 |
5 | export const dumpObject = (data: unknown, spacing: number = 2): string => {
6 | try {
7 | return JSON.stringify(data, null, spacing);
8 | } catch (error) {
9 | return `Error: Unable to serialize the provided data - ${error}`;
10 | }
11 | };
12 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/timed/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | Timed Exam Questions
3 | *************************************************
4 | See the `overview book `_ for user documentation.
5 |
6 | .. toctree::
7 | :maxdepth: 1
8 | :glob:
9 |
10 | *.py
11 | js/*.js
12 | css/*.css
13 | test/test_*.py
14 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/wavedrom/test/_sources/index.rst:
--------------------------------------------------------------------------------
1 | *************
2 | Wavedrom test
3 | *************
4 |
5 | .. wavedrom::
6 | :caption: Two signals, PB1 (the pushbutton) and LED1, change over time.
7 |
8 | signal: [
9 | {name: 'PB1', wave: '1.0..1..0..1..', node: '..a..b..c..d', phase: 0.5},
10 | {name: 'LED1', wave: '0.1.....0....', node: '..f.....g'},
11 | ], edge: [
12 | 'a~f', 'c~g',
13 | ],
14 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/views/default/git_push.html:
--------------------------------------------------------------------------------
1 | {{extend 'layout.html'}}
2 | {{
3 | frm = form
4 | smt_button = frm.element(_type="submit")
5 | smt_button['_class'] = 'btn'
6 | smt_button['_style'] = 'margin-right:4px;'
7 | }}
8 |
9 | {{=T('This will push changes to the remote repo for application "%s".', app)}}
10 |
11 | {{=form}}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/request.py:
--------------------------------------------------------------------------------
1 | from abc import ABCMeta, abstractmethod
2 |
3 |
4 | class Request:
5 | __metaclass__ = ABCMeta
6 |
7 | @property
8 | def session(self):
9 | raise NotImplementedError
10 |
11 | @abstractmethod
12 | def is_secure(self) -> bool:
13 | raise NotImplementedError
14 |
15 | @abstractmethod
16 | def get_param(self, key: str) -> str:
17 | raise NotImplementedError
18 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/lp/__init__.py:
--------------------------------------------------------------------------------
1 | # ********************************
2 | # |docname| - LP module definition
3 | # ********************************
4 | from runestone.lp import inlinesyntaxhighlight, lp
5 |
6 | # Register the for loop directive with Sphinx.
7 | from runestone.lp import for_loop # NOQA: F401
8 |
9 |
10 | # Initialize both extensions.
11 | def setup(app):
12 | inlinesyntaxhighlight.setup(app)
13 | return lp.setup(app)
14 |
--------------------------------------------------------------------------------
/components/rsptx/templates/staticAssets/js/documentation_options.js:
--------------------------------------------------------------------------------
1 | var DOCUMENTATION_OPTIONS = {
2 | URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
3 | VERSION: '0.0',
4 | LANGUAGE: 'en',
5 | COLLAPSE_INDEX: false,
6 | BUILDER: 'html',
7 | FILE_SUFFIX: '.html',
8 | LINK_SUFFIX: '.html',
9 | HAS_SOURCE: true,
10 | SOURCELINK_SUFFIX: '.txt',
11 | NAVIGATION_WITH_KEYS: false
12 | };
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/selectquestion/css/selectquestion.css:
--------------------------------------------------------------------------------
1 | #component-preview {
2 | margin-right: 20px;
3 | position: fixed;
4 | right: 0px;
5 | max-height: 100%;
6 | overflow-y: scroll;
7 | top: 0px;
8 | padding-top: 60px;
9 | }
10 |
11 | .toggle-preview {
12 | border: 4px solid;
13 | border-radius: 10px;
14 | background-color: azure;
15 | padding-top: 10px;
16 | box-shadow: 10px 5px 5px gray;
17 | }
18 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/tests/test_course_1/_sources/lp_demo.py:
--------------------------------------------------------------------------------
1 | # =====================================
2 | # |docname| - Literate programming demo
3 | # =====================================
4 | # Write a function named ``one`` which takes no parameters and returns the value 1.
5 | #
6 | # SOLUTION_BEGIN
7 |
8 |
9 | def one():
10 | return 1
11 |
12 |
13 | # SOLUTION_END
14 |
15 | # .. lp_build:: test_lp_1
16 | # :builder: python
17 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/views/generic.rss:
--------------------------------------------------------------------------------
1 | {{
2 | ###
3 | # response._vars contains the dictionary returned by the controller action
4 | # for this to work the action must return something like
5 | #
6 | # dict(title=...,link=...,description=...,created_on='...',items=...)
7 | #
8 | # items is a list of dictionaries each with title, link, description, pub_date.
9 | ###
10 | from gluon.serializers import rss}}{{=XML(rss(response._vars))}}
11 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/exception.py:
--------------------------------------------------------------------------------
1 | import aiohttp
2 |
3 |
4 | class LtiException(Exception):
5 | pass
6 |
7 |
8 | class OIDCException(Exception):
9 | pass
10 |
11 |
12 | class LtiServiceException(LtiException):
13 | def __init__(self, response: aiohttp.ClientResponse):
14 | msg = f"HTTP response [{response.url}]: {str(response.status)} - {response.reason}"
15 | super().__init__(msg)
16 | self.response = response
17 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/.flake8:
--------------------------------------------------------------------------------
1 | [flake8]
2 | max-line-length=88
3 | ignore=F821,
4 | W503,
5 | E203, # space before :
6 | E501,
7 | E265,
8 | E266, # too many #
9 | E711,
10 | E712 # web2py needs to compare to == True or == False for queries
11 |
12 | builtins=settings,
13 | request,
14 | response,
15 | db,
16 | auth,
17 | redirect,
18 | XML,
19 | URL,
20 | T,
21 | HTTP,
22 | cache,
23 | gluon,
24 | verifyInstructorStatus
25 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/static/js/documentation_options.js:
--------------------------------------------------------------------------------
1 | var DOCUMENTATION_OPTIONS = {
2 | URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
3 | VERSION: '0.0',
4 | LANGUAGE: 'en',
5 | COLLAPSE_INDEX: false,
6 | BUILDER: 'html',
7 | FILE_SUFFIX: '.html',
8 | LINK_SUFFIX: '.html',
9 | HAS_SOURCE: true,
10 | SOURCELINK_SUFFIX: '.txt',
11 | NAVIGATION_WITH_KEYS: false
12 | };
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/pydal/exceptions.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 |
4 | class NotFoundException(Exception):
5 | pass
6 |
7 |
8 | class NotAuthorizedException(Exception):
9 | pass
10 |
11 |
12 | class NotOnNOSQLError(NotImplementedError):
13 | def __init__(self, message=None):
14 | if message is None:
15 | message = "Not Supported on NoSQL databases"
16 | super(NotOnNOSQLError, self).__init__(message)
17 |
--------------------------------------------------------------------------------
/components/rsptx/lti1p3/pylti1p3/utils.py:
--------------------------------------------------------------------------------
1 | import urllib.parse as urlparse # type: ignore
2 | from urllib.parse import urlencode # type: ignore
3 |
4 |
5 | def add_param_to_url(url: str, param_name: str, param_value: object) -> str:
6 | url_parts = list(urlparse.urlparse(url))
7 | query = dict(urlparse.parse_qsl(url_parts[4]))
8 | query[str(param_name)] = str(param_value)
9 | url_parts[4] = urlencode(query)
10 | return urlparse.urlunparse(url_parts)
11 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/utils/date.ts:
--------------------------------------------------------------------------------
1 | export const convertDateToISO = (date: Date): string => {
2 | const offset = date.getTimezoneOffset();
3 | const localDate = new Date(date.getTime() - offset * 60 * 1000);
4 |
5 | return localDate.toISOString().slice(0, 19); // Remove 'Z' and milliseconds
6 | };
7 |
8 | export const getDateFormat = (locale = navigator.language) => {
9 | return locale.endsWith("US") ? "mm/dd/yy" : "dd/mm/yy";
10 | };
11 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/activecode/toctree.rst:
--------------------------------------------------------------------------------
1 | *************************************************
2 | ActiveCode - Run code in the browser
3 | *************************************************
4 | See the `overview `_.
5 |
6 | .. toctree::
7 | :maxdepth: 1
8 | :glob:
9 |
10 | README
11 | *.py
12 | js/*.js
13 | css/*.css
14 | *.java
15 | test/test_*.py
16 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 | out
8 |
9 | # testing
10 | /coverage
11 |
12 | # production
13 | /build
14 |
15 | # misc
16 | .DS_Store
17 | .env.local
18 | .env.development.local
19 | .env.test.local
20 | .env.production.local
21 |
22 | npm-debug.log*
23 | yarn-debug.log*
24 | yarn-error.log*
25 | .vite
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/components/routes/AssignmentBuilder/index.tsx:
--------------------------------------------------------------------------------
1 | export { AssignmentBuilder } from "./AssignmentBuilder";
2 | export { AssignmentBuilderCreate } from "./components/AssignmentBuilderCreate";
3 | export { AssignmentBuilderEdit } from "./components/AssignmentBuilderEdit";
4 | export { AssignmentBuilderExercises } from "./components/AssignmentBuilderExercises";
5 | export { AssignmentBuilderLayout } from "./components/AssignmentBuilderLayout";
6 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/pydal/parsers/google.py:
--------------------------------------------------------------------------------
1 | from ..adapters.google import GoogleDatastore
2 | from . import for_type, parsers
3 | from .base import BasicParser, JSONParser
4 |
5 |
6 | @parsers.register_for(GoogleDatastore)
7 | class GoogleDatastoreParser(BasicParser, JSONParser):
8 | @for_type("id")
9 | def _id(self, value):
10 | return value
11 |
12 | @for_type("boolean")
13 | def _boolean(self, value):
14 | return value
15 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/gluon/packages/dal/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from ._adapt import IS_NOSQL
2 |
3 | if IS_NOSQL:
4 | from .nosql import *
5 | else:
6 | from .sql import *
7 | from .indexes import *
8 |
9 | from .validation import *
10 | from .caching import TestCache
11 | from .smart_query import *
12 | from .base import *
13 | from .contribs import *
14 | from .validators import *
15 | from .is_url_validators import *
16 | from .restapi import *
17 | from .tags import *
18 |
--------------------------------------------------------------------------------
/bases/rsptx/assignment_server_api/assignment_builder/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | const reportWebVitals = (onPerfEntry: any) => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import("web-vitals").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/build/preview/_templates/plugin_layouts/sphinx_bootstrap/globaltoc.html:
--------------------------------------------------------------------------------
1 |
2 | {{ theme_navbar_site_name }}
5 |
7 |
8 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/codelens/README.rst:
--------------------------------------------------------------------------------
1 | Codelens Directive
2 | ==================
3 |
4 | The master repository for the css/js files from OnlinePythonTutor is https://github.com/pgbovine/OnlinePythonTutor
5 |
6 | CSS:
7 |
8 | modal-basic.css is the style for modal popups inside codelens
9 | pytutor
10 |
11 | JS:
12 |
13 | All js files are from OPT.
14 |
15 | If you want to make customizations for Runestone use the fork at https://github.com/bnmnetp/OnlinePythonTutor
16 |
17 |
18 |
--------------------------------------------------------------------------------
/bases/rsptx/interactives/runestone/video/css/video.css:
--------------------------------------------------------------------------------
1 | figcaption {
2 | margin: 0.75em 0;
3 | text-align: center;
4 | font: italic 13px/18px Cambria, Georgia, "Times New Roman", Times, serif;
5 | }
6 |
7 | img.bookfig {
8 | margin-left: auto;
9 | margin-right: auto;
10 | }
11 |
12 | .cl_caption {
13 | text-align: center;
14 | font-weight: bold;
15 | }
16 |
17 | .runestone iframe {
18 | display: block;
19 | margin-left: auto;
20 | margin-right: auto;
21 | }
22 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/admin/views/default.mobile/about.html:
--------------------------------------------------------------------------------
1 | {{extend 'default.mobile/layout.html'}}
2 |
3 | {{block sectionclass}}about{{end}}
4 |
5 | {{=T("About application")}} "{{=app}}"
6 | {{=T("About")}} {{=app}}
7 | {{=button(URL('edit/%s/ABOUT' % (app)), T('Edit'))}}
8 | {{=about}}
9 | {{=T('License for')}} {{=app}}
10 | {{=button(URL('edit/%s/LICENSE' % (app)), T('Edit'))}}
11 | {{=license}}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/bases/rsptx/web2py_server/applications/runestone/.dockerignore:
--------------------------------------------------------------------------------
1 | # ***********************************
2 | # |docname| - Files ignored by docker
3 | # ***********************************
4 | # Per the `docs `__, these files are excluded from the Docker context.
5 | .git
6 | .venv
7 | _build
8 | **/Data
9 | **/Notebooks
10 | **/TestNotebooks
11 | **/Solutions
12 | **/altair*.json
13 | **/__pycache__
14 | books
15 | docker/letsencrypt
16 |
--------------------------------------------------------------------------------