Skip to content

Commit b2b0d70

Browse files
[Fixes #20] add user create function
1 parent 9210145 commit b2b0d70

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

geonodectl

+13
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,19 @@ To use this tool you have to set the following environment variables before star
468468
users_delete = users_subparsers.add_parser("delete", help="delete existing user")
469469
users_delete.add_argument(type=int, dest="pk", help="pk of geoapp to delete ...")
470470

471+
# CREATE
472+
users_create = users_subparsers.add_parser("create", help="create a new user")
473+
474+
users_create.add_argument(
475+
"--username",
476+
type=str,
477+
required=True,
478+
dest="username",
479+
help="username of the new user ...",
480+
)
481+
482+
483+
471484
###########################
472485
# UPLOAD ARGUMENT PARSING #
473486
###########################

geonoderest/users.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from typing import Dict, Optional
22

3+
from geonoderest.resources import GeonodeResourceHandler
34
from geonoderest.geonodeobject import GeonodeObjectHandler
45
from geonoderest.geonodetypes import GeonodeCmdOutListKey
56
from geonoderest.cmdprint import print_list_on_cmd, print_json
@@ -40,7 +41,7 @@ def cmd_describe(
4041
)
4142
# in this case print as list of ressources
4243
if user_resources is True:
43-
print_list_on_cmd(obj, self.LIST_CMDOUT_HEADER)
44+
print_list_on_cmd(obj['resources'], GeonodeResourceHandler.LIST_CMDOUT_HEADER)
4445
else:
4546
print_json(obj)
4647

@@ -62,7 +63,6 @@ def get(
6263
Returns:
6364
Dict: requested info, details of user or list of accessable resources or groups of user are returned
6465
"""
65-
breakpoint()
6666
if user_resources and user_groups:
6767
raise AttributeError(
6868
"cannot handle user_resources and user_groups True at the same time ..."
@@ -74,8 +74,10 @@ def get(
7474
)
7575
return r
7676
elif user_resources is True:
77+
endpoint=f"{GeonodeResourceHandler.ENDPOINT_NAME}?page_size={kwargs['page_size']}&page={kwargs['page']}"
78+
endpoint+= "&filter{owner.pk}=" + str(pk)
7779
r = self.http_get(
78-
endpoint=f"{self.ENDPOINT_NAME}/{pk}/resources?page_size={kwargs['page_size']}&page={kwargs['page']}"
80+
endpoint=endpoint
7981
)
8082
return r
8183
else:

0 commit comments

Comments
 (0)