qcanvas 1.0.6a7__tar.gz → 1.0.6a8__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 (66) hide show
  1. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/PKG-INFO +2 -3
  2. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/pyproject.toml +5 -2
  3. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/app_start/__init__.py +0 -1
  4. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/settings/_mapped_setting.py +3 -5
  5. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/README.md +0 -0
  6. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/__init__.py +0 -0
  7. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/backend_connectors/__init__.py +0 -0
  8. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/backend_connectors/frontend_resource_manager.py +0 -0
  9. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/backend_connectors/qcanvas_task_master.py +0 -0
  10. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/__init__.py +0 -0
  11. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/file-download-failed.svg +0 -0
  12. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/file-downloaded.svg +0 -0
  13. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/file-not-downloaded.svg +0 -0
  14. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/file-unknown.svg +0 -0
  15. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/icons.qrc +0 -0
  16. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/main_icon.svg +0 -0
  17. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/rc_icons.py +0 -0
  18. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/icons/sync.svg +0 -0
  19. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/run.py +0 -0
  20. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/__init__.py +0 -0
  21. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/__init__.py +0 -0
  22. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/content_tree.py +0 -0
  23. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/course_tree.py +0 -0
  24. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/course_viewer.py +0 -0
  25. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/__init__.py +0 -0
  26. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/assignment_tab/__init__.py +0 -0
  27. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tab.py +0 -0
  28. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/assignment_tab/assignment_tree.py +0 -0
  29. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/content_tab.py +0 -0
  30. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/mail_tab/__init__.py +0 -0
  31. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/mail_tab/mail_tab.py +0 -0
  32. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/mail_tab/mail_tree.py +0 -0
  33. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/page_tab/__init__.py +0 -0
  34. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/page_tab/page_tab.py +0 -0
  35. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/page_tab/page_tree.py +0 -0
  36. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/resource_rich_browser.py +0 -0
  37. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/course_viewer/tabs/util.py +0 -0
  38. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/main_ui/__init__.py +0 -0
  39. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/main_ui/course_viewer_container.py +0 -0
  40. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/main_ui/options/__init__.py +0 -0
  41. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/main_ui/options/quick_sync_option.py +0 -0
  42. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/main_ui/options/sync_on_start_option.py +0 -0
  43. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/main_ui/options/theme_selection_menu.py +0 -0
  44. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/main_ui/qcanvas_window.py +0 -0
  45. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/main_ui/status_bar_progress_display.py +0 -0
  46. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/memory_tree/__init__.py +0 -0
  47. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/memory_tree/_tree_memory.py +0 -0
  48. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/memory_tree/memory_tree_widget.py +0 -0
  49. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/memory_tree/memory_tree_widget_item.py +0 -0
  50. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/setup/__init__.py +0 -0
  51. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/setup/setup_checker.py +0 -0
  52. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/ui/setup/setup_dialog.py +0 -0
  53. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/__init__.py +0 -0
  54. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/basic_fonts.py +0 -0
  55. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/fe_resource_manager.py +0 -0
  56. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/html_cleaner.py +0 -0
  57. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/layouts.py +0 -0
  58. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/logs.py +0 -0
  59. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/paths.py +0 -0
  60. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/qurl_util.py +0 -0
  61. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/settings/__init__.py +0 -0
  62. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/settings/_client_settings.py +0 -0
  63. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/settings/_ui_settings.py +0 -0
  64. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/themes.py +0 -0
  65. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/ui_tools.py +0 -0
  66. {qcanvas-1.0.6a7 → qcanvas-1.0.6a8}/qcanvas/util/url_checker.py +0 -0
@@ -1,12 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qcanvas
3
- Version: 1.0.6a7
3
+ Version: 1.0.6a8
4
4
  Summary: QCanvas is a desktop client for Canvas LMS.
5
5
  Author: QCanvas
6
6
  Author-email: QCanvas@noreply.codeberg.org
7
- Requires-Python: >=3.11,<3.13
7
+ Requires-Python: >=3.12,<3.13
8
8
  Classifier: Programming Language :: Python :: 3
9
- Classifier: Programming Language :: Python :: 3.11
10
9
  Classifier: Programming Language :: Python :: 3.12
11
10
  Requires-Dist: aiosqlite (>=0.20.0,<0.21.0)
12
11
  Requires-Dist: asynctaskpool (>=0.2.1,<0.3.0)
@@ -1,15 +1,18 @@
1
1
  [tool.poetry]
2
2
  name = "qcanvas"
3
- version = "1.0.6a7"
3
+ version = "1.0.6a8"
4
4
  description = "QCanvas is a desktop client for Canvas LMS."
5
5
  authors = ["QCanvas <QCanvas@noreply.codeberg.org>"]
6
6
  readme = "README.md"
7
+ exclude = [
8
+ "images"
9
+ ]
7
10
 
8
11
  [tool.poetry.scripts]
9
12
  qcanvas = "qcanvas.run:main"
10
13
 
11
14
  [tool.poetry.dependencies]
12
- python = ">=3.11,<3.13"
15
+ python = ">=3.12,<3.13"
13
16
  qcanvas-api-clients = "^0.2.2"
14
17
  qcanvas-backend = "0.1.10a2"
15
18
  asynctaskpool = "^0.2.1"
@@ -1,7 +1,6 @@
1
1
  import asyncio
2
2
  import sys
3
3
 
4
- import qdarktheme
5
4
  from qasync import QEventLoop
6
5
  from qtpy.QtWidgets import QApplication
7
6
 
@@ -5,10 +5,8 @@ from qtpy.QtCore import QSettings
5
5
 
6
6
  _logger = logging.getLogger(__name__)
7
7
 
8
- T = TypeVar("T")
9
8
 
10
-
11
- class MappedSetting(Generic[T]):
9
+ class MappedSetting[T]:
12
10
  """
13
11
  Acts as a proxy for a named value in a QSettings object.
14
12
  Stores the value in memory when initialised and updates it accordingly, to protect it from changes on disk.
@@ -48,7 +46,7 @@ class BoolSetting(MappedSetting[bool]):
48
46
  def __init__(self, default: bool = False):
49
47
  super().__init__(default)
50
48
 
51
- # @override
49
+ @override
52
50
  def _read(self) -> bool:
53
51
  try:
54
52
  # noinspection PyTypeChecker
@@ -57,7 +55,7 @@ class BoolSetting(MappedSetting[bool]):
57
55
  except:
58
56
  return self.default
59
57
 
60
- # @override
58
+ @override
61
59
  def _write(self, value: object) -> None:
62
60
  if not isinstance(value, bool):
63
61
  raise TypeError()
File without changes
File without changes
File without changes