Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
nomad-lab
nomad-FAIR
Commits
86a86adc
Commit
86a86adc
authored
Jul 16, 2019
by
Markus Scheidgen
Browse files
Added chown cmd to admin cli. [skip ci]
parent
38032188
Pipeline
#52001
skipped
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
nomad/admin/upload.py
View file @
86a86adc
...
...
@@ -15,8 +15,9 @@
import
click
from
tabulate
import
tabulate
from
mongoengine
import
Q
from
pymongo
import
UpdateOne
from
nomad
import
processing
as
proc
,
infrastructure
,
utils
,
search
,
files
from
nomad
import
processing
as
proc
,
infrastructure
,
utils
,
search
,
files
,
coe_repo
from
.__main__
import
cli
...
...
@@ -63,6 +64,37 @@ def ls(ctx, uploads):
headers
=
[
'id'
,
'name'
,
'user'
,
'status'
,
'published'
]))
@
upload
.
command
(
help
=
'Change the owner of the upload and all its calcs.'
)
@
click
.
argument
(
'USER'
,
nargs
=
1
)
@
click
.
argument
(
'UPLOADS'
,
nargs
=-
1
)
@
click
.
pass_context
def
chown
(
ctx
,
user
,
uploads
):
infrastructure
.
setup_repository_db
()
_
,
uploads
=
query_uploads
(
ctx
,
uploads
)
print
(
'%d uploads selected, changing its owner ...'
%
uploads
.
count
())
user_id
=
str
(
user
)
user
=
coe_repo
.
User
.
from_user_id
(
user_id
)
for
upload
in
uploads
:
upload
.
user_id
=
user_id
upload_with_metadata
=
upload
.
to_upload_with_metadata
()
calcs
=
upload_with_metadata
.
calcs
def
create_update
(
calc
):
return
UpdateOne
(
{
'_id'
:
calc
.
calc_id
},
{
'$set'
:
{
'metadata.uploader'
:
user
.
to_popo
()}})
proc
.
Calc
.
_get_collection
().
bulk_write
([
create_update
(
calc
)
for
calc
in
calcs
])
upload
.
save
()
upload_with_metadata
=
upload
.
to_upload_with_metadata
()
calcs
=
upload_with_metadata
.
calcs
search
.
publish
(
calcs
)
@
upload
.
command
(
help
=
'Delete selected upload'
)
@
click
.
argument
(
'UPLOADS'
,
nargs
=-
1
)
@
click
.
option
(
'--with-coe-repo'
,
help
=
'Also attempt to delete from repository db'
,
is_flag
=
True
)
...
...
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