data-sourcerer 0.2.2__py3-none-any.whl → 0.2.3__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: data-sourcerer
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Sourcerer is a terminal cloud storage navigator.
5
5
  Author-email: Bohdana Kuzmenko <bohdana.kuzmenko.dev@gmail.com>
6
6
  License: MIT
@@ -1,4 +1,4 @@
1
- sourcerer/__init__.py,sha256=f2b6aEvKKCf2QDu8Xfc-8stC78nN3qQFeO-Pj7r1ITM,585
1
+ sourcerer/__init__.py,sha256=LdB6MZT6D2_yXGq1KBBQRC47gZXfwv61ZvJi4I6cBGk,585
2
2
  sourcerer/settings.py,sha256=dwY2GoaWD1CsAoVtWzaAhP7_e3KUugmBr2E624JSedc,1388
3
3
  sourcerer/utils.py,sha256=4jAlcofepAQMcD1cYDsC1ryGwBLxE9m7ckPS6CzDsCI,879
4
4
  sourcerer/domain/__init__.py,sha256=rV21d-dD-e0q4EQ2LfWDSDLlrUOjnHnWBtWPujoue0o,556
@@ -46,7 +46,7 @@ sourcerer/presentation/screens/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
46
46
  sourcerer/presentation/screens/critical_error/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
47
  sourcerer/presentation/screens/critical_error/main.py,sha256=10Ip1InBzktwwM2ijKXBOkhvBXGorw1X8EGxdh75WZE,2208
48
48
  sourcerer/presentation/screens/critical_error/styles.tcss,sha256=mURvbf0_npkRtzVBs2bVBybbyNK9cO_6Ar2Muk1Mpv8,604
49
- sourcerer/presentation/screens/file_system_finder/main.py,sha256=Zxn0bLlHyFNAqkYDrFwrIH9XABY2xKsraGAYgmkYFPc,10241
49
+ sourcerer/presentation/screens/file_system_finder/main.py,sha256=PSOxD_UfAMxSIdDFVJZeh0tcYGh2qZP2RY9rBUMU12A,10241
50
50
  sourcerer/presentation/screens/file_system_finder/styles.tcss,sha256=fZkdwXFsDkjXkaIskLxoQ_YHsLWKjgrn6hYseugg_68,718
51
51
  sourcerer/presentation/screens/file_system_finder/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
52
  sourcerer/presentation/screens/file_system_finder/widgets/file_system_navigator.py,sha256=EHPsVWyq0Lmkv1Jt3m4OgpJvI1nsye2Os1XA0XAZz8M,30884
@@ -67,7 +67,7 @@ sourcerer/presentation/screens/main/mixins/resize_containers_watcher_mixin.py,sh
67
67
  sourcerer/presentation/screens/main/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
68
  sourcerer/presentation/screens/main/widgets/gradient.py,sha256=Ow6oaX0tsFNbUKRh_e9ITph20_tKoQgqzM7rujwKmxs,1263
69
69
  sourcerer/presentation/screens/main/widgets/resizing_rule.py,sha256=W4tAbSZlmAIytP1BNlSvBeiMGA7cD6l13IpxG2JYzxk,2088
70
- sourcerer/presentation/screens/main/widgets/storage_content.py,sha256=1bhIhHH8KMgsOIf2bX4F6AzSEWvLu1ccOigmvSagwa8,22516
70
+ sourcerer/presentation/screens/main/widgets/storage_content.py,sha256=9Gkd-MWtV_sK1hCLA3pa4yc1P53xKfF4KdJFqhI-BDU,22488
71
71
  sourcerer/presentation/screens/main/widgets/storage_list_sidebar.py,sha256=dz1Qdznc2hNt_MBB4j6kszx7cCpiaM9kM9_7LDwyPDc,5619
72
72
  sourcerer/presentation/screens/preview_content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  sourcerer/presentation/screens/preview_content/main.py,sha256=c7WEM3dCRHh0gnB2AXgl_upi8lfNwRfH1425736mya8,2498
@@ -87,15 +87,15 @@ sourcerer/presentation/screens/shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
87
87
  sourcerer/presentation/screens/shared/containers.py,sha256=9Tkl5SbPNgycZlfp5Pq50pHnJqbP0EckmxayXPPuhFs,378
88
88
  sourcerer/presentation/screens/shared/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
89
  sourcerer/presentation/screens/shared/widgets/button.py,sha256=aGsJTwK04nTXarafkl8TgdeB9EGfRwn4gffoPvFFwiU,1580
90
- sourcerer/presentation/screens/shared/widgets/labeled_input.py,sha256=5sFsuZRd6E9kfG2zjSH9oE_VgXA7sp5XJxg73jPdwGw,2801
90
+ sourcerer/presentation/screens/shared/widgets/labeled_input.py,sha256=OmaZjRJSg8LABvBvbN3LQ0s9M3-jp9X2i3yCVNbRhEk,2798
91
91
  sourcerer/presentation/screens/shared/widgets/loader.py,sha256=_sRFM9I_KhiqPyUCN_hX7IP1AlxtrUNn5QBXi5hmdtU,737
92
92
  sourcerer/presentation/screens/storage_action_progress/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
- sourcerer/presentation/screens/storage_action_progress/main.py,sha256=d2p6YYU3N1FBuKy0oNqqbkUTiFhoH260-jDt2Rqzlng,17998
93
+ sourcerer/presentation/screens/storage_action_progress/main.py,sha256=4SnbTYFRSKAoBVqFzVD24GJgdeddjWGi1XXSbF5u-7Y,17944
94
94
  sourcerer/presentation/screens/storage_action_progress/styles.tcss,sha256=ffvDxRWhckE5tjEG4jwlhQNqeQsYpdF71104StWCGWU,818
