Fixups
This commit is contained in:
parent
43a0fa6c4f
commit
f225d5ebef
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/bash
|
||||||
|
mpiexec -n 2 ./program
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#SBATCH -N 2
|
|
||||||
mpiexec program
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/bash
|
||||||
|
mpiexec -n 2 ./program
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#SBATCH -n 4
|
|
||||||
mpiexec program
|
|
|
@ -1,541 +0,0 @@
|
||||||
let SessionLoad = 1
|
|
||||||
if &cp | set nocp | endif
|
|
||||||
let s:cpo_save=&cpo
|
|
||||||
set cpo&vim
|
|
||||||
nmap gx <Plug>NetrwBrowseX
|
|
||||||
nnoremap <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cfile>"),0)
|
|
||||||
let &cpo=s:cpo_save
|
|
||||||
unlet s:cpo_save
|
|
||||||
set autoindent
|
|
||||||
set backspace=indent,eol,start
|
|
||||||
set copyindent
|
|
||||||
set expandtab
|
|
||||||
set fileencodings=ucs-bom,utf-8,default,latin1
|
|
||||||
set helplang=en
|
|
||||||
set laststatus=2
|
|
||||||
set mouse=a
|
|
||||||
set printoptions=paper:a4
|
|
||||||
set ruler
|
|
||||||
set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim74,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
|
|
||||||
set shiftround
|
|
||||||
set shiftwidth=4
|
|
||||||
set smarttab
|
|
||||||
set softtabstop=4
|
|
||||||
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
|
|
||||||
set tabstop=4
|
|
||||||
set wildmenu
|
|
||||||
set wildmode=list:longest,full
|
|
||||||
let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
|
|
||||||
let v:this_session=expand("<sfile>:p")
|
|
||||||
silent only
|
|
||||||
cd ~/git/HOOU/oer/exercise-formats/program
|
|
||||||
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
|
|
||||||
let s:wipebuf = bufnr('%')
|
|
||||||
endif
|
|
||||||
set shortmess=aoO
|
|
||||||
badd +0 match-regex-parallel/controller.py
|
|
||||||
badd +0 match-regex-parallel/ExerciseHandler.py
|
|
||||||
badd +0 ../../../django-platform/runner/tasks.py
|
|
||||||
badd +0 match-regex-parallel/script.js
|
|
||||||
argglobal
|
|
||||||
silent! argdel *
|
|
||||||
set stal=2
|
|
||||||
edit match-regex-parallel/controller.py
|
|
||||||
set splitbelow splitright
|
|
||||||
set nosplitbelow
|
|
||||||
set nosplitright
|
|
||||||
wincmd t
|
|
||||||
set winheight=1 winwidth=1
|
|
||||||
argglobal
|
|
||||||
setlocal keymap=
|
|
||||||
setlocal noarabic
|
|
||||||
setlocal autoindent
|
|
||||||
setlocal backupcopy=
|
|
||||||
setlocal balloonexpr=
|
|
||||||
setlocal nobinary
|
|
||||||
setlocal nobreakindent
|
|
||||||
setlocal breakindentopt=
|
|
||||||
setlocal bufhidden=
|
|
||||||
setlocal buflisted
|
|
||||||
setlocal buftype=
|
|
||||||
setlocal nocindent
|
|
||||||
setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
|
|
||||||
setlocal cinoptions=
|
|
||||||
setlocal cinwords=if,else,while,do,for,switch
|
|
||||||
set colorcolumn=80
|
|
||||||
setlocal colorcolumn=80
|
|
||||||
setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
|
|
||||||
setlocal commentstring=/*%s*/
|
|
||||||
setlocal complete=.,w,b,u,t,i
|
|
||||||
setlocal concealcursor=
|
|
||||||
setlocal conceallevel=0
|
|
||||||
setlocal completefunc=
|
|
||||||
setlocal copyindent
|
|
||||||
setlocal cryptmethod=
|
|
||||||
setlocal nocursorbind
|
|
||||||
setlocal nocursorcolumn
|
|
||||||
setlocal nocursorline
|
|
||||||
setlocal define=
|
|
||||||
setlocal dictionary=
|
|
||||||
setlocal nodiff
|
|
||||||
setlocal equalprg=
|
|
||||||
setlocal errorformat=
|
|
||||||
setlocal expandtab
|
|
||||||
if &filetype != 'python'
|
|
||||||
setlocal filetype=python
|
|
||||||
endif
|
|
||||||
setlocal foldcolumn=0
|
|
||||||
setlocal foldenable
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldtext=foldtext()
|
|
||||||
setlocal formatexpr=
|
|
||||||
setlocal formatoptions=tcq
|
|
||||||
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
|
|
||||||
setlocal grepprg=
|
|
||||||
setlocal iminsert=2
|
|
||||||
setlocal imsearch=2
|
|
||||||
setlocal include=
|
|
||||||
setlocal includeexpr=
|
|
||||||
setlocal indentexpr=
|
|
||||||
setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
|
|
||||||
setlocal noinfercase
|
|
||||||
setlocal iskeyword=@,48-57,_,192-255
|
|
||||||
setlocal keywordprg=
|
|
||||||
setlocal nolinebreak
|
|
||||||
setlocal nolisp
|
|
||||||
setlocal lispwords=
|
|
||||||
setlocal nolist
|
|
||||||
setlocal makeprg=
|
|
||||||
setlocal matchpairs=(:),{:},[:]
|
|
||||||
setlocal modeline
|
|
||||||
setlocal modifiable
|
|
||||||
setlocal nrformats=octal,hex
|
|
||||||
set number
|
|
||||||
setlocal number
|
|
||||||
setlocal numberwidth=4
|
|
||||||
setlocal omnifunc=
|
|
||||||
setlocal path=
|
|
||||||
setlocal nopreserveindent
|
|
||||||
setlocal nopreviewwindow
|
|
||||||
setlocal quoteescape=\\
|
|
||||||
setlocal noreadonly
|
|
||||||
setlocal norelativenumber
|
|
||||||
setlocal norightleft
|
|
||||||
setlocal rightleftcmd=search
|
|
||||||
setlocal noscrollbind
|
|
||||||
setlocal shiftwidth=4
|
|
||||||
setlocal noshortname
|
|
||||||
setlocal nosmartindent
|
|
||||||
setlocal softtabstop=4
|
|
||||||
setlocal nospell
|
|
||||||
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
|
|
||||||
setlocal spellfile=
|
|
||||||
setlocal spelllang=en
|
|
||||||
setlocal statusline=
|
|
||||||
setlocal suffixesadd=
|
|
||||||
setlocal swapfile
|
|
||||||
setlocal synmaxcol=3000
|
|
||||||
if &syntax != 'python'
|
|
||||||
setlocal syntax=python
|
|
||||||
endif
|
|
||||||
setlocal tabstop=4
|
|
||||||
setlocal tags=
|
|
||||||
setlocal textwidth=0
|
|
||||||
setlocal thesaurus=
|
|
||||||
setlocal noundofile
|
|
||||||
setlocal undolevels=-123456
|
|
||||||
setlocal nowinfixheight
|
|
||||||
setlocal nowinfixwidth
|
|
||||||
setlocal wrap
|
|
||||||
setlocal wrapmargin=0
|
|
||||||
silent! normal! zE
|
|
||||||
let s:l = 46 - ((6 * winheight(0) + 32) / 65)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
exe s:l
|
|
||||||
normal! zt
|
|
||||||
46
|
|
||||||
normal! 0
|
|
||||||
tabedit match-regex-parallel/script.js
|
|
||||||
set splitbelow splitright
|
|
||||||
set nosplitbelow
|
|
||||||
set nosplitright
|
|
||||||
wincmd t
|
|
||||||
set winheight=1 winwidth=1
|
|
||||||
argglobal
|
|
||||||
setlocal keymap=
|
|
||||||
setlocal noarabic
|
|
||||||
setlocal autoindent
|
|
||||||
setlocal backupcopy=
|
|
||||||
setlocal balloonexpr=
|
|
||||||
setlocal nobinary
|
|
||||||
setlocal nobreakindent
|
|
||||||
setlocal breakindentopt=
|
|
||||||
setlocal bufhidden=
|
|
||||||
setlocal buflisted
|
|
||||||
setlocal buftype=
|
|
||||||
setlocal nocindent
|
|
||||||
setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
|
|
||||||
setlocal cinoptions=
|
|
||||||
setlocal cinwords=if,else,while,do,for,switch
|
|
||||||
set colorcolumn=80
|
|
||||||
setlocal colorcolumn=80
|
|
||||||
setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
|
|
||||||
setlocal commentstring=/*%s*/
|
|
||||||
setlocal complete=.,w,b,u,t,i
|
|
||||||
setlocal concealcursor=
|
|
||||||
setlocal conceallevel=0
|
|
||||||
setlocal completefunc=
|
|
||||||
setlocal copyindent
|
|
||||||
setlocal cryptmethod=
|
|
||||||
setlocal nocursorbind
|
|
||||||
setlocal nocursorcolumn
|
|
||||||
setlocal nocursorline
|
|
||||||
setlocal define=
|
|
||||||
setlocal dictionary=
|
|
||||||
setlocal nodiff
|
|
||||||
setlocal equalprg=
|
|
||||||
setlocal errorformat=
|
|
||||||
setlocal expandtab
|
|
||||||
if &filetype != 'javascript'
|
|
||||||
setlocal filetype=javascript
|
|
||||||
endif
|
|
||||||
setlocal foldcolumn=0
|
|
||||||
setlocal foldenable
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldtext=foldtext()
|
|
||||||
setlocal formatexpr=
|
|
||||||
setlocal formatoptions=tcq
|
|
||||||
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
|
|
||||||
setlocal grepprg=
|
|
||||||
setlocal iminsert=2
|
|
||||||
setlocal imsearch=2
|
|
||||||
setlocal include=
|
|
||||||
setlocal includeexpr=
|
|
||||||
setlocal indentexpr=
|
|
||||||
setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
|
|
||||||
setlocal noinfercase
|
|
||||||
setlocal iskeyword=@,48-57,_,192-255
|
|
||||||
setlocal keywordprg=
|
|
||||||
setlocal nolinebreak
|
|
||||||
setlocal nolisp
|
|
||||||
setlocal lispwords=
|
|
||||||
setlocal nolist
|
|
||||||
setlocal makeprg=
|
|
||||||
setlocal matchpairs=(:),{:},[:]
|
|
||||||
setlocal modeline
|
|
||||||
setlocal modifiable
|
|
||||||
setlocal nrformats=octal,hex
|
|
||||||
set number
|
|
||||||
setlocal number
|
|
||||||
setlocal numberwidth=4
|
|
||||||
setlocal omnifunc=
|
|
||||||
setlocal path=
|
|
||||||
setlocal nopreserveindent
|
|
||||||
setlocal nopreviewwindow
|
|
||||||
setlocal quoteescape=\\
|
|
||||||
setlocal noreadonly
|
|
||||||
setlocal norelativenumber
|
|
||||||
setlocal norightleft
|
|
||||||
setlocal rightleftcmd=search
|
|
||||||
setlocal noscrollbind
|
|
||||||
setlocal shiftwidth=4
|
|
||||||
setlocal noshortname
|
|
||||||
setlocal nosmartindent
|
|
||||||
setlocal softtabstop=4
|
|
||||||
setlocal nospell
|
|
||||||
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
|
|
||||||
setlocal spellfile=
|
|
||||||
setlocal spelllang=en
|
|
||||||
setlocal statusline=
|
|
||||||
setlocal suffixesadd=
|
|
||||||
setlocal swapfile
|
|
||||||
setlocal synmaxcol=3000
|
|
||||||
if &syntax != 'javascript'
|
|
||||||
setlocal syntax=javascript
|
|
||||||
endif
|
|
||||||
setlocal tabstop=4
|
|
||||||
setlocal tags=
|
|
||||||
setlocal textwidth=0
|
|
||||||
setlocal thesaurus=
|
|
||||||
setlocal noundofile
|
|
||||||
setlocal undolevels=-123456
|
|
||||||
setlocal nowinfixheight
|
|
||||||
setlocal nowinfixwidth
|
|
||||||
setlocal wrap
|
|
||||||
setlocal wrapmargin=0
|
|
||||||
silent! normal! zE
|
|
||||||
let s:l = 107 - ((52 * winheight(0) + 32) / 65)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
exe s:l
|
|
||||||
normal! zt
|
|
||||||
107
|
|
||||||
normal! 020|
|
|
||||||
tabedit match-regex-parallel/ExerciseHandler.py
|
|
||||||
set splitbelow splitright
|
|
||||||
set nosplitbelow
|
|
||||||
set nosplitright
|
|
||||||
wincmd t
|
|
||||||
set winheight=1 winwidth=1
|
|
||||||
argglobal
|
|
||||||
setlocal keymap=
|
|
||||||
setlocal noarabic
|
|
||||||
setlocal autoindent
|
|
||||||
setlocal backupcopy=
|
|
||||||
setlocal balloonexpr=
|
|
||||||
setlocal nobinary
|
|
||||||
setlocal nobreakindent
|
|
||||||
setlocal breakindentopt=
|
|
||||||
setlocal bufhidden=
|
|
||||||
setlocal buflisted
|
|
||||||
setlocal buftype=
|
|
||||||
setlocal nocindent
|
|
||||||
setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
|
|
||||||
setlocal cinoptions=
|
|
||||||
setlocal cinwords=if,else,while,do,for,switch
|
|
||||||
set colorcolumn=80
|
|
||||||
setlocal colorcolumn=80
|
|
||||||
setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
|
|
||||||
setlocal commentstring=/*%s*/
|
|
||||||
setlocal complete=.,w,b,u,t,i
|
|
||||||
setlocal concealcursor=
|
|
||||||
setlocal conceallevel=0
|
|
||||||
setlocal completefunc=
|
|
||||||
setlocal copyindent
|
|
||||||
setlocal cryptmethod=
|
|
||||||
setlocal nocursorbind
|
|
||||||
setlocal nocursorcolumn
|
|
||||||
setlocal nocursorline
|
|
||||||
setlocal define=
|
|
||||||
setlocal dictionary=
|
|
||||||
setlocal nodiff
|
|
||||||
setlocal equalprg=
|
|
||||||
setlocal errorformat=
|
|
||||||
setlocal expandtab
|
|
||||||
if &filetype != 'python'
|
|
||||||
setlocal filetype=python
|
|
||||||
endif
|
|
||||||
setlocal foldcolumn=0
|
|
||||||
setlocal foldenable
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldtext=foldtext()
|
|
||||||
setlocal formatexpr=
|
|
||||||
setlocal formatoptions=tcq
|
|
||||||
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
|
|
||||||
setlocal grepprg=
|
|
||||||
setlocal iminsert=2
|
|
||||||
setlocal imsearch=2
|
|
||||||
setlocal include=
|
|
||||||
setlocal includeexpr=
|
|
||||||
setlocal indentexpr=
|
|
||||||
setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
|
|
||||||
setlocal noinfercase
|
|
||||||
setlocal iskeyword=@,48-57,_,192-255
|
|
||||||
setlocal keywordprg=
|
|
||||||
setlocal nolinebreak
|
|
||||||
setlocal nolisp
|
|
||||||
setlocal lispwords=
|
|
||||||
setlocal nolist
|
|
||||||
setlocal makeprg=
|
|
||||||
setlocal matchpairs=(:),{:},[:]
|
|
||||||
setlocal modeline
|
|
||||||
setlocal modifiable
|
|
||||||
setlocal nrformats=octal,hex
|
|
||||||
set number
|
|
||||||
setlocal number
|
|
||||||
setlocal numberwidth=4
|
|
||||||
setlocal omnifunc=
|
|
||||||
setlocal path=
|
|
||||||
setlocal nopreserveindent
|
|
||||||
setlocal nopreviewwindow
|
|
||||||
setlocal quoteescape=\\
|
|
||||||
setlocal noreadonly
|
|
||||||
setlocal norelativenumber
|
|
||||||
setlocal norightleft
|
|
||||||
setlocal rightleftcmd=search
|
|
||||||
setlocal noscrollbind
|
|
||||||
setlocal shiftwidth=4
|
|
||||||
setlocal noshortname
|
|
||||||
setlocal nosmartindent
|
|
||||||
setlocal softtabstop=4
|
|
||||||
setlocal nospell
|
|
||||||
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
|
|
||||||
setlocal spellfile=
|
|
||||||
setlocal spelllang=en
|
|
||||||
setlocal statusline=
|
|
||||||
setlocal suffixesadd=
|
|
||||||
setlocal swapfile
|
|
||||||
setlocal synmaxcol=3000
|
|
||||||
if &syntax != 'python'
|
|
||||||
setlocal syntax=python
|
|
||||||
endif
|
|
||||||
setlocal tabstop=4
|
|
||||||
setlocal tags=
|
|
||||||
setlocal textwidth=0
|
|
||||||
setlocal thesaurus=
|
|
||||||
setlocal noundofile
|
|
||||||
setlocal undolevels=-123456
|
|
||||||
setlocal nowinfixheight
|
|
||||||
setlocal nowinfixwidth
|
|
||||||
setlocal wrap
|
|
||||||
setlocal wrapmargin=0
|
|
||||||
silent! normal! zE
|
|
||||||
let s:l = 32 - ((31 * winheight(0) + 32) / 65)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
exe s:l
|
|
||||||
normal! zt
|
|
||||||
32
|
|
||||||
normal! 041|
|
|
||||||
tabedit ../../../django-platform/runner/tasks.py
|
|
||||||
set splitbelow splitright
|
|
||||||
set nosplitbelow
|
|
||||||
set nosplitright
|
|
||||||
wincmd t
|
|
||||||
set winheight=1 winwidth=1
|
|
||||||
argglobal
|
|
||||||
setlocal keymap=
|
|
||||||
setlocal noarabic
|
|
||||||
setlocal autoindent
|
|
||||||
setlocal backupcopy=
|
|
||||||
setlocal balloonexpr=
|
|
||||||
setlocal nobinary
|
|
||||||
setlocal nobreakindent
|
|
||||||
setlocal breakindentopt=
|
|
||||||
setlocal bufhidden=
|
|
||||||
setlocal buflisted
|
|
||||||
setlocal buftype=
|
|
||||||
setlocal nocindent
|
|
||||||
setlocal cinkeys=0{,0},0),:,0#,!^F,o,O,e
|
|
||||||
setlocal cinoptions=
|
|
||||||
setlocal cinwords=if,else,while,do,for,switch
|
|
||||||
set colorcolumn=80
|
|
||||||
setlocal colorcolumn=80
|
|
||||||
setlocal comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-
|
|
||||||
setlocal commentstring=/*%s*/
|
|
||||||
setlocal complete=.,w,b,u,t,i
|
|
||||||
setlocal concealcursor=
|
|
||||||
setlocal conceallevel=0
|
|
||||||
setlocal completefunc=
|
|
||||||
setlocal copyindent
|
|
||||||
setlocal cryptmethod=
|
|
||||||
setlocal nocursorbind
|
|
||||||
setlocal nocursorcolumn
|
|
||||||
setlocal nocursorline
|
|
||||||
setlocal define=
|
|
||||||
setlocal dictionary=
|
|
||||||
setlocal nodiff
|
|
||||||
setlocal equalprg=
|
|
||||||
setlocal errorformat=
|
|
||||||
setlocal expandtab
|
|
||||||
if &filetype != 'python'
|
|
||||||
setlocal filetype=python
|
|
||||||
endif
|
|
||||||
setlocal foldcolumn=0
|
|
||||||
setlocal foldenable
|
|
||||||
setlocal foldexpr=0
|
|
||||||
setlocal foldignore=#
|
|
||||||
setlocal foldlevel=0
|
|
||||||
setlocal foldmarker={{{,}}}
|
|
||||||
setlocal foldmethod=manual
|
|
||||||
setlocal foldminlines=1
|
|
||||||
setlocal foldnestmax=20
|
|
||||||
setlocal foldtext=foldtext()
|
|
||||||
setlocal formatexpr=
|
|
||||||
setlocal formatoptions=tcq
|
|
||||||
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
|
|
||||||
setlocal grepprg=
|
|
||||||
setlocal iminsert=2
|
|
||||||
setlocal imsearch=2
|
|
||||||
setlocal include=
|
|
||||||
setlocal includeexpr=
|
|
||||||
setlocal indentexpr=
|
|
||||||
setlocal indentkeys=0{,0},:,0#,!^F,o,O,e
|
|
||||||
setlocal noinfercase
|
|
||||||
setlocal iskeyword=@,48-57,_,192-255
|
|
||||||
setlocal keywordprg=
|
|
||||||
setlocal nolinebreak
|
|
||||||
setlocal nolisp
|
|
||||||
setlocal lispwords=
|
|
||||||
setlocal nolist
|
|
||||||
setlocal makeprg=
|
|
||||||
setlocal matchpairs=(:),{:},[:]
|
|
||||||
setlocal modeline
|
|
||||||
setlocal modifiable
|
|
||||||
setlocal nrformats=octal,hex
|
|
||||||
set number
|
|
||||||
setlocal number
|
|
||||||
setlocal numberwidth=4
|
|
||||||
setlocal omnifunc=
|
|
||||||
setlocal path=
|
|
||||||
setlocal nopreserveindent
|
|
||||||
setlocal nopreviewwindow
|
|
||||||
setlocal quoteescape=\\
|
|
||||||
setlocal noreadonly
|
|
||||||
setlocal norelativenumber
|
|
||||||
setlocal norightleft
|
|
||||||
setlocal rightleftcmd=search
|
|
||||||
setlocal noscrollbind
|
|
||||||
setlocal shiftwidth=4
|
|
||||||
setlocal noshortname
|
|
||||||
setlocal nosmartindent
|
|
||||||
setlocal softtabstop=4
|
|
||||||
setlocal nospell
|
|
||||||
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
|
|
||||||
setlocal spellfile=
|
|
||||||
setlocal spelllang=en
|
|
||||||
setlocal statusline=
|
|
||||||
setlocal suffixesadd=
|
|
||||||
setlocal swapfile
|
|
||||||
setlocal synmaxcol=3000
|
|
||||||
if &syntax != 'python'
|
|
||||||
setlocal syntax=python
|
|
||||||
endif
|
|
||||||
setlocal tabstop=4
|
|
||||||
setlocal tags=
|
|
||||||
setlocal textwidth=0
|
|
||||||
setlocal thesaurus=
|
|
||||||
setlocal noundofile
|
|
||||||
setlocal undolevels=-123456
|
|
||||||
setlocal nowinfixheight
|
|
||||||
setlocal nowinfixwidth
|
|
||||||
setlocal wrap
|
|
||||||
setlocal wrapmargin=0
|
|
||||||
silent! normal! zE
|
|
||||||
let s:l = 1 - ((0 * winheight(0) + 32) / 65)
|
|
||||||
if s:l < 1 | let s:l = 1 | endif
|
|
||||||
exe s:l
|
|
||||||
normal! zt
|
|
||||||
1
|
|
||||||
normal! 0
|
|
||||||
tabnext 2
|
|
||||||
set stal=1
|
|
||||||
if exists('s:wipebuf')
|
|
||||||
silent exe 'bwipe ' . s:wipebuf
|
|
||||||
endif
|
|
||||||
unlet! s:wipebuf
|
|
||||||
set winheight=1 winwidth=20 shortmess=filnxtToO
|
|
||||||
let s:sx = expand("<sfile>:p:r")."x.vim"
|
|
||||||
if file_readable(s:sx)
|
|
||||||
exe "source " . fnameescape(s:sx)
|
|
||||||
endif
|
|
||||||
let &so = s:so_save | let &siso = s:siso_save
|
|
||||||
doautoall SessionLoadPost
|
|
||||||
unlet SessionLoad
|
|
||||||
" vim: set ft=vim :
|
|
Binary file not shown.
|
@ -36,23 +36,26 @@ def execute(ctx):
|
||||||
if ctx.build_result[0] != 0:
|
if ctx.build_result[0] != 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
allArgs = ["/usr/bin/sbatch", ctx.work_path + "/job.slurm"]
|
allArgs = ("/usr/bin/docker run -h localhost --user 1001:65534 --rm -v /data/run/jobs/%s/:/data/ --network none kunkel/oer-worker /data/execute.sh" % ctx.id).split(" ")
|
||||||
|
print(" ".join(allArgs), file=sys.stderr)
|
||||||
|
|
||||||
p = subprocess.Popen(allArgs, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=ctx.work_path)
|
p = subprocess.Popen(allArgs, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=ctx.work_path)
|
||||||
|
timeout = 1
|
||||||
|
poll_period = 0.1
|
||||||
|
p.poll()
|
||||||
|
while p.returncode is None and timeout > 0:
|
||||||
|
time.sleep(poll_period)
|
||||||
|
timeout -= poll_period
|
||||||
|
p.poll()
|
||||||
|
if timeout <= 0:
|
||||||
|
p.kill() # timed out
|
||||||
|
|
||||||
msgs,errs = p.communicate()
|
msgs,errs = p.communicate()
|
||||||
retval = p.wait()
|
retval = p.wait()
|
||||||
|
|
||||||
errs = errs.decode("utf-8")
|
errs = errs.decode("utf-8")
|
||||||
msgs = msgs.decode("utf-8")
|
msgs = msgs.decode("utf-8")
|
||||||
|
|
||||||
ctx.execute_result = (retval, errs, msgs)
|
|
||||||
|
|
||||||
retval = ctx.get_file_content('job.exit')
|
|
||||||
errs = ctx.get_file_content('job.err')
|
|
||||||
msgs = ctx.get_file_content('job.out')
|
|
||||||
|
|
||||||
print( (retval, errs, msgs), file=sys.stderr)
|
|
||||||
|
|
||||||
return retval, errs, msgs
|
return retval, errs, msgs
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,156 +0,0 @@
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
response = {};
|
|
||||||
|
|
||||||
response.show = function (action, msg, output) {
|
|
||||||
console.log("show issued" + action + msg);
|
|
||||||
|
|
||||||
html = "";
|
|
||||||
|
|
||||||
if (action == "test") {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if (msg.data.grade == "PASS") {
|
|
||||||
html = '<div class="alert alert-success" role="alert"><strong>Great!</strong> Your solution is correct.<br/></div>';
|
|
||||||
$("#continue").prop( "disabled", false);
|
|
||||||
} else if (msg.data.grade == "FAIL") {
|
|
||||||
html = '<div class="alert alert-danger" role="alert"><strong>Sorry!</strong> That is not correct.<br/></div>';
|
|
||||||
} else {
|
|
||||||
// assume test
|
|
||||||
//html = msg;
|
|
||||||
// a possible message that is generated yb the server to give tips?
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
console.log(output)
|
|
||||||
if ( output == "" ) {
|
|
||||||
output = " "
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( output != false) {
|
|
||||||
console.log("output is not false")
|
|
||||||
$("#output-wrapper").show(500);
|
|
||||||
$("#output").html(output);
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#response").hide().html(html).show(500);
|
|
||||||
|
|
||||||
|
|
||||||
$("#submit-test").prop( "disabled", false);
|
|
||||||
$("#submit-grade").prop( "disabled", false);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
job = {}
|
|
||||||
job.submit = function (action) {
|
|
||||||
|
|
||||||
console.log("Test submission issued..");
|
|
||||||
console.log( $("#c-code").val() );
|
|
||||||
|
|
||||||
submission = {"solution": cEditor.getValue(), "action": action, "slide": window.data.slide};
|
|
||||||
submission_json = JSON.stringify(submission);
|
|
||||||
|
|
||||||
console.log(submission_json)
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
method: "POST",
|
|
||||||
url: "/api/rest/job/new/",
|
|
||||||
contentType: 'application/json',
|
|
||||||
data: submission_json
|
|
||||||
})
|
|
||||||
.done(function( msg ) {
|
|
||||||
console.log("Job submitted: " + msg );
|
|
||||||
console.log(msg);
|
|
||||||
|
|
||||||
job_id = msg['id'];
|
|
||||||
|
|
||||||
$("#job-control").show(500);
|
|
||||||
setTimeout(function(){ job.status(action, job_id); }, 1000);
|
|
||||||
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
job_status_countdown = 5;
|
|
||||||
job_status_retries = 1;
|
|
||||||
job.status = function (action, job_id) {
|
|
||||||
|
|
||||||
console.log(action)
|
|
||||||
|
|
||||||
$("#collect-results-countdown").html("(retry in " + job_status_countdown +" s)");
|
|
||||||
|
|
||||||
if (job_status_countdown > 0) {
|
|
||||||
job_status_countdown--;
|
|
||||||
setTimeout(function(){ job.status(action, job_id); }, 1000);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
e = {"dummy": "dummy value"};
|
|
||||||
json_data = JSON.stringify(e);
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
method: "GET",
|
|
||||||
url: "/api/rest/job/" + job_id + "/",
|
|
||||||
contentType: 'application/json',
|
|
||||||
})
|
|
||||||
.done(function( msg ) {
|
|
||||||
console.log("Status received: " + msg );
|
|
||||||
console.log(msg);
|
|
||||||
|
|
||||||
if ( msg.status == 'SUCCESS' ) {
|
|
||||||
$("#job-control").hide(500);
|
|
||||||
job_status_retries = 1;
|
|
||||||
response.show(action, msg, msg.data.output);
|
|
||||||
} else {
|
|
||||||
job_status_countdown = 5 * job_status_retries;
|
|
||||||
job_status_retries++;
|
|
||||||
//response.show(action, "processing...", false);
|
|
||||||
setTimeout(function(){ job.status(action, job_id); }, 1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
$("#submit-test").click(function(event) {
|
|
||||||
$("#submit-test").prop( "disabled", true);
|
|
||||||
job.submit("test");
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#submit-grade").click(function(event) {
|
|
||||||
$("#submit-grade").prop( "disabled", true);
|
|
||||||
job.submit("grade");
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$("#exercise-choices a.list-group-item").click(function(event) {
|
|
||||||
event.preventDefault()
|
|
||||||
//$("#submit-test").prop( "disabled", true);
|
|
||||||
//job.submit("test");
|
|
||||||
|
|
||||||
|
|
||||||
target = event.target
|
|
||||||
|
|
||||||
|
|
||||||
if ( $(target).is('input') ) {
|
|
||||||
target = $(event.target).parent()[0]
|
|
||||||
} else {
|
|
||||||
// also check/uncheck when clicking surounding
|
|
||||||
}
|
|
||||||
|
|
||||||
//if ( $(target).children("input").attr('type') == 'radio' ) {
|
|
||||||
// $(target).parent().children(".list-group-item-success").removeClass("list-group-item-success");
|
|
||||||
//}
|
|
||||||
|
|
||||||
console.log(target)
|
|
||||||
$(target).children("input").each(function () { this.checked = !this.checked; console.log(this) });
|
|
||||||
//$(target).toggleClass("list-group-item-success");
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
/data/oer/exercise-formats/program/match-regex/script.js
|
|
@ -0,0 +1,56 @@
|
||||||
|
{% extends "courses/course.html" %}
|
||||||
|
{% load staticfiles %}
|
||||||
|
{% load main_extras %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block exercise_content %}
|
||||||
|
{{ slide.content |safe }}
|
||||||
|
|
||||||
|
<div id="code-editor"><textarea name="sol" id="code">{{ slide_data.code |safe }}</textarea></div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var cEditor = CodeMirror.fromTextArea(document.getElementById("code"), {
|
||||||
|
lineNumbers: true,
|
||||||
|
viewportMargin: Infinity,
|
||||||
|
matchBrackets: true,
|
||||||
|
mode: "text/x-csrc",
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock%}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% block exercise_buttons %}
|
||||||
|
<input type="button" name="test" id="submit-test" value="Execute" class="btn btn-primary" />
|
||||||
|
<input type="button" name="submit" id="submit-grade" value="Submit Solution" class="btn btn-default" />
|
||||||
|
|
||||||
|
|
||||||
|
<div id="job-control" style="display: none; margin-top: 1em; marign-bottom: 1em;">
|
||||||
|
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i> Cancel Job</button>
|
||||||
|
<button type="submit" class="btn btn-info btn-xs" disabled><i class="glyphicon glyphicon-refresh"></i> Collect results <span id="collect-results-countdown"></span></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
</br>
|
||||||
|
</br>
|
||||||
|
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-refresh"></i> Collect results</button>
|
||||||
|
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-inbox"></i> Collect results</button>
|
||||||
|
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-download-alt"></i> Collect results</button>
|
||||||
|
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-cloud-download"></i> Collect results</button>
|
||||||
|
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-save"></i> Collect results</button>
|
||||||
|
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-copy"></i> Collect results</button>
|
||||||
|
|
||||||
|
</br>
|
||||||
|
</br>
|
||||||
|
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i> Cancel Job</button>
|
||||||
|
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove-sign"></i> Cancel Job</button>
|
||||||
|
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove-circle"></i> Cancel Job</button>
|
||||||
|
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-off"></i> Cancel Job</button>
|
||||||
|
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-trash"></i> Cancel Job</button>
|
||||||
|
-->
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block exercise_script %}
|
||||||
|
<script type="text/javascript" src="{% static 'generated_exercises' %}/{{ slide.slide_type }}/script.js"></script>
|
||||||
|
{% endblock %}
|
|
@ -23,31 +23,6 @@ var cEditor = CodeMirror.fromTextArea(document.getElementById("code"), {
|
||||||
{% block exercise_buttons %}
|
{% block exercise_buttons %}
|
||||||
<input type="button" name="test" id="submit-test" value="Execute" class="btn btn-primary" />
|
<input type="button" name="test" id="submit-test" value="Execute" class="btn btn-primary" />
|
||||||
<input type="button" name="submit" id="submit-grade" value="Submit Solution" class="btn btn-default" />
|
<input type="button" name="submit" id="submit-grade" value="Submit Solution" class="btn btn-default" />
|
||||||
|
|
||||||
|
|
||||||
<div id="job-control" style="display: none; margin-top: 1em; marign-bottom: 1em;">
|
|
||||||
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i> Cancel Job</button>
|
|
||||||
<button type="submit" class="btn btn-info btn-xs" disabled><i class="glyphicon glyphicon-refresh"></i> Collect results <span id="collect-results-countdown"></span></button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
</br>
|
|
||||||
</br>
|
|
||||||
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-refresh"></i> Collect results</button>
|
|
||||||
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-inbox"></i> Collect results</button>
|
|
||||||
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-download-alt"></i> Collect results</button>
|
|
||||||
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-cloud-download"></i> Collect results</button>
|
|
||||||
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-save"></i> Collect results</button>
|
|
||||||
<button type="submit" class="btn btn-info btn-xs"><i class="glyphicon glyphicon-copy"></i> Collect results</button>
|
|
||||||
|
|
||||||
</br>
|
|
||||||
</br>
|
|
||||||
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i> Cancel Job</button>
|
|
||||||
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove-sign"></i> Cancel Job</button>
|
|
||||||
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove-circle"></i> Cancel Job</button>
|
|
||||||
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-off"></i> Cancel Job</button>
|
|
||||||
<button type="submit" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-trash"></i> Cancel Job</button>
|
|
||||||
-->
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,156 @@
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
response = {};
|
||||||
|
|
||||||
|
response.show = function (action, msg, output) {
|
||||||
|
console.log("show issued" + action + msg);
|
||||||
|
|
||||||
|
html = "";
|
||||||
|
|
||||||
|
if (action == "test") {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (msg.data.grade == "PASS") {
|
||||||
|
html = '<div class="alert alert-success" role="alert"><strong>Great!</strong> Your solution is correct.<br/></div>';
|
||||||
|
$("#continue").prop( "disabled", false);
|
||||||
|
} else if (msg.data.grade == "FAIL") {
|
||||||
|
html = '<div class="alert alert-danger" role="alert"><strong>Sorry!</strong> That is not correct.<br/></div>';
|
||||||
|
} else {
|
||||||
|
// assume test
|
||||||
|
//html = msg;
|
||||||
|
// a possible message that is generated yb the server to give tips?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
console.log(output)
|
||||||
|
if ( output == "" ) {
|
||||||
|
output = " "
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( output != false) {
|
||||||
|
console.log("output is not false")
|
||||||
|
$("#output-wrapper").show(500);
|
||||||
|
$("#output").html(output);
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#response").hide().html(html).show(500);
|
||||||
|
|
||||||
|
|
||||||
|
$("#submit-test").prop( "disabled", false);
|
||||||
|
$("#submit-grade").prop( "disabled", false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
job = {}
|
||||||
|
job.submit = function (action) {
|
||||||
|
|
||||||
|
console.log("Test submission issued..");
|
||||||
|
console.log( $("#c-code").val() );
|
||||||
|
|
||||||
|
submission = {"solution": cEditor.getValue(), "action": action, "slide": window.data.slide};
|
||||||
|
submission_json = JSON.stringify(submission);
|
||||||
|
|
||||||
|
console.log(submission_json)
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method: "POST",
|
||||||
|
url: "/api/rest/job/new/",
|
||||||
|
contentType: 'application/json',
|
||||||
|
data: submission_json
|
||||||
|
})
|
||||||
|
.done(function( msg ) {
|
||||||
|
console.log("Job submitted: " + msg );
|
||||||
|
console.log(msg);
|
||||||
|
|
||||||
|
job_id = msg['id'];
|
||||||
|
|
||||||
|
$("#job-control").show(500);
|
||||||
|
setTimeout(function(){ job.status(action, job_id); }, 1000);
|
||||||
|
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
job_status_countdown = 5;
|
||||||
|
job_status_retries = 1;
|
||||||
|
job.status = function (action, job_id) {
|
||||||
|
|
||||||
|
console.log(action)
|
||||||
|
|
||||||
|
$("#collect-results-countdown").html("(retry in " + job_status_countdown +" s)");
|
||||||
|
|
||||||
|
if (job_status_countdown > 0) {
|
||||||
|
job_status_countdown--;
|
||||||
|
setTimeout(function(){ job.status(action, job_id); }, 1000);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
e = {"dummy": "dummy value"};
|
||||||
|
json_data = JSON.stringify(e);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method: "GET",
|
||||||
|
url: "/api/rest/job/" + job_id + "/",
|
||||||
|
contentType: 'application/json',
|
||||||
|
})
|
||||||
|
.done(function( msg ) {
|
||||||
|
console.log("Status received: " + msg );
|
||||||
|
console.log(msg);
|
||||||
|
|
||||||
|
if ( msg.status == 'SUCCESS' ) {
|
||||||
|
$("#job-control").hide(500);
|
||||||
|
job_status_retries = 1;
|
||||||
|
response.show(action, msg, msg.data.output);
|
||||||
|
} else {
|
||||||
|
job_status_countdown = 5 * job_status_retries;
|
||||||
|
job_status_retries++;
|
||||||
|
//response.show(action, "processing...", false);
|
||||||
|
setTimeout(function(){ job.status(action, job_id); }, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
$("#submit-test").click(function(event) {
|
||||||
|
$("#submit-test").prop( "disabled", true);
|
||||||
|
job.submit("test");
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#submit-grade").click(function(event) {
|
||||||
|
$("#submit-grade").prop( "disabled", true);
|
||||||
|
job.submit("grade");
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$("#exercise-choices a.list-group-item").click(function(event) {
|
||||||
|
event.preventDefault()
|
||||||
|
//$("#submit-test").prop( "disabled", true);
|
||||||
|
//job.submit("test");
|
||||||
|
|
||||||
|
|
||||||
|
target = event.target
|
||||||
|
|
||||||
|
|
||||||
|
if ( $(target).is('input') ) {
|
||||||
|
target = $(event.target).parent()[0]
|
||||||
|
} else {
|
||||||
|
// also check/uncheck when clicking surounding
|
||||||
|
}
|
||||||
|
|
||||||
|
//if ( $(target).children("input").attr('type') == 'radio' ) {
|
||||||
|
// $(target).parent().children(".list-group-item-success").removeClass("list-group-item-success");
|
||||||
|
//}
|
||||||
|
|
||||||
|
console.log(target)
|
||||||
|
$(target).children("input").each(function () { this.checked = !this.checked; console.log(this) });
|
||||||
|
//$(target).toggleClass("list-group-item-success");
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
|
@ -3,7 +3,7 @@ $(document).ready(function () {
|
||||||
response = {};
|
response = {};
|
||||||
|
|
||||||
response.show = function (type, msg, output) {
|
response.show = function (type, msg, output) {
|
||||||
//console.log("show issued" + type + msg);
|
//console.log("show issued " + type + " " + msg);
|
||||||
|
|
||||||
html = "";
|
html = "";
|
||||||
|
|
||||||
|
@ -25,18 +25,14 @@ $(document).ready(function () {
|
||||||
output = " "
|
output = " "
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( output != false) {
|
//console.log("output is not false")
|
||||||
//console.log("output is not false")
|
$("#output-wrapper").show(500);
|
||||||
$("#output-wrapper").show(500);
|
$("#output").html(output);
|
||||||
$("#output").html(output);
|
|
||||||
}
|
|
||||||
|
|
||||||
$("#response").hide().html(html).show(500);
|
$("#response").hide().html(html).show(500);
|
||||||
|
|
||||||
|
//$("#submit-test").prop( "disabled", false);
|
||||||
$("#submit-test").prop( "disabled", false);
|
//$("#submit-grade").prop( "disabled", false);
|
||||||
$("#submit-grade").prop( "disabled", false);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
print("Handler program/scriptgrade loaded!")
|
|
||||||
|
|
||||||
|
|
||||||
class ExerciseHandler(object):
|
|
||||||
def __init__(self):
|
|
||||||
print("ExerciseHandler program/scriptgrade")
|
|
|
@ -57,7 +57,7 @@ def grade(ctx):
|
||||||
# if build failed, return early and set grade to FAIL
|
# if build failed, return early and set grade to FAIL
|
||||||
if ctx.build_result[0] != 0:
|
if ctx.build_result[0] != 0:
|
||||||
return 'FAIL'
|
return 'FAIL'
|
||||||
allArgs = ['./test.sh']
|
allArgs = ("/usr/bin/docker run -h oer-worker --user 1001:65534 --rm -v /data/run/jobs/%s/:/data/ --network none kunkel/oer-worker /data/test.sh" % ctx.id).split(" ")
|
||||||
print(" ".join(allArgs), file=sys.stderr)
|
print(" ".join(allArgs), file=sys.stderr)
|
||||||
|
|
||||||
# start subprocess in with work_path as cwd
|
# start subprocess in with work_path as cwd
|
||||||
|
|
Loading…
Reference in New Issue