qcanvas 0.0.3.4a0__py3-none-any.whl → 0.0.4.1a0__py3-none-any.whl
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.
- qcanvas/QtVersionHelper/QtGui/__init__.py +1 -1
- qcanvas/QtVersionHelper/__init__.py +2 -1
- qcanvas/__main__.py +5 -9
- qcanvas/db/__init__.py +2 -1
- qcanvas/db/database.py +11 -4
- qcanvas/icons/__init__.py +1 -1
- qcanvas/icons/icons.qrc +5 -4
- qcanvas/icons/main_icon.svg +217 -204
- qcanvas/icons/rc_icons.py +3 -0
- qcanvas/net/canvas/__init__.py +1 -1
- qcanvas/net/canvas/canvas_client.py +4 -2
- qcanvas/net/canvas/legacy_canvas_types.py +2 -2
- qcanvas/net/custom_httpx_async_transport.py +2 -3
- qcanvas/net/self_authenticating.py +1 -0
- qcanvas/queries/all_courses.gql +3 -3
- qcanvas/queries/all_courses.py +2 -2
- qcanvas/queries/canvas_course_data.py +2 -2
- qcanvas/ui/container_item.py +0 -6
- qcanvas/ui/main_ui.py +34 -18
- qcanvas/ui/menu_bar/__init__.py +0 -0
- qcanvas/ui/menu_bar/grouping_preferences_menu.py +61 -0
- qcanvas/ui/menu_bar/theme_selection_menu.py +36 -0
- qcanvas/ui/setup_dialog.py +3 -3
- qcanvas/ui/viewer/course_list.py +1 -3
- qcanvas/ui/viewer/file_list.py +1 -3
- qcanvas/ui/viewer/file_view_tab.py +3 -64
- qcanvas/util/__init__.py +1 -1
- qcanvas/util/app_settings.py +28 -2
- qcanvas/util/constants.py +1 -1
- qcanvas/util/course_indexer/__init__.py +1 -1
- qcanvas/util/course_indexer/data_manager.py +8 -4
- qcanvas/util/course_indexer/resource_helpers.py +2 -1
- qcanvas/util/file_icon_helper.py +2 -1
- qcanvas/util/linkscanner/canvas_media_object_scanner.py +2 -2
- qcanvas/util/linkscanner/resource_scanner.py +1 -1
- qcanvas/util/self_updater.py +6 -6
- qcanvas/util/task_pool.py +1 -1
- qcanvas/util/tree_util/model_helpers.py +1 -1
- qcanvas/util/tree_util/tree_model.py +1 -0
- {qcanvas-0.0.3.4a0.dist-info → qcanvas-0.0.4.1a0.dist-info}/METADATA +1 -1
- qcanvas-0.0.4.1a0.dist-info/RECORD +60 -0
- qcanvas-0.0.3.4a0.dist-info/RECORD +0 -57
- {qcanvas-0.0.3.4a0.dist-info → qcanvas-0.0.4.1a0.dist-info}/WHEEL +0 -0
|
@@ -152,7 +152,8 @@ async def _process_link(link_scanners: Sequence[ResourceScanner], resource_pool:
|
|
|
152
152
|
return None
|
|
153
153
|
|
|
154
154
|
|
|
155
|
-
async def _extract_file_info(link: Tag, scanner: ResourceScanner, resource_id
|
|
155
|
+
async def _extract_file_info(link: Tag, scanner: ResourceScanner, resource_id: str,
|
|
156
|
+
course_id: str) -> db.Resource | None:
|
|
156
157
|
"""
|
|
157
158
|
Extracts file info from `link` using `scanner` and assigns the course_id to the resulting resource.
|
|
158
159
|
|
qcanvas/util/file_icon_helper.py
CHANGED
|
@@ -5,7 +5,8 @@ from qcanvas.QtVersionHelper.QtWidgets import QApplication, QStyle
|
|
|
5
5
|
_mime_database = QMimeDatabase()
|
|
6
6
|
_default_icon = None
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
|
|
9
|
+
def icon_for_filename(file_name: str) -> QIcon:
|
|
9
10
|
global _default_icon
|
|
10
11
|
|
|
11
12
|
for mime_type in _mime_database.mimeTypesForFileName(file_name):
|
|
@@ -10,7 +10,7 @@ from qcanvas.util.linkscanner import ResourceScanner
|
|
|
10
10
|
|
|
11
11
|
class CanvasMediaObjectScanner(ResourceScanner):
|
|
12
12
|
|
|
13
|
-
def __init__(self, client
|
|
13
|
+
def __init__(self, client: AsyncClient):
|
|
14
14
|
self.client = client
|
|
15
15
|
|
|
16
16
|
@property
|
|
@@ -57,4 +57,4 @@ class CanvasMediaObjectScanner(ResourceScanner):
|
|
|
57
57
|
)
|
|
58
58
|
|
|
59
59
|
def extract_id(self, link: Tag) -> str:
|
|
60
|
-
return link.attrs["data-media-id"]
|
|
60
|
+
return link.attrs["data-media-id"]
|
|
@@ -13,6 +13,7 @@ class ResourceScanner(ABC):
|
|
|
13
13
|
The resource may be an embedded video, a file or anything that will be of use to the user.
|
|
14
14
|
Each scanner should be responsible for only 1 type of resource.
|
|
15
15
|
"""
|
|
16
|
+
|
|
16
17
|
@property
|
|
17
18
|
@abstractmethod
|
|
18
19
|
def name(self) -> str:
|
|
@@ -66,4 +67,3 @@ class ResourceScanner(ABC):
|
|
|
66
67
|
async for chunk in resp.aiter_bytes():
|
|
67
68
|
file.write(chunk)
|
|
68
69
|
yield resp.num_bytes_downloaded
|
|
69
|
-
|
qcanvas/util/self_updater.py
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
-
|
|
3
|
-
import httpx
|
|
4
2
|
import json
|
|
5
3
|
import os
|
|
6
|
-
from packaging.version import Version
|
|
7
4
|
from importlib.metadata import version
|
|
8
5
|
|
|
6
|
+
import httpx
|
|
7
|
+
from packaging.version import Version
|
|
8
|
+
|
|
9
9
|
from qcanvas.util.constants import package_name
|
|
10
10
|
|
|
11
11
|
|
|
@@ -13,16 +13,16 @@ async def do_update():
|
|
|
13
13
|
await asyncio.to_thread(os.system, f"pip install --upgrade {package_name}")
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
async def get_newer_version() -> Version | None:
|
|
16
|
+
async def get_newer_version() -> tuple[Version | None, Version | None] | None:
|
|
17
17
|
latest_version = await get_versions()
|
|
18
18
|
installed_version = Version(version(package_name))
|
|
19
19
|
|
|
20
20
|
print(f"latest = {latest_version}, installed = {installed_version}")
|
|
21
21
|
|
|
22
22
|
if installed_version < latest_version:
|
|
23
|
-
return latest_version
|
|
23
|
+
return latest_version, installed_version
|
|
24
24
|
else:
|
|
25
|
-
return None
|
|
25
|
+
return None, None
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
async def get_versions() -> Version:
|
qcanvas/util/task_pool.py
CHANGED
|
@@ -151,7 +151,7 @@ class TaskPool(Generic[T]):
|
|
|
151
151
|
|
|
152
152
|
return await self._handle_task(func, task_id, event, func_args=kwargs)
|
|
153
153
|
|
|
154
|
-
async def _handle_task(self, func: Callable, task_id: object, event: asyncio.Event, func_args
|
|
154
|
+
async def _handle_task(self, func: Callable, task_id: object, event: asyncio.Event, func_args: dict) -> T:
|
|
155
155
|
"""
|
|
156
156
|
Handles the specified task
|
|
157
157
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
qcanvas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
qcanvas/__main__.py,sha256=mZp5KlP-nCuQmpwIroXpmJ-U2PQX6Rc0qx8VAL2x9ys,3870
|
|
3
|
+
qcanvas/QtVersionHelper/__init__.py,sha256=XFdeffM9T2Ti3b_IjH2cWI2-9XFk5oox4ChYsiYQoiE,407
|
|
4
|
+
qcanvas/QtVersionHelper/QtCore/__init__.py,sha256=LYVV4s0gsUn1yi8NLB_H0RPFR4IaLH0WzVcBJ4TA-3g,240
|
|
5
|
+
qcanvas/QtVersionHelper/QtGui/__init__.py,sha256=XUhFclN-KnfQQC_xN_d4J63a-wSBeC9MMGNVGsUdRVY,1025
|
|
6
|
+
qcanvas/QtVersionHelper/QtWidgets/__init__.py,sha256=Kq-bgC2LJzwuTmH_A8i7Y6WrhsQYT4RO3xEVDU8szEc,246
|
|
7
|
+
qcanvas/db/__init__.py,sha256=j5ZiTiLuY0CYRUV2bktc8qE5x-jBNaSaSVNKAF8DKF0,420
|
|
8
|
+
qcanvas/db/database.py,sha256=pz3wZ2QwxalSruV-5vID3QDImbX9AD-rkGXRqiaIPmw,10515
|
|
9
|
+
qcanvas/db/db_converter_helper.py,sha256=msYcfzmGX1CpyZxIjvt0ObcrlM5Rshtn_fzw7xW83js,2167
|
|
10
|
+
qcanvas/icons/__init__.py,sha256=nknAcvd97UBIYO1dR4atTCY3PHudbPprPT7FPyhqugc,35
|
|
11
|
+
qcanvas/icons/icons.qrc,sha256=_wGNdTTOuygPLeFMJxA3Q2HleqJKKkzW38VEhWJ76Rg,110
|
|
12
|
+
qcanvas/icons/main_icon.svg,sha256=26moo6Ki_YSkazCgOZgs4pi2p4qWNLDIWugwLMfAWfs,16104
|
|
13
|
+
qcanvas/icons/rc_icons.py,sha256=eZX1ylKsEVMB6JtaHsJtllPRTRZ959089bUTPtguX5k,10912
|
|
14
|
+
qcanvas/net/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
qcanvas/net/custom_httpx_async_transport.py,sha256=1OyszJO8TrwDrq-no-angb-AIjgq_GiV67tQHuPxmm0,1227
|
|
16
|
+
qcanvas/net/self_authenticating.py,sha256=bF0lq9BgDQg5We4l0Z_JpJhI8ZGC7TTgggMWHUOYw3U,2515
|
|
17
|
+
qcanvas/net/canvas/__init__.py,sha256=EPLFN05Vx9yNHDLK-eUp97C6ymtMTnscwdn28OBlNJw,96
|
|
18
|
+
qcanvas/net/canvas/canvas_client.py,sha256=BI5JBf47r3RlCf3HGTzcz2zSBPBT2k32fbxllbMOJF8,8921
|
|
19
|
+
qcanvas/net/canvas/legacy_canvas_types.py,sha256=pKuTBh1m5oSq9e7jmbHzYfKeoPSw0uHAqLwddKZpsr4,3942
|
|
20
|
+
qcanvas/queries/__init__.py,sha256=tRUwMS1OvYIWRd4WpmAHrDrcelj_dLEaesxh9NngC6s,227
|
|
21
|
+
qcanvas/queries/all_courses.gql,sha256=8U0_3VOcD66SRCfvhZ9IOTmxVgDPJdMD_LuGPbM9vVU,124
|
|
22
|
+
qcanvas/queries/all_courses.py,sha256=-DpMy7eDFUeYp3ffZrwXp15qo_t6Lfx8K-rFi3OK1DM,2751
|
|
23
|
+
qcanvas/queries/canvas_course_data.gql,sha256=KJHjdu5sMKld4L6mPGfUrhqRLx_wdgGH8fwTnmRFGrI,1115
|
|
24
|
+
qcanvas/queries/canvas_course_data.py,sha256=_ZNv9stXAyap2eBbCqmajXVpWr0920ZUcCS6Gtyyo0g,4314
|
|
25
|
+
qcanvas/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
qcanvas/ui/container_item.py,sha256=EGNypuA-nDTzPK1Np8dlwT_SF_az6cAaECOY3a44LjU,431
|
|
27
|
+
qcanvas/ui/main_ui.py,sha256=tDg7LSDwtv2-O9LV_XTjU4RM-5dyKILSDCjpMDcZaZA,8498
|
|
28
|
+
qcanvas/ui/setup_dialog.py,sha256=c-Eda97IaMCdLh5kJuSAkoJ-7SMfU0xzG37L77Krd3s,5671
|
|
29
|
+
qcanvas/ui/menu_bar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
qcanvas/ui/menu_bar/grouping_preferences_menu.py,sha256=L4vaQCCBqM5MFH7NjSff8y_VlhOwDM9pppvublBuLLg,2433
|
|
31
|
+
qcanvas/ui/menu_bar/theme_selection_menu.py,sha256=KeYVudbqR7v0tLXGAee2FjTcFy7mfdjANAr6UZ3XJfc,1146
|
|
32
|
+
qcanvas/ui/viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
+
qcanvas/ui/viewer/course_list.py,sha256=zp4RhVAedIrltQqctCvN2qYjPWVIq5syMAdYNor2C8E,3418
|
|
34
|
+
qcanvas/ui/viewer/file_list.py,sha256=CyR6CUqDi_WKDfrChHCASzH3ZgjYJ8Lxi1L5wzaDNTQ,7892
|
|
35
|
+
qcanvas/ui/viewer/file_view_tab.py,sha256=ciJGwu2cetjRpcfpLp5Y9OaEmDTwK3VNm0XVSydD_2k,2220
|
|
36
|
+
qcanvas/ui/viewer/page_list_viewer.py,sha256=ejiRccgdVRxGI08ThRXlyZvGD8_XyAeoY2cHwrjvHyY,5542
|
|
37
|
+
qcanvas/util/__init__.py,sha256=SL1PYcQGUrwXfFusnsm-YymHq9Bd6bSc1rmK2x1g7fM,69
|
|
38
|
+
qcanvas/util/app_settings.py,sha256=RJQbE57Me0RUidSJpcPhOlsfcJ3npSwkEPYz7TM1GJM,2097
|
|
39
|
+
qcanvas/util/canvas_garbage_remover.py,sha256=c6r6cyJomQ1zn5wFK-LX-ZsZXQZ-A2awBFtCB_JqUtE,1184
|
|
40
|
+
qcanvas/util/constants.py,sha256=GIjH-ivnj4aoyWmrde3eqqXbBxuj9zOzaNzOmJPma0o,111
|
|
41
|
+
qcanvas/util/download_pool.py,sha256=0ptHzyZC4lVXFPyYHnnDSZGS2qZCFMjPpY_8L_z3l6w,2376
|
|
42
|
+
qcanvas/util/file_icon_helper.py,sha256=4vdqQbw_FT7APOWRIbg5Kt2OhCr6e2ejIArVRon3CwE,630
|
|
43
|
+
qcanvas/util/self_updater.py,sha256=KFIlU3ol1da8OacfYV9LFXOulZ7419yByz54rDatq2A,893
|
|
44
|
+
qcanvas/util/task_pool.py,sha256=PCUfBn8_JYoovVWdq5cLNgYd6E5uSm6MN-wjNIdBg9c,8952
|
|
45
|
+
qcanvas/util/course_indexer/__init__.py,sha256=IqwTfB8KVk7Go_yuBL8NOANgFiBCzjt0z38D4CEgq7w,38
|
|
46
|
+
qcanvas/util/course_indexer/conversion_helpers.py,sha256=WggJmf4to7hpBpDTOpdBbaDQQv6OdEuLiFnhazcsjcM,2660
|
|
47
|
+
qcanvas/util/course_indexer/data_manager.py,sha256=sJGf45V7MeYP7qxb9J55H4TkXSoqY5nAU2Wmw7VLuL0,15526
|
|
48
|
+
qcanvas/util/course_indexer/resource_helpers.py,sha256=wMIPsMqXkSiT4_icaA1jCDqeTnJql7V8dOWsWl7g77c,6493
|
|
49
|
+
qcanvas/util/linkscanner/__init__.py,sha256=VVZ4L0AwC-TQtX6JQNUcpWH8UhKaCaSS3_7X4i3mipE,97
|
|
50
|
+
qcanvas/util/linkscanner/canvas_link_scanner.py,sha256=mRvahbf_sClGTflc9nFKEbi5HltbIfWZu2qE-IhJO2o,1450
|
|
51
|
+
qcanvas/util/linkscanner/canvas_media_object_scanner.py,sha256=0PL0buW53YQaOlT-n-UazwHFQS91ivfJN5kiw6tcfa4,2218
|
|
52
|
+
qcanvas/util/linkscanner/dropbox_scanner.py,sha256=HB7FhZp3dQwvq1Ptkug7NEJu5yS4UEd4Xy19EZUIZ7k,2033
|
|
53
|
+
qcanvas/util/linkscanner/resource_scanner.py,sha256=EY5AzDXG6Ix18YpRkJcMjOPaygird6iD1akaG-yUyHc,1988
|
|
54
|
+
qcanvas/util/tree_util/__init__.py,sha256=yqjNHrD8SiyW_fGPfw7xdS-Rctjdu-RMWSkUxcGSn8k,154
|
|
55
|
+
qcanvas/util/tree_util/expanding_tree.py,sha256=DaSr0KS5owejQhehV4SS30GA3jhwD32M3Rx5-j5a4h8,6653
|
|
56
|
+
qcanvas/util/tree_util/model_helpers.py,sha256=io1bHOMNgVqkPvGH2Iohug1-wx2MwC_-qlWlpVA0fFE,743
|
|
57
|
+
qcanvas/util/tree_util/tree_model.py,sha256=2c_wLfbcS9RrmGGkTeX4rqMu4Fu5a-GwhtKLI_-QzE8,3012
|
|
58
|
+
qcanvas-0.0.4.1a0.dist-info/METADATA,sha256=S-IDG9j3dYMDpPi7nbLGqMX7gLPD5EVZjGMrVHp26UU,676
|
|
59
|
+
qcanvas-0.0.4.1a0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
|
|
60
|
+
qcanvas-0.0.4.1a0.dist-info/RECORD,,
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
qcanvas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
qcanvas/__main__.py,sha256=aJAx1DoTos6fRzeAZISntzeD6NAw73r6GpnxZqxKM4w,3955
|
|
3
|
-
qcanvas/QtVersionHelper/__init__.py,sha256=AHg0tv2hhTpapl6pZQWDWqOSes0ceHx0wMLSsHJEG1s,405
|
|
4
|
-
qcanvas/QtVersionHelper/QtCore/__init__.py,sha256=LYVV4s0gsUn1yi8NLB_H0RPFR4IaLH0WzVcBJ4TA-3g,240
|
|
5
|
-
qcanvas/QtVersionHelper/QtGui/__init__.py,sha256=Ml3Evje04C7hr2WSBALEJy79Yz7C92ZkE2hmBHbULzQ,1026
|
|
6
|
-
qcanvas/QtVersionHelper/QtWidgets/__init__.py,sha256=Kq-bgC2LJzwuTmH_A8i7Y6WrhsQYT4RO3xEVDU8szEc,246
|
|
7
|
-
qcanvas/db/__init__.py,sha256=wK5HUSGOplql2RBTpw6dSCwRjHChtTWX2zkhbe6OaQw,414
|
|
8
|
-
qcanvas/db/database.py,sha256=_KB9-MfcqMhvKnpQObUR3fU2pu-JAvSgq1mQXW0IO0w,10436
|
|
9
|
-
qcanvas/db/db_converter_helper.py,sha256=msYcfzmGX1CpyZxIjvt0ObcrlM5Rshtn_fzw7xW83js,2167
|
|
10
|
-
qcanvas/icons/__init__.py,sha256=If-w2-giA8YqKyPxPRbFaGzdlQlsBXaOAFxnrf8o3mE,34
|
|
11
|
-
qcanvas/icons/icons.qrc,sha256=r9OhAoVvGGQLkjwLTsl_zdiQQW6t7fkwF0jpgqa9hwY,97
|
|
12
|
-
qcanvas/icons/main_icon.svg,sha256=q3Hgy1sINs--AZAiy6rsFoNNlMlH-nRaBVlRThxUoZQ,15095
|
|
13
|
-
qcanvas/icons/rc_icons.py,sha256=ogax-z0riQ_jHc3_5HkGvvHAJyR4WyW5ZXTkPkdk3go,10909
|
|
14
|
-
qcanvas/net/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
qcanvas/net/custom_httpx_async_transport.py,sha256=kSkBD1v476CVPY2qWAarcyG8mbKyNDNuR32ByIhG94c,1212
|
|
16
|
-
qcanvas/net/self_authenticating.py,sha256=Qyx8vYtSLDClx-WMcrVUeeqUI5jCftiuAqN2RU8goUE,2514
|
|
17
|
-
qcanvas/net/canvas/__init__.py,sha256=NgLiTbeKoYKDVoEd1AoP8RB_tEFi6Jzwj9gGhSu5mw4,95
|
|
18
|
-
qcanvas/net/canvas/canvas_client.py,sha256=Sb3ksOVmVX0QDDrrPXQqbJsfKxS1vRhyEk3t604Hefs,8841
|
|
19
|
-
qcanvas/net/canvas/legacy_canvas_types.py,sha256=QN1BFaDF-W1ep0X2Ax2n92-I66IzxqLdRwHYrAom5Ck,3926
|
|
20
|
-
qcanvas/queries/__init__.py,sha256=tRUwMS1OvYIWRd4WpmAHrDrcelj_dLEaesxh9NngC6s,227
|
|
21
|
-
qcanvas/queries/all_courses.gql,sha256=LoGcuyYtA0tVC2L8BVOmfC10DfvhFAxxhqhovvBYOuU,116
|
|
22
|
-
qcanvas/queries/all_courses.py,sha256=oLH_hBrdNu9a84SrP0EsblXV30fZCLt6P2AtB3aynM4,2747
|
|
23
|
-
qcanvas/queries/canvas_course_data.gql,sha256=KJHjdu5sMKld4L6mPGfUrhqRLx_wdgGH8fwTnmRFGrI,1115
|
|
24
|
-
qcanvas/queries/canvas_course_data.py,sha256=MmDUf4hc3IQxgfXj_bsm33kX13EYPTUqCiVqZXdCxYw,4310
|
|
25
|
-
qcanvas/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
-
qcanvas/ui/container_item.py,sha256=rcoCp7xS4WGdbfH4pDOirTn3ioBQqCEsfgQzLKHiF7M,437
|
|
27
|
-
qcanvas/ui/main_ui.py,sha256=on6xqKf0HQt_nOJ5UewTqJ6SQBxq-I9I5_tMVRHEBT4,7589
|
|
28
|
-
qcanvas/ui/setup_dialog.py,sha256=H6_w9B5CV5j3Azt4cNxgvlgnLMySOxY7xthEhq2d1Ro,5635
|
|
29
|
-
qcanvas/ui/viewer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
-
qcanvas/ui/viewer/course_list.py,sha256=gQj50NV-PWIe-ayqhED3oR0hB17dKMULRLjH855uIHA,3422
|
|
31
|
-
qcanvas/ui/viewer/file_list.py,sha256=Ukzvef5njKaKIwvvW4JQEkKRzNPTsUxRsPOScPuemZI,7893
|
|
32
|
-
qcanvas/ui/viewer/file_view_tab.py,sha256=bd3aUwDMrm04dU6UCCWlsMDZPeKE7Y7gHLA5yxYf0hE,4676
|
|
33
|
-
qcanvas/ui/viewer/page_list_viewer.py,sha256=ejiRccgdVRxGI08ThRXlyZvGD8_XyAeoY2cHwrjvHyY,5542
|
|
34
|
-
qcanvas/util/__init__.py,sha256=4nrMAMxWMpItgg2iaE1Z6ysoRVG3ljUTHrVNxOazGGQ,68
|
|
35
|
-
qcanvas/util/app_settings.py,sha256=Zc_s8cQnJyOi3oyU7RVDONj_LqD6CdpeYcY4LCqp8qQ,1335
|
|
36
|
-
qcanvas/util/canvas_garbage_remover.py,sha256=c6r6cyJomQ1zn5wFK-LX-ZsZXQZ-A2awBFtCB_JqUtE,1184
|
|
37
|
-
qcanvas/util/constants.py,sha256=Cs_fzNy0fs6OcEY7I_PWlGNff3Qh8AG_u-Mzc0OAwrM,110
|
|
38
|
-
qcanvas/util/download_pool.py,sha256=0ptHzyZC4lVXFPyYHnnDSZGS2qZCFMjPpY_8L_z3l6w,2376
|
|
39
|
-
qcanvas/util/file_icon_helper.py,sha256=3xcvclI0QoKhE0_vPLWAqLgVpO-G_ra524DNYgg2YRM,630
|
|
40
|
-
qcanvas/util/self_updater.py,sha256=TP6y2TaMJA4fbWuwHgj0z2QgpPeyOJ9OBSS0W5vv9UU,838
|
|
41
|
-
qcanvas/util/task_pool.py,sha256=GrAgFfTpaQ0iEu3dLg61dG6EmJoTo4NYpP8MT8kmMk0,8953
|
|
42
|
-
qcanvas/util/course_indexer/__init__.py,sha256=qDPevtjuQv72m23QLg6uXN3MDugJuKYF_12xlsWehNI,37
|
|
43
|
-
qcanvas/util/course_indexer/conversion_helpers.py,sha256=WggJmf4to7hpBpDTOpdBbaDQQv6OdEuLiFnhazcsjcM,2660
|
|
44
|
-
qcanvas/util/course_indexer/data_manager.py,sha256=XunFSwySXzLOxsreC3YDBiA8Cg0UfhRe37KOhHDIRtk,15487
|
|
45
|
-
qcanvas/util/course_indexer/resource_helpers.py,sha256=IXwg0PNQN2fX9hn2dpNJl4HRI_45hh9Qi6R9GQEXsbg,6465
|
|
46
|
-
qcanvas/util/linkscanner/__init__.py,sha256=VVZ4L0AwC-TQtX6JQNUcpWH8UhKaCaSS3_7X4i3mipE,97
|
|
47
|
-
qcanvas/util/linkscanner/canvas_link_scanner.py,sha256=mRvahbf_sClGTflc9nFKEbi5HltbIfWZu2qE-IhJO2o,1450
|
|
48
|
-
qcanvas/util/linkscanner/canvas_media_object_scanner.py,sha256=0__W4Vvg8-y_t4qTuw2qQfJH7Kss1Jn286bFKy8obac,2218
|
|
49
|
-
qcanvas/util/linkscanner/dropbox_scanner.py,sha256=HB7FhZp3dQwvq1Ptkug7NEJu5yS4UEd4Xy19EZUIZ7k,2033
|
|
50
|
-
qcanvas/util/linkscanner/resource_scanner.py,sha256=-itSq1GycQCBZNV1cGWzS4iM2OGukgMvzgORcfu0WLA,1988
|
|
51
|
-
qcanvas/util/tree_util/__init__.py,sha256=yqjNHrD8SiyW_fGPfw7xdS-Rctjdu-RMWSkUxcGSn8k,154
|
|
52
|
-
qcanvas/util/tree_util/expanding_tree.py,sha256=DaSr0KS5owejQhehV4SS30GA3jhwD32M3Rx5-j5a4h8,6653
|
|
53
|
-
qcanvas/util/tree_util/model_helpers.py,sha256=z7Q-KXUeca0yf1SWJONM7AUfyALP4b_Rb5xlGQhglf0,744
|
|
54
|
-
qcanvas/util/tree_util/tree_model.py,sha256=T7mPzXj1_aBUw3pgBUXuIvCcezrg5QLkSmtpswkKEjw,3011
|
|
55
|
-
qcanvas-0.0.3.4a0.dist-info/METADATA,sha256=LHmioUEOIKMqi2SVAOdOGuaGmDH8bwUQowrjCMGlNs0,676
|
|
56
|
-
qcanvas-0.0.3.4a0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
|
|
57
|
-
qcanvas-0.0.3.4a0.dist-info/RECORD,,
|
|
File without changes
|