From 83a8c6e3a1be6f03ee6390141dc622f6eb0b0e9c Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Tue, 19 Jan 2021 14:01:51 +0100 Subject: [PATCH] SyncServer GUI - Hound --- pype/modules/sync_server/providers/gdrive.py | 4 +- pype/modules/sync_server/tray/app.py | 52 +++++++++++--------- pype/plugins/global/publish/integrate_new.py | 16 +++--- 3 files changed, 39 insertions(+), 33 deletions(-) diff --git a/pype/modules/sync_server/providers/gdrive.py b/pype/modules/sync_server/providers/gdrive.py index 44810b81d1..5bc6f21b38 100644 --- a/pype/modules/sync_server/providers/gdrive.py +++ b/pype/modules/sync_server/providers/gdrive.py @@ -383,8 +383,8 @@ class GDriveHandler(AbstractProvider): return response['id'] def download_file(self, source_path, local_path, - server, collection, file, representation, site, - overwrite=False): + server, collection, file, representation, site, + overwrite=False): """ Downloads single file from 'source_path' (remote) to 'local_path'. It creates all folders on the local_path if are not existing. diff --git a/pype/modules/sync_server/tray/app.py b/pype/modules/sync_server/tray/app.py index 313cb80c6a..31dc8744e1 100644 --- a/pype/modules/sync_server/tray/app.py +++ b/pype/modules/sync_server/tray/app.py @@ -212,7 +212,7 @@ class SyncRepresentationWidget(QtWidgets.QWidget): index = self.table_view.model().get_index(self._selected_id) if index and index.isValid(): mode = QtCore.QItemSelectionModel.Select | \ - QtCore.QItemSelectionModel.Rows + QtCore.QItemSelectionModel.Rows self.selection_model.setCurrentIndex(index, mode) else: self._selected_id = None @@ -716,7 +716,7 @@ class SyncRepresentationModel(QtCore.QAbstractTableModel): class SyncServerDetailWindow(QtWidgets.QDialog): - def __init__(self, sync_server, _id, project, parent=None): + def __init__(self, sync_server, _id, project, parent=None): log.debug( "!!! SyncServerDetailWindow _id:: {}".format(_id)) super(SyncServerDetailWindow, self).__init__(parent) @@ -1001,9 +1001,6 @@ class SyncRepresentationDetailModel(QtCore.QAbstractTableModel): self.projection = self.get_default_projection() self.query = self.get_default_query() - import bson.json_util - # log.debug("detail init query:: {}".format( - # bson.json_util.dumps(self.query, indent=4))) representations = self.dbcon.aggregate(self.query) self.refresh(representations) @@ -1226,23 +1223,31 @@ class SyncRepresentationDetailModel(QtCore.QAbstractTableModel): [0]]}]}} # file might be successfully created or failed, not both , 'updated_dt_remote': {'$first': { - '$cond': [{'$size': "$order_remote.created_dt"}, - "$order_remote.created_dt", - {'$cond': [ - {'$size': "$order_remote.last_failed_dt"}, - "$order_remote.last_failed_dt", - []] - } - ]}} + '$cond': [ + {'$size': "$order_remote.created_dt"}, + "$order_remote.created_dt", + { + '$cond': [ + {'$size': "$order_remote.last_failed_dt"}, + "$order_remote.last_failed_dt", + [] + ] + } + ] + }} , 'updated_dt_local': {'$first': { - '$cond': [{'$size': "$order_local.created_dt"}, - "$order_local.created_dt", - {'$cond': [ - {'$size': "$order_local.last_failed_dt"}, - "$order_local.last_failed_dt", - []] - } - ]}} + '$cond': [ + {'$size': "$order_local.created_dt"}, + "$order_local.created_dt", + { + '$cond': [ + {'$size': "$order_local.last_failed_dt"}, + "$order_local.last_failed_dt", + [] + ] + } + ] + }} , 'failed_remote': { '$cond': [{'$size': "$order_remote.last_failed_dt"}, 1, 0]} , 'failed_local': { @@ -1286,8 +1291,7 @@ class SyncRepresentationDetailModel(QtCore.QAbstractTableModel): return { "type": "representation", "_id": self._id, - '$or': [{'files.path': {'$regex': regex_str, - '$options': 'i'}}] + '$or': [{'files.path': {'$regex': regex_str, '$options': 'i'}}] } def get_default_projection(self): @@ -1400,6 +1404,7 @@ class ImageDelegate(QtWidgets.QStyledItemDelegate): QtGui.QBrush(QtGui.QColor(0, 0, 0, 200))) painter.setOpacity(1) + class SyncRepresentationErrorWindow(QtWidgets.QDialog): def __init__(self, _id, project, dt, tries, msg, parent=None): super(SyncRepresentationErrorWindow, self).__init__(parent) @@ -1471,4 +1476,3 @@ class SizeDelegate(QtWidgets.QStyledItemDelegate): return "%3.1f%s%s" % (value, unit, suffix) value /= 1024.0 return "%.1f%s%s" % (value, 'Yi', suffix) - diff --git a/pype/plugins/global/publish/integrate_new.py b/pype/plugins/global/publish/integrate_new.py index 2b867e0116..5ba92435fd 100644 --- a/pype/plugins/global/publish/integrate_new.py +++ b/pype/plugins/global/publish/integrate_new.py @@ -929,7 +929,8 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): dest += '.{}'.format(self.TMP_FILE_EXT) return dest - def prepare_file_info(self, path, size=None, file_hash=None, sites=None, instance=None): + def prepare_file_info(self, path, size=None, file_hash=None, + sites=None, instance=None): """ Prepare information for one file (asset or resource) Arguments: @@ -939,6 +940,7 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): sites(optional): array of published locations, [ {'name':'studio', 'created_dt':date} by default keys expected ['studio', 'site1', 'gdrive1'] + instance(dict, optional): to get collected settings Returns: rec: dictionary with filled info """ @@ -947,17 +949,17 @@ class IntegrateAssetNew(pyblish.api.InstancePlugin): sync_server_presets = None if (instance.context.data["system_settings"] - ["modules"] - ["sync_server"] - ["enabled"]): + ["modules"] + ["sync_server"] + ["enabled"]): sync_server_presets = (instance.context.data["project_settings"] ["global"] ["sync_server"]) if sync_server_presets["enabled"]: - local_site = sync_server_presets["config"].get("active_site", - "studio").strip() - remote_site = sync_server_presets["config"].get("remote_site") + local_site = sync_server_presets["config"].\ + get("active_site", "studio").strip() + remote_site = sync_server_presets["config"].get("remote_site") rec = { "_id": io.ObjectId(),