qcanvas 2.0.6__tar.gz → 2.0.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of qcanvas might be problematic. Click here for more details.

Files changed (91) hide show
  1. {qcanvas-2.0.6 → qcanvas-2.0.8}/PKG-INFO +3 -3
  2. {qcanvas-2.0.6 → qcanvas-2.0.8}/pyproject.toml +5 -2
  3. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/qcanvas_window.py +10 -4
  4. {qcanvas-2.0.6 → qcanvas-2.0.8}/README.md +0 -0
  5. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/__init__.py +0 -0
  6. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/app.py +0 -0
  7. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/backend_connectors/__init__.py +0 -0
  8. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/backend_connectors/frontend_resource_manager.py +0 -0
  9. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/backend_connectors/qcanvas_task_master.py +0 -0
  10. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/icons/__init__.py +0 -0
  11. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/icons/_icon_type.py +0 -0
  12. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/icons/icons.qrc +0 -0
  13. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/icons/rc_icons.py +0 -0
  14. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/settings/__init__.py +0 -0
  15. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/settings/_client_settings.py +0 -0
  16. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/settings/_course_settings.py +0 -0
  17. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/settings/_mapped_setting.py +0 -0
  18. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/settings/_ui_settings.py +0 -0
  19. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/theme.py +0 -0
  20. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/__init__.py +0 -0
  21. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/__init__.py +0 -0
  22. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/content_tree.py +0 -0
  23. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/course_tree/__init__.py +0 -0
  24. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/course_tree/_course_icon_generator.py +0 -0
  25. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/course_tree/course_tree.py +0 -0
  26. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/course_viewer.py +0 -0
  27. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/__init__.py +0 -0
  28. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/assignment_tab/__init__.py +0 -0
  29. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tab.py +0 -0
  30. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tree.py +0 -0
  31. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/constants.py +0 -0
  32. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/content_tab.py +0 -0
  33. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/file_tab/__init__.py +0 -0
  34. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/file_tab/file_tab.py +0 -0
  35. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/file_tab/file_tree.py +0 -0
  36. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/file_tab/pages_file_tree.py +0 -0
  37. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/mail_tab/__init__.py +0 -0
  38. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/mail_tab/mail_tab.py +0 -0
  39. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/mail_tab/mail_tree.py +0 -0
  40. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/page_tab/__init__.py +0 -0
  41. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/page_tab/page_tab.py +0 -0
  42. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/page_tab/page_tree.py +0 -0
  43. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tabs/resource_rich_browser.py +0 -0
  44. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/course_viewer/tree_widget_data_item.py +0 -0
  45. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/memory_tree/__init__.py +0 -0
  46. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/memory_tree/_tree_memory.py +0 -0
  47. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/memory_tree/memory_tree_widget.py +0 -0
  48. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/memory_tree/memory_tree_widget_item.py +0 -0
  49. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/__init__.py +0 -0
  50. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/course_viewer_container.py +0 -0
  51. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/options/__init__.py +0 -0
  52. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/options/auto_download_resources_option.py +0 -0
  53. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/options/quick_sync_option.py +0 -0
  54. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/options/sync_on_start_option.py +0 -0
  55. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/options/theme_selection_menu.py +0 -0
  56. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qcanvas_window/status_bar_progress_display.py +0 -0
  57. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/__init__.py +0 -0
  58. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/attachments_pane.py +0 -0
  59. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/comments_pane.py +0 -0
  60. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/AttachmentsList.ui.qml +0 -0
  61. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/AttachmentsListDelegate.qml +0 -0
  62. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/AttachmentsListModel.qml +0 -0
  63. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/AttachmentsPane.qml +0 -0
  64. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/CommentsList.ui.qml +0 -0
  65. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/CommentsListDelegate.ui.qml +0 -0
  66. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/CommentsListModel.qml +0 -0
  67. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/CommentsPane.qml +0 -0
  68. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/DecoratedText.ui.qml +0 -0
  69. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/Spacer.ui.qml +0 -0
  70. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/ThemedRectangle.qml +0 -0
  71. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/__init__.py +0 -0
  72. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/rc_qml.py +0 -0
  73. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml/rc_qml.qrc +0 -0
  74. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml_bridge_types.py +0 -0
  75. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/qml_components/qml_pane.py +0 -0
  76. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/setup/__init__.py +0 -0
  77. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/setup/setup_checker.py +0 -0
  78. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/ui/setup/setup_dialog.py +0 -0
  79. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/__init__.py +0 -0
  80. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/auto_downloader.py +0 -0
  81. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/basic_fonts.py +0 -0
  82. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/context_dict.py +0 -0
  83. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/file_icons.py +0 -0
  84. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/html_cleaner.py +0 -0
  85. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/layouts.py +0 -0
  86. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/logs.py +0 -0
  87. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/paths.py +0 -0
  88. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/qurl_util.py +0 -0
  89. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/runtime.py +0 -0
  90. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/ui_tools.py +0 -0
  91. {qcanvas-2.0.6 → qcanvas-2.0.8}/qcanvas/util/url_checker.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: qcanvas
