Skip to content
Snippets Groups Projects
Commit 0e014c4a authored by Samuel GAIST's avatar Samuel GAIST
Browse files

[database][commands] Add root_folder information to output

This patch also add a small filter that allows to "clean"
the folder part up to after the text given if found in
the root_folder field.
parent 59891ea8
No related branches found
No related tags found
1 merge request!300Add root folder information to output of database information output
Pipeline #32532 passed
...@@ -25,35 +25,40 @@ ...@@ -25,35 +25,40 @@
# # # #
############################################################################### ###############################################################################
import logging
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
from ...models import Database from ...models import Database
logger = logging.getLogger("beat.web")
class Command(BaseCommand): class Command(BaseCommand):
help = "Prints the list of databases with access level and user information" help = "Prints the list of databases with access level and user information"
def handle(self, *ignored, **options): def add_arguments(self, parser):
parser.add_argument(
"--folder-filter",
action="store",
dest="folder_filter",
default=None,
help="Path element up to which the the string must be cleaned",
)
# Setup this command's logging level def handle(self, *ignored, **options):
global logger
verbosity = int(options["verbosity"])
if verbosity >= 1:
if verbosity == 1:
logger.setLevel(logging.INFO)
elif verbosity >= 2:
logger.setLevel(logging.DEBUG)
self.stdout.write("name, access, user") self.stdout.write("name, access, folder, user")
for database in Database.objects.all(): for database in Database.objects.all():
db_info = "{}, {}".format( folder = database.declaration["root_folder"]
database.fullname(), database.get_sharing_display() folder_filter = options["folder_filter"]
if folder_filter:
try:
start = folder.rindex(folder_filter) + len(folder_filter)
except ValueError:
start = 0
folder = folder[start:]
db_info = "{}, {}, {}".format(
database.fullname(), database.get_sharing_display(), folder
) )
for user in [ for user in [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment