Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Kontr 2.0
Portal API Backend
Commits
460019ad
Verified
Commit
460019ad
authored
Apr 15, 2019
by
Peter Stanko
Browse files
IPython shell integration
parent
93895747
Pipeline
#31398
passed with stage
in 7 minutes and 37 seconds
Changes
5
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Pipfile
View file @
460019ad
...
...
@@ -43,6 +43,7 @@ responses = "*"
safety
=
"*"
bandit
=
"*"
radon
=
"=
=
2.4
.
0
"
ipython
=
"*"
[requires]
python_version
=
"3.6"
Pipfile.lock
View file @
460019ad
{
"_meta"
:
{
"hash"
:
{
"sha256"
:
"
86aa75e19a1ae3adc6eb5189d660e0ea4ce617df9817a916c7fc7d20def3960f
"
"sha256"
:
"
ec10cc3c180233cfadb2f97d723e92091f10aebd2de5a51717fc00120531ad07
"
},
"pipfile-spec"
:
6
,
"requires"
:
{
...
...
@@ -471,37 +471,37 @@
},
"psycopg2-binary"
:
{
"hashes"
:
[
"sha256:
163d3ee445a0b4c0109877da9e46271aacf4e5e3d60ae7368669555c30f13e7c
"
,
"sha256:
1af0bfe7b0c13a0e613a27311fd4f9c5d024e8fc0f4b3d284e7df02a58a11fc0
"
,
"sha256:
2169c3a1bf52d5b30cc98625b5919a964c571a32e8646be20be6c7e3e82079d
e"
,
"sha256:
218f079fa48e2ef812dc3d3ce6ec2f67ac56427ba4b038d5d6331f2cceb489c2
"
,
"sha256:2
6a958930687e94c4c6c73c171e4d4783b82ae4e16aa3424e6bcd4529bceedf0
"
,
"sha256:2
c7c195aef3acdbc853942bc674844031a732890d2fee88a324298ed376b6c2b
"
,
"sha256:
2ecdbfed7004669472bfa27c8d51012c717c241c7154ae17e4c8f93024
04
3
52
5
"
,
"sha256:
345fc31b71a90ada1b51826537917b19a1af685a91c0f066787069c184d7d00f
"
,
"sha256:
378a06649503f548be5f1e9eec2e94cc1d6138250b82a08dcc6151bca8cec107
"
,
"sha256:
3f300bf2930e501dde09605de85cb2b84c2638e2c954be02a3c86f28176d3525
"
,
"sha256:
6c2f66c653ce8bbd7e789d0f7f92c3f9fea881b55226f0ae5ee550cce9e3cf0e
"
,
"sha256:
6fccbac2633831b877a8fbf865f7082d34895e82a015795a9f80f99a2efe2576
"
,
"sha256:
7a166f8ccb6888358d3e67795b057540ea7caa71ab9e089b0cb0097f01088965
"
,
"sha256:
8f6b84f887ec6fef6c1796779f8ec2603dc7e9ef52bc9269de719d4bcbdaebbb
"
,
"sha256:
92cf3ceb7bb90cf35b8bd993c640b15d4832ba0e142a3b9da5006ef217da595d
"
,
"sha256:
a20dfdf73f56da674926a3811929cff9fd23b9af90be9a6c36ac246a3486eef3
"
,
"sha256:
a84415df4689251556c961e4fe3b25d30e32f00faa8064ce0909458dbe0d67
b2"
,
"sha256:
ab1aa1cd50df3860f624c9713ee9e690eefd4e049d3a4d86577bab6e741e9616
"
,
"sha256:
abc9dcf85e75a8687f2a6d560c0c1a2593e8e34ba6f9ad6721f8212c5de179a2
"
,
"sha256:c1
0454710a81a2f4b1ff4d1c83ac2cec63e0e55845a56324991514af5b1299d0
"
,
"sha256:
c38f80719e4dfae7a6311a4f091f07f4fb2fb5d602352015d5639f63f8fabb68
"
,
"sha256:d7
5cf00605630b2cfefa5c62373c605dcda1cc0d607902847dbb8e8e9b67c1c
e"
,
"sha256:d
ce15cb6ef604c9e38fdaa848f58f83153ade9f4aa5e4cf5812aa27163561750
"
,
"sha256:
e7e0db4311bb76bf3f6e0380f71912cfa6d0be7cc635e3772476050b0dabdabd
"
,
"sha256:e
ac59cae78dfe3fbf7ece25c170d7a152f88df7643381aa5e7344c2028a8d8d4
"
,
"sha256:
ead7b3e1567bd14cacd44279c5e42cd19f54b9feed39180220253f4fbe3abd56
"
,
"sha256:
ed772a5e8e7e5dd6bede960a86940c17cf653c7f158dafa5d52e919b676f10ba
"
,
"sha256:f
2d73131acb94afa45de8b6b8a4bfb21bbe3736633d6478e53247f19dd8c299c
"
"sha256:
007ca0df127b1862fc010125bc4100b7a630efc6841047bd11afceadb4754611
"
,
"sha256:
03c49e02adf0b4d68f422fdbd98f7a7c547beb27e99a75ed02298f85cb48406a
"
,
"sha256:
0a1232cdd314e08848825edda06600455ad2a7adaa463ebfb12ece2d09f3370
e"
,
"sha256:
131c80d0958c89273d9720b9adf9df1d7600bb3120e16019a7389ab15b079af5
"
,
"sha256:2
de34cc3b775724623f86617d2601308083176a495f5b2efc2bbb0da154f483a
"
,
"sha256:2
eddc31500f73544a2a54123d4c4b249c3c711d31e64deddb0890982ea37397a
"
,
"sha256:
484f6c62bdc166ee0e5be3aa831120423bf399786d1f3b03
0452
6c86180fbc0b
"
,
"sha256:
4c2d9369ed40b4a44a8ccd6bc3a7db6272b8314812d2d1091f95c4c836d92e06
"
,
"sha256:
70f570b5fa44413b9f30dbc053d17ef3ce6a4100147a10822f8662e58d473656
"
,
"sha256:
7a2b5b095f3bd733aab101c89c0e1a3f0dfb4ebdc26f6374805c086ffe29d5b2
"
,
"sha256:
804914a669186e2843c1f7fbe12b55aad1b36d40a28274abe6027deffad9433d
"
,
"sha256:
8520c03172da18345d012949a53617a963e0191ccb3c666f23276d5326af27b5
"
,
"sha256:
90da901fc33ea393fc644607e4a3916b509387e9339ec6ebc7bfded45b7a0ae9
"
,
"sha256:
a582416ad123291a82c300d1d872bdc4136d69ad0b41d57dc5ca3df7ef8e3088
"
,
"sha256:
ac8c5e20309f4989c296d62cac20ee456b69c41fd1bc03829e27de23b6fa9dd0
"
,
"sha256:
b2cf82f55a619879f8557fdaae5cec7a294fac815e0087c4f67026fdf5259844
"
,
"sha256:
b59d6f8cfca2983d8fdbe457bf95d2192f7b7efdb2b483bf5fa4e8981b04e8
b2"
,
"sha256:
be08168197021d669b9964bd87628fa88f910b1be31e7010901070f2540c05fd
"
,
"sha256:
be0f952f1c365061041bad16e27e224e29615d4eb1fb5b7e7760a1d3d12b90b6
"
,
"sha256:c1
c9a33e46d7c12b9c96cf2d4349d783e3127163fd96254dcd44663cf0a1d438
"
,
"sha256:
d18c89957ac57dd2a2724ecfe9a759912d776f96ecabba23acb9ecbf5c731035
"
,
"sha256:d7
e7b0ff21f39433c50397e60bf0995d078802c591ca3b8d99857ea18a7496e
e"
,
"sha256:d
a0929b2bf0d1f365345e5eb940d8713c1d516312e010135b14402e2a3d2404d
"
,
"sha256:
de24a4962e361c512d3e528ded6c7480eab24c655b8ca1f0b761d3b3650d2f07
"
,
"sha256:e
45f93ff3f7dae2202248cf413a87aeb330821bf76998b3cf374eda2fc893dd7
"
,
"sha256:
f046aeae1f7a845041b8661bb7a52449202b6c5d3fb59eb4724e7ca088811904
"
,
"sha256:
f1dc2b7b2748084b890f5d05b65a47cd03188824890e9a60818721fd492249fb
"
,
"sha256:f
cbe7cf3a786572b73d2cd5f34ed452a5f5fac47c9c9d1e0642c457a148f9f88
"
],
"index"
:
"pypi"
,
"version"
:
"==2.8.
1
"
"version"
:
"==2.8.
2
"
},
"pyasn1"
:
{
"hashes"
:
[
...
...
@@ -700,6 +700,13 @@
],
"version"
:
"==19.1.0"
},
"backcall"
:
{
"hashes"
:
[
"sha256:38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4"
,
"sha256:bbbf4b1e5cd2bdb08f915895b51081c041bac22394fdfcfdfbe9f14b77c08bf2"
],
"version"
:
"==0.1.0"
},
"bandit"
:
{
"hashes"
:
[
"sha256:6102b5d6afd9d966df5054e0bdfc2e73a24d0fea400ec25f2e54c134412158d7"
,
...
...
@@ -736,6 +743,13 @@
],
"version"
:
"==0.3.9"
},
"decorator"
:
{
"hashes"
:
[
"sha256:86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de"
,
"sha256:f069f3a01830ca754ba5258fde2278454a0b5b79e0d7f5c13b3b97e57d4acff6"
],
"version"
:
"==4.4.0"
},
"dparse"
:
{
"hashes"
:
[
"sha256:00a5fdfa900629e5159bf3600d44905b333f4059a3366f28e0dbd13eeab17b19"
,
...
...
@@ -786,6 +800,21 @@
],
"version"
:
"==2.8"
},
"ipython"
:
{
"hashes"
:
[
"sha256:b038baa489c38f6d853a3cfc4c635b0cda66f2864d136fe8f40c1a6e334e2a6b"
,
"sha256:f5102c1cd67e399ec8ea66bcebe6e3968ea25a8977e53f012963e5affeb1fe38"
],
"index"
:
"pypi"
,
"version"
:
"==7.4.0"
},
"ipython-genutils"
:
{
"hashes"
:
[
"sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"
,
"sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"
],
"version"
:
"==0.2.0"
},
"isort"
:
{
"hashes"
:
[
"sha256:01cb7e1ca5e6c5b3f235f0385057f70558b70d2f00320208825fa62887292f43"
,
...
...
@@ -793,6 +822,13 @@
],
"version"
:
"==4.3.17"
},
"jedi"
:
{
"hashes"
:
[
"sha256:2bb0603e3506f708e792c7f4ad8fc2a7a9d9c2d292a358fbbd58da531695595b"
,
"sha256:2c6bcd9545c7d6440951b12b44d373479bf18123a401a52025cf98563fbd826c"
],
"version"
:
"==0.13.3"
},
"lazy-object-proxy"
:
{
"hashes"
:
[
"sha256:0ce34342b419bd8f018e6666bfef729aec3edf62345a53b537a4dcc115746a33"
,
...
...
@@ -864,6 +900,13 @@
],
"version"
:
"==19.0"
},
"parso"
:
{
"hashes"
:
[
"sha256:17cc2d7a945eb42c3569d4564cdf49bde221bc2b552af3eca9c1aad517dcdd33"
,
"sha256:2e9574cb12e7112a87253e14e2c380ce312060269d04bd018478a3c92ea9a376"
],
"version"
:
"==0.4.0"
},
"pbr"
:
{
"hashes"
:
[
"sha256:8257baf496c8522437e8a6cfe0f15e00aedc6c0e0e7c9d55eeeeab31e0853843"
,
...
...
@@ -871,6 +914,21 @@
],
"version"
:
"==5.1.3"
},
"pexpect"
:
{
"hashes"
:
[
"sha256:2094eefdfcf37a1fdbfb9aa090862c1a4878e5c7e0e7e7088bdb511c558e5cd1"
,
"sha256:9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb"
],
"markers"
:
"sys_platform != 'win32'"
,
"version"
:
"==4.7.0"
},
"pickleshare"
:
{
"hashes"
:
[
"sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"
,
"sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"
],
"version"
:
"==0.7.5"
},
"pluggy"
:
{
"hashes"
:
[
"sha256:19ecf9ce9db2fce065a7a0586e07cfb4ac8614fe96edf628a264b1c70116cf8f"
,
...
...
@@ -878,6 +936,21 @@
],
"version"
:
"==0.9.0"
},
"prompt-toolkit"
:
{
"hashes"
:
[
"sha256:11adf3389a996a6d45cc277580d0d53e8a5afd281d0c9ec71b28e6f121463780"
,
"sha256:2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1"
,
"sha256:977c6583ae813a37dc1c2e1b715892461fcbdaa57f6fc62f33a528c4886c8f55"
],
"version"
:
"==2.0.9"
},
"ptyprocess"
:
{
"hashes"
:
[
"sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0"
,
"sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f"
],
"version"
:
"==0.6.0"
},
"py"
:
{
"hashes"
:
[
"sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa"
,
...
...
@@ -899,6 +972,13 @@
],
"version"
:
"==2.1.1"
},
"pygments"
:
{
"hashes"
:
[
"sha256:5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a"
,
"sha256:e8218dd399a61674745138520d0d4cf2621d7e032439341bc3f647bff125818d"
],
"version"
:
"==2.3.1"
},
"pylint"
:
{
"hashes"
:
[
"sha256:5d77031694a5fb97ea95e828c8d10fc770a1df6eb3906067aaed42201a8a6a09"
,
...
...
@@ -999,6 +1079,13 @@
],
"version"
:
"==1.30.1"
},
"traitlets"
:
{
"hashes"
:
[
"sha256:9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835"
,
"sha256:c6cb5e6f57c5a9bdaa40fa71ce7b4af30298fbab9ece9815b5d995ab6217c7d9"
],
"version"
:
"==4.3.2"
},
"typed-ast"
:
{
"hashes"
:
[
"sha256:035a54ede6ce1380599b2ce57844c6554666522e376bd111eb940fbc7c3dad23"
,
...
...
@@ -1031,6 +1118,13 @@
],
"version"
:
"==1.24.1"
},
"wcwidth"
:
{
"hashes"
:
[
"sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e"
,
"sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c"
],
"version"
:
"==0.1.7"
},
"wrapt"
:
{
"hashes"
:
[
"sha256:4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533"
...
...
app.py
View file @
460019ad
...
...
@@ -53,6 +53,17 @@ def cli_mgmt_arch_submissions():
archive_submissions_in_arch_project
()
@
management_cli
.
command
(
'shell'
)
def
cli_mgmt_arch_submissions
():
print
(
"[MGMT] Starting interactive shell"
)
with
app
.
app_context
():
import
IPython
from
portal.database
import
models
from
portal.service.services_collection
import
ServicesCollection
services
=
ServicesCollection
.
get
()
IPython
.
embed
()
@
management_cli
.
command
(
'delete-cancelled'
)
def
cli_mgmt_arch_submissions
():
print
(
"[MGMT] Deleting cancelled submissions - NOW"
)
...
...
portal/rest/courses.py
View file @
460019ad
...
...
@@ -26,8 +26,9 @@ class CourseList(CustomResource):
def
get
(
self
):
# authorization
self
.
permissions
.
require
.
sysadmin
()
log
.
debug
(
f
"[REST] Get Courses by
{
self
.
client
.
log_name
}
"
)
courses_list
=
self
.
facades
.
courses
.
find_all
(
**
request
.
args
)
args
=
request
.
args
log
.
debug
(
f
"[REST] Get Courses by
{
self
.
client
.
log_name
}
:
{
args
}
"
)
courses_list
=
self
.
facades
.
courses
.
find_all
(
**
args
)
return
SCHEMAS
.
dump
(
'courses'
,
courses_list
)
@
jwt_required
...
...
portal/service/courses.py
View file @
460019ad
...
...
@@ -44,6 +44,21 @@ class CourseService(GeneralService):
log
.
info
(
f
"[CREATE] Course
{
course
.
log_name
}
:
{
course
.
log_name
}
"
)
return
course
def
set_state
(
self
,
state
:
CourseState
):
log
.
info
(
f
"[STATE] Course set state
{
self
.
course
.
log_name
}
:
{
state
}
"
)
self
.
course
.
state
=
state
self
.
write_entity
(
state
)
def
activate
(
self
):
self
.
set_state
(
CourseState
.
ACTIVE
)
def
deactivate
(
self
):
self
.
set_state
(
CourseState
.
INACTIVE
)
def
archive
(
self
):
self
.
set_state
(
CourseState
.
ARCHIVED
)
# TODO archive all projects and submissions
def
copy_course
(
self
,
target
:
Course
,
config
:
dict
)
->
Course
:
"""Copies course and it's other resources (roles, groups, projects)
The other resources that should be copied are specified in the config
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment