MCPcopy Index your code
hub / github.com/pgadmin-org/pgadmin4 / load_database_servers

Function load_database_servers

web/pgadmin/utils/__init__.py:652–823  ·  view source on GitHub ↗

Load server groups and servers.

(input_file, selected_servers,
                          load_user=current_user, from_setup=False,
                          auth_source=INTERNAL)

Source from the content-addressed store, hash-verified

650
651
652def load_database_servers(input_file, selected_servers,
653 load_user=current_user, from_setup=False,
654 auth_source=INTERNAL):
655 """Load server groups and servers.
656 """
657 user = _does_user_exist(load_user, from_setup, auth_source)
658 if user is None:
659 return False, USER_NOT_FOUND % load_user
660
661 # generate full path of file
662 try:
663 if from_setup:
664 file_path = unquote(input_file)
665 else:
666 file_path = filename_with_file_manager_path(unquote(input_file))
667 except Exception as e:
668 return _handle_error(str(e), from_setup)
669
670 try:
671 with open(file_path) as f:
672 data = json.load(f)
673 except json.decoder.JSONDecodeError as e:
674 return _handle_error(gettext("Error parsing input file %s: %s" %
675 (file_path, e)), from_setup)
676 except Exception as e:
677 return _handle_error(gettext("Error reading input file %s: [%d] %s" %
678 (file_path, e.errno, e.strerror)), from_setup)
679
680 f.close()
681
682 user_id = user.id
683 # Counters
684 groups_added = 0
685 servers_added = 0
686
687 # Get the server groups
688 groups = ServerGroup.query.filter_by(user_id=user_id)
689
690 # Validate server data
691 error_msg = validate_json_data(data, user.has_role("Administrator"))
692 if error_msg is not None and from_setup:
693 print(ADD_SERVERS_MSG % (groups_added, servers_added))
694 return _handle_error(error_msg, from_setup)
695
696 for server in data["Servers"]:
697 if selected_servers is None or str(server) in selected_servers:
698 obj = data["Servers"][server]
699
700 # Get the group. Create if necessary
701 group_id = next(
702 (g.id for g in groups if g.name == obj["Group"]), -1)
703
704 if group_id == -1:
705 new_group = ServerGroup()
706 new_group.name = obj["Group"]
707 new_group.user_id = user_id
708 db.session.add(new_group)
709

Callers 2

load_serversMethod · 0.90
saveFunction · 0.90

Calls 11

ServerGroupClass · 0.90
ServerClass · 0.90
_does_user_existFunction · 0.85
_handle_errorFunction · 0.85
gettextFunction · 0.85
validate_json_dataFunction · 0.85
loadMethod · 0.45
closeMethod · 0.45
addMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected