qcanvas 0.0.3.1a0__py3-none-any.whl → 0.0.3.2a0__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/__main__.py CHANGED
@@ -102,8 +102,7 @@ if __name__ == '__main__':
102
102
  asyncio.run(begin())
103
103
 
104
104
  app = QApplication(sys.argv)
105
- c = app.palette().base().color()
106
- print(f"{c.red()} {c.green()} {c.blue()}")
105
+
107
106
  qdarktheme.setup_theme("light",
108
107
  custom_colors={"primary": "FF804F"}
109
108
  )
qcanvas/db/database.py CHANGED
@@ -1,5 +1,7 @@
1
+ import os.path
1
2
  import pathlib
2
3
  import platform
4
+ import re
3
5
  from datetime import datetime
4
6
  from enum import Enum
5
7
  from typing import List, Optional, MutableSequence
@@ -216,8 +218,13 @@ class Resource(MappedAsDataclass, Base, tree.HasText):
216
218
  if platform.system() == "Windows":
217
219
  file_id = file_id.replace(':', '$')
218
220
 
219
- return pathlib.Path("download", f"{file_id}@{self.file_name}")
221
+ file_name, file_extension = os.path.splitext(self.file_name)
220
222
 
223
+ return pathlib.Path("download", self._sanitise_course_name(self.course.name), f"{file_name} [{file_id}]{file_extension}")
224
+
225
+ @staticmethod
226
+ def _sanitise_course_name(name: str) -> str:
227
+ return re.sub("[/\\\\<>:\"?|*]", "_", name)
221
228
 
222
229
  class ModuleItem(MappedAsDataclass, Base, tree.HasText):
223
230
  __tablename__ = "module_items"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: qcanvas
3
- Version: 0.0.3.1a0
3
+ Version: 0.0.3.2a0
4
4
  Summary: A canvas client
5
5
  Author: QCanvas
6
6
  Classifier: Operating System :: OS Independent
@@ -1,11 +1,11 @@
1
1
  qcanvas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- qcanvas/__main__.py,sha256=wtPQh94flAOsHdv8k5CBy-azgXfSZiZZorEmU3OMeRk,4038
2
+ qcanvas/__main__.py,sha256=aJAx1DoTos6fRzeAZISntzeD6NAw73r6GpnxZqxKM4w,3955
3
3
  qcanvas/QtVersionHelper/__init__.py,sha256=AHg0tv2hhTpapl6pZQWDWqOSes0ceHx0wMLSsHJEG1s,405
4
4
  qcanvas/QtVersionHelper/QtCore/__init__.py,sha256=LYVV4s0gsUn1yi8NLB_H0RPFR4IaLH0WzVcBJ4TA-3g,240
5
5
  qcanvas/QtVersionHelper/QtGui/__init__.py,sha256=Ml3Evje04C7hr2WSBALEJy79Yz7C92ZkE2hmBHbULzQ,1026
6
6
  qcanvas/QtVersionHelper/QtWidgets/__init__.py,sha256=Kq-bgC2LJzwuTmH_A8i7Y6WrhsQYT4RO3xEVDU8szEc,246
7
7
  qcanvas/db/__init__.py,sha256=wK5HUSGOplql2RBTpw6dSCwRjHChtTWX2zkhbe6OaQw,414
8
- qcanvas/db/database.py,sha256=o0qAWNvJZrnFAAEItjup8XL3u-nj55EwYIVkLL0sFgI,10163
8
+ qcanvas/db/database.py,sha256=_KB9-MfcqMhvKnpQObUR3fU2pu-JAvSgq1mQXW0IO0w,10436
9
9
  qcanvas/db/db_converter_helper.py,sha256=msYcfzmGX1CpyZxIjvt0ObcrlM5Rshtn_fzw7xW83js,2167
10
10
  qcanvas/icons/__init__.py,sha256=If-w2-giA8YqKyPxPRbFaGzdlQlsBXaOAFxnrf8o3mE,34
11
11
  qcanvas/icons/icons.qrc,sha256=r9OhAoVvGGQLkjwLTsl_zdiQQW6t7fkwF0jpgqa9hwY,97
@@ -51,6 +51,6 @@ qcanvas/util/tree_util/__init__.py,sha256=yqjNHrD8SiyW_fGPfw7xdS-Rctjdu-RMWSkUxc
51
51
  qcanvas/util/tree_util/expanding_tree.py,sha256=DaSr0KS5owejQhehV4SS30GA3jhwD32M3Rx5-j5a4h8,6653
52
52
  qcanvas/util/tree_util/model_helpers.py,sha256=z7Q-KXUeca0yf1SWJONM7AUfyALP4b_Rb5xlGQhglf0,744
53
53
  qcanvas/util/tree_util/tree_model.py,sha256=T7mPzXj1_aBUw3pgBUXuIvCcezrg5QLkSmtpswkKEjw,3011
54
- qcanvas-0.0.3.1a0.dist-info/METADATA,sha256=rtIZyvsOPa6IOHTh8k13QWLIrQi7q5LB0GLnZNwPflk,645
55
- qcanvas-0.0.3.1a0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
56
- qcanvas-0.0.3.1a0.dist-info/RECORD,,
54
+ qcanvas-0.0.3.2a0.dist-info/METADATA,sha256=wcf9y9FLrtuMsN7cRLyJ1kY34yzYCKV7gyRFxkTqgH8,645
55
+ qcanvas-0.0.3.2a0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
56
+ qcanvas-0.0.3.2a0.dist-info/RECORD,,