Skip to content

Commit

Permalink
NXDRIVE-2912: Display Drive notification for document review --21/05 -02
Browse files Browse the repository at this point in the history
  • Loading branch information
gitofanindya committed May 21, 2024
1 parent 075e130 commit 99befc5
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 34 deletions.
39 changes: 9 additions & 30 deletions nxdrive/gui/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,24 +243,14 @@ def get_completed_sessions_count(self, uid: str, /) -> int:
)
return 0

@pyqtSlot(str, result=int)
def tasks_remaining(self, uid: str, /) -> int:
"""Return pending tasks count for Drive notification."""
engine = self._get_engine(uid)
if engine:
tasks = self.application.fetch_pending_tasks(engine)
return len(tasks)
log.info("Engine not available")
return 0

@pyqtSlot(str, str, result=str)
def get_text(self, details, ret) -> str:
def get_text(self, details: str, ret: str, /) -> str:
details = details.replace("'", '"')
details = json.loads(details)
return details[ret]
return str(details[ret])

@pyqtSlot(str, result=bool)
def text_red(self, text) -> bool:
def text_red(self, text: str, /) -> bool:
return "ago" in text

@pyqtSlot(str)
Expand Down Expand Up @@ -506,7 +496,7 @@ def get_Tasks_list(self, engine_uid: str, /) -> list:
# task.name = doc_info.properties["dc:title"]
task.name = doc_info.name
except Exception as e:
log.info(f"Error occured while fetching document info {e!r}")
log.info(f"Error occurred while fetching document info {e!r}")
task.name = "Unknown Document"

type_of_task = task.directive
Expand Down Expand Up @@ -1201,12 +1191,13 @@ def open_remote_document(
log.exception("Remote document cannot be opened")

@pyqtSlot(str, str, str)
def display_pending_task(self, uid: str, remote_ref: str, /) -> None:
log.info(f"Should open remote document ({remote_ref!r})")
def display_pending_task(
self, uid: str, remote_ref: str, remote_path: str, /
) -> None:
log.info(f"Should open remote document ({remote_path!r})")
try:
if engine := self._manager.engines.get(uid):
url = engine.get_task_url(remote_ref)
log.info(f">>>> doc url: {url}")
engine.open_remote(url=url)
except Exception as exec:
log.exception(f"Remote task cannot be opened: {exec}")
Expand All @@ -1217,20 +1208,8 @@ def get_remote_document_url(self, uid: str, remote_ref: str, /) -> str:
engine = self._get_engine(uid)
return engine.get_metadata_url(remote_ref) if engine else ""

@pyqtSlot(str, result=str)
def get_title(self, engine_uid: str = "", /) -> str:
engine = self._get_engine(engine_uid)
data = self._fetch_tasks(engine)
html = "No Results To Show"
if data:
try:
html = data[0]["variables"]["review_result"]
except IndexError:
log.info("No Pending Tasks Present")
return html

@pyqtSlot(str, str)
def on_clicked_open_task(self, engine_uid: str, task_id: str):
def on_clicked_open_task(self, engine_uid: str, task_id: str) -> None:
engine = engine = self._manager.engines.get(engine_uid)
if not engine:
return
Expand Down
2 changes: 1 addition & 1 deletion nxdrive/gui/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -1031,7 +1031,7 @@ def close_tasks_window(self) -> None:
"""Close the Tasks window."""
self.task_manager_window.close()

def open_task(self, engine: Engine, task_id: str):
def open_task(self, engine: Engine, task_id: str) -> None:
endpoint = "/ui/#!/tasks/"
url = f"{engine.server_url}{endpoint}{task_id}"
webbrowser.open(url)
Expand Down
6 changes: 3 additions & 3 deletions nxdrive/gui/view.py
Original file line number Diff line number Diff line change
Expand Up @@ -858,10 +858,10 @@ def __init__(self, translate: Callable, /, *, parent: QObject = None) -> None:
}
)

def get_model(self):
def get_model(self) -> QStandardItemModel:
return self.taskmodel

def get_self_model(self):
def get_self_model(self) -> QStandardItemModel:
return self.self_taskmodel

model = pyqtProperty(QObject, fget=get_model, constant=True)
Expand Down Expand Up @@ -913,7 +913,7 @@ def loadList(self, tasks_list: list, username: str, /) -> None:
}
self.add_row(data, self.TASK_ROLE, False)

def add_row(self, task, role, self_task):
def add_row(self, task: dict, role: int, self_task: bool) -> None:
item = QStandardItem()
item.setData(task, role)

Expand Down
6 changes: 6 additions & 0 deletions tools/skiplist.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,27 +84,33 @@
QMLDriveApi.get_free_disk_space # Used in QML
QMLDriveApi.get_hostname_from_url # Used in QML
QMLDriveApi.get_remote_document_url # Used in QML
QMLDriveApi.get_text # Used in QML
QMLDriveApi.get_used_space_without_synced # Used in QML
QMLDriveApi.get_proxy_settings # Used in QML
QMLDriveApi.get_update_status # Used in QML
QMLDriveApi.get_update_url # Used in QML
QMLDriveApi.get_update_version # Used in QML
QMLDriveApi.get_available_version # Used in QML
QMLDriveApi.on_clicked_open_task # Used in QML
QMLDriveApi.open_direct_transfer # Used in QML
QMLDriveApi.open_document # Used in QML
QMLDriveApi.open_in_explorer # Used in QML
QMLDriveApi.open_local # Used in QML
QMLDriveApi.open_remote_server # Used in QML
QMLDriveApi.open_remote_document # Used in QML
QMLDriveApi.open_server_folders # Used in QML
QMLDriveApi.open_tasks_window # Used in QML
QMLDriveApi.set_proxy_settings # Used in QML
QMLDriveApi.set_server_ui # Used in QML
QMLDriveApi.text_red # Used in QML
QMLDriveApi.to_local_file # Used in QML
QMLDriveApi.web_update_token # Used in QML
ROOT_REGISTERED # Used in tests
registry.create # Used in test_windows_registry.py
shortcut.Targetpath # WindowsIntegration._create_shortcut()
shortcut.WorkingDirectory # WindowsIntegration._create_shortcut()
shortcut.IconLocation # WindowsIntegration._create_shortcut()
TasksModel.loadList # Used in QML
TasksModel.self_model # Used in QML
Upload.transfer_type # Used in QML
WindowsIntegration.install_addons # Used in QML

0 comments on commit 99befc5

Please sign in to comment.