3
- Version: 2.0.6
3
+ Version: 2.0.8
4
4
  Summary: View courses from Canvas LMS
5
5
  Author: QCanvas
6
6
  Author-email: QCanvas@noreply.codeberg.org
@@ -34,7 +34,7 @@ Requires-Dist: aiofile (>=3.9.0,<4.0.0)
34
34
  Requires-Dist: aiosqlite (>=0.21.0,<0.22.0)
35
35
  Requires-Dist: asynctaskpool (>=0.2.1,<0.3.0)
36
36
  Requires-Dist: cachetools (>=5.5.0,<6.0.0)
37
- Requires-Dist: libqcanvas (>=0.5.5,<0.6.0)
37
+ Requires-Dist: libqcanvas (>=0.5.6,<0.6.0)
38
38
  Requires-Dist: platformdirs (>=4.2.2,<5.0.0)
39
39
  Requires-Dist: pyqtdarktheme-fork (>=2.3.2,<3.0.0)
40
40
  Requires-Dist: qasync (>=0.27.1,<0.28.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "qcanvas"
3
- version = "2.0.6"
3
+ version = "2.0.8"
4
4
  description = "View courses from Canvas LMS"
5
5
  authors = ["QCanvas <QCanvas@noreply.codeberg.org>"]
6
6
  readme = "README.md"
@@ -42,7 +42,7 @@ qcanvas = "qcanvas:main"
42
42
 
43
43
  [tool.poetry.dependencies]
44
44
  python = ">=3.12,<3.13"
45
- libqcanvas = "^0.5.5"
45
+ libqcanvas = "^0.5.6"
46
46
  #libqcanvas = { path = "../libqcanvas/", develop = true }
47
47
  #libqcanvas-clients = { path = "../libqcanvas_clients/", develop = true }
48
48
  asynctaskpool = "^0.2.1"
@@ -75,6 +75,9 @@ xonsh = "^0.19.1"
75
75
  requires = ["poetry-core"]
76
76
  build-backend = "poetry.core.masonry.api"
77
77
 
78
+ [tool.ruff]
79
+ target-version = "py312"
80
+
78
81
  [tool.ruff.lint.per-file-ignores]
79
82
  "__init__.py" = ["F401"]
80
83
 
@@ -177,12 +177,18 @@ class QCanvasWindow(QMainWindow):
177
177
  except Exception as e:
178
178
  _logger.warning("Sync failed", exc_info=e)
179
179
  error = QErrorMessage(self)
180
- msg = str(e)
181
180
 
182
- if isinstance(e, httpx.ConnectError):
183
- msg = "You may not be connected to the internet\n - " + msg
181
+ if isinstance(e, ExceptionGroup):
182
+ msg = "\n".join(str(ex) for ex in e.exceptions)
183
+ elif isinstance(e, httpx.ConnectError):
184
+ msg = "You may not be connected to the Internet"
185
+ else:
186
+ msg = str(e)
184
187
 
185
- error.showMessage(msg)
188
+ error.setWindowTitle("An error has occurred in QCanvas")
189
+ error.showMessage(
190
+ msg + " - Please check the log for more details", "sync error"
191
+ )
186
192
  finally:
187
193
  self._operation_semaphore.release()
188
194
  self._sync_button.setText("Synchronise")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes