Skip to content

Commit 6f7d4ef

Browse files
committed
Switch to regional server support for Perforce
1 parent a297bf9 commit 6f7d4ef

3 files changed

Lines changed: 13 additions & 5 deletions

File tree

info.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ configuration:
66
description: "The name of the project entity field that contains the perforce server to
77
connect to. The value in the field should be of the form: 'protocol:server:port'."
88
allows_empty: True
9-
default_value: sg_p4_server
9+
default_value: sg_perforce_server
1010

1111
server_aliases:
1212
type: list

python/connection/connection.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -769,15 +769,19 @@ def _login_required(self, min_timeout=300):
769769
return True
770770

771771
def _get_p4_server(self):
772+
user = sgtk.util.get_current_user(self._fw.sgtk)
773+
sg_user = self._fw.shotgun.find_one('HumanUser', [['id', 'is', user['id']]], ["sg_region"])
772774
server_field = self._fw.get_setting("server_field")
773775
sg_project = self._fw.shotgun.find_one('Project', [['id', 'is', self._fw.context.project['id']]], [server_field])
774776
server = sg_project.get(server_field)
777+
region = sg_user.get("sg_region")
778+
sg_server = self._fw.shotgun.find_one('CustomNonProjectEntity02', [['id', 'is', server['id']]], [region])
775779

776-
if not server:
780+
if not sg_server:
777781
self._fw.log_error("No server was configured for this project! Enter the p4 server in the project field '{}'".format(server_field))
778782
return None
779783

780-
return str(sg_project.get(server_field))
784+
return str(sg_server.get(region))
781785

782786

783787
def connect(allow_ui=True, user=None, password=None, workspace=None, progress=None):

python/sync/sync.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,19 @@ def _sync_with_dlg(self):
9090

9191

9292
def _get_p4_server(self):
93+
user = sgtk.util.get_current_user(self._fw.sgtk)
94+
sg_user = self._fw.shotgun.find_one('HumanUser', [['id', 'is', user['id']]], ["sg_region"])
9395
server_field = self._fw.get_setting("server_field")
9496
sg_project = self._fw.shotgun.find_one('Project', [['id', 'is', self._fw.context.project['id']]], [server_field])
9597
server = sg_project.get(server_field)
98+
region = sg_user.get("sg_region")
99+
sg_server = self._fw.shotgun.find_one('CustomNonProjectEntity02', [['id', 'is', server['id']]], [region])
96100

97-
if not server:
101+
if not sg_server:
98102
self._fw.log_error("No server was configured for this project! Enter the p4 server in the project field '{}'".format(server_field))
99103
return None
100104

101-
return str(sg_project.get(server_field))
105+
return str(sg_server.get(region))
102106

103107

104108
def sync_with_dialog(app, entities_to_sync, specific_files=False, child_asset_ids=None):

0 commit comments

Comments
 (0)