95
95
  sourcerer/presentation/themes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
96
  sourcerer/presentation/themes/github_dark.py,sha256=9E1mEOr701nU-ZDSKBccMl3GYchroCEsxEVelm5oI-E,497
97
- data_sourcerer-0.2.2.dist-info/METADATA,sha256=FX2OTYOD6iPhiFmYJGhDP0oI1X3YKK8xWszaJEC-QU8,2535
98
- data_sourcerer-0.2.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
99
- data_sourcerer-0.2.2.dist-info/entry_points.txt,sha256=CyD02GehPW6QuhR5oDY5tLLRHQ9qbPXe0v3aT1pK3N8,62
100
- data_sourcerer-0.2.2.dist-info/licenses/LICENSE,sha256=HjZ7RAG3i6izxvitGfY4feHfvW5F8DPj5eF0YBSf2rI,1073
101
- data_sourcerer-0.2.2.dist-info/RECORD,,
97
+ data_sourcerer-0.2.3.dist-info/METADATA,sha256=OjcWwOqLnN3WL-1CJULg-QldS5Ax1t_MwOaWbJBxu6U,2535
98
+ data_sourcerer-0.2.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
99
+ data_sourcerer-0.2.3.dist-info/entry_points.txt,sha256=CyD02GehPW6QuhR5oDY5tLLRHQ9qbPXe0v3aT1pK3N8,62
100
+ data_sourcerer-0.2.3.dist-info/licenses/LICENSE,sha256=HjZ7RAG3i6izxvitGfY4feHfvW5F8DPj5eF0YBSf2rI,1073
101
+ data_sourcerer-0.2.3.dist-info/RECORD,,
sourcerer/__init__.py CHANGED
@@ -12,4 +12,4 @@ The application is structured using a clean architecture approach with:
12
12
  - Presentation layer: User interface components
13
13
  """
14
14
 
15
- __version__ = "0.2.2"
15
+ __version__ = "0.2.3"
@@ -159,9 +159,9 @@ class FileSystemNavigationModal(ModalScreen):
159
159
  except NoMatches:
160
160
  return
161
161
  label = str(
162
- event.path.relative_to(
162
+ event.path.relative_to( # ty: ignore[possibly-unbound-attribute]
163
163
  self.work_dir
164
- ) # ty: ignore[possibly-unbound-attribute]
164
+ )
165
165
  )
166
166
  if event.path.is_dir(): # ty: ignore[possibly-unbound-attribute]
167
167
  label += "/"
@@ -332,16 +332,12 @@ class StorageContentContainer(Vertical):
332
332
  search_prefix: reactive[str | None] = reactive( # ty: ignore[invalid-assignment]
333
333
  None, recompose=False
334
334
  )
335
- access_credentials_uuid: reactive[
335
+ access_credentials_uuid: reactive[ # ty: ignore[invalid-assignment]
336
336
  str | None
337
- ] = reactive( # ty: ignore[invalid-assignment]
338
- "", recompose=False
339
- )
340
- storage_content: reactive[
337
+ ] = reactive("", recompose=False)
338
+ storage_content: reactive[ # ty: ignore[invalid-assignment]
341
339
  StorageContent | None
342
- ] = reactive( # ty: ignore[invalid-assignment]
343
- None, recompose=True
344
- )
340
+ ] = reactive(None, recompose=True)
345
341
  selected_files: reactive[set] = reactive(set(), recompose=False)
346
342
  selected_files_n: reactive[int] = reactive(0, recompose=False)
347
343
 
@@ -75,10 +75,10 @@ class LabeledInput(Container):
75
75
  Value: A dataclass containing the name and value of the input field.
76
76
 
77
77
  """
78
- input_area = self.query_one(".form_input", expect_type=Input)
78
+ input_area = self.query_one(".form_input")
79
79
  text = (
80
80
  input_area.document.text
81
81
  if isinstance(input_area, TextArea)
82
- else input_area.value
82
+ else input_area.value # type: ignore
83
83
  )
84
84
  return self.Value(name=self.key, value=text)
@@ -185,9 +185,9 @@ class StorageActionProgressScreen(ModalScreen):
185
185
  Sets the border title and starts the appropriate worker thread based on the action type
186
186
  (download, delete, or upload).
187
187
  """
188
- self.query_one("#StorageActionProgress").border_title = (
189
- f"{self.action.capitalize()} {len(self.keys)} files from {self.storage_name}"
190
- )
188
+ self.query_one(
189
+ "#StorageActionProgress"
190
+ ).border_title = f"{self.action.capitalize()} {len(self.keys)} files from {self.storage_name}"
191
191
 
192
192
  if self.action == "download":
193
193
  self.active_worker = self.run_worker(self.download_files, thread=True)
@@ -447,9 +447,7 @@ class StorageActionProgressScreen(ModalScreen):
447
447
  self.files_has_been_processed = True
448
448
  self.active_executor = None
449
449
  try:
450
- await self.query_one(
451
- f"#progress_file_details_{key.uuid}", Label
452
- ).remove()
450
+ self.query_one(f"#progress_file_details_{key.uuid}", Label).remove()
453
451
  except NoMatches:
454
452
  self.log(f"Failed to remove progress details for {key.uuid}")
455
453
  main_progress_bar.advance(1)