setta 0.0.7__py3-none-any.whl → 0.0.8.dev0__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.
setta/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.0.7"
1
+ __version__ = "0.0.8.dev0"
@@ -113,7 +113,7 @@ def load_project_config_metadata(db, config_name):
113
113
  return list(output.values())[0]
114
114
 
115
115
 
116
- def load_project_config(db, project_config_name):
116
+ def load_project_config(db, project_config_name, do_load_json_sources=True):
117
117
  projectConfig = load_project_config_metadata(db, project_config_name)
118
118
  sections_data = load_sections(db, list(projectConfig["children"].keys()))
119
119
  sectionConfigs = load_section_configs(db, projectConfig["id"])
@@ -127,9 +127,10 @@ def load_project_config(db, project_config_name):
127
127
  codeInfo, codeInfoCols = load_code_info_cols(db, sectionVariants)
128
128
  load_ev_refs_into_data_structures(db, sectionVariants, codeInfo)
129
129
  load_template_vars_into_data_structures(db, sectionVariants)
130
- load_json_sources_into_data_structures(
131
- sections, codeInfo, codeInfoCols, sectionVariants
132
- )
130
+ if do_load_json_sources:
131
+ load_json_sources_into_data_structures(
132
+ sections, codeInfo, codeInfoCols, sectionVariants
133
+ )
133
134
 
134
135
  return {
135
136
  "projectConfig": projectConfig,
@@ -159,11 +160,11 @@ def load_project_config_names(db, excludeProjectConfigName=None):
159
160
  return [r[0] for r in db.fetchall()]
160
161
 
161
162
 
162
- def load_full_project(db, excludeProjectConfigName=None):
163
+ def load_full_project(db, excludeProjectConfigName=None, do_load_json_sources=True):
163
164
  config_names = load_project_config_names(db, excludeProjectConfigName)
164
165
  configs = []
165
166
  for c in config_names:
166
- p = load_project_config(db, c)
167
+ p = load_project_config(db, c, do_load_json_sources)
167
168
  configs.append(p)
168
169
 
169
170
  return configs
@@ -5,6 +5,7 @@ from setta.database.db.codeInfo.utils import (
5
5
  add_defaults_to_code_info,
6
6
  add_defaults_to_code_info_cols,
7
7
  )
8
+ from setta.database.db.sections.jsonSource import remove_json_source_data
8
9
  from setta.database.db.sections.load import load_json_sources_into_data_structures
9
10
  from setta.database.db.sections.utils import add_defaults_to_sections
10
11
  from setta.database.db.sectionVariants.utils import add_defaults_to_section_variants
@@ -42,7 +43,9 @@ def remove_empty(x):
42
43
  return {k: v for k, v in x.items() if len(v) > 0}
43
44
 
44
45
 
45
- def filter_data_for_json_export(p):
46
+ def filter_data_for_json_export(p, keepCodeInfoThatHaveUITypes):
47
+ remove_json_source_data(p, keepCodeInfoThatHaveUITypes)
48
+
46
49
  p["projectConfig"] = filter_dict(
47
50
  p["projectConfig"],
48
51
  DEFAULT_VALUES["projectConfig"].keys(),
@@ -21,13 +21,13 @@ def _export_database(
21
21
  export_readable(db, filename, with_variants=True)
22
22
 
23
23
 
24
- def export_database(path):
24
+ def export_database(path, raw, readable, readable_with_variants):
25
25
  # Connect to the SQLite database
26
26
  dbq = DBQueue(path)
27
27
  dbq.connect()
28
28
  with dbq as db:
29
29
  # Export the database, including schema and data, to JSON and YAML
30
- _export_database(db, path, True, True, True)
30
+ _export_database(db, path, raw, readable, readable_with_variants)
31
31
  dbq.disconnect()
32
32
 
33
33
 
@@ -10,6 +10,6 @@ from setta.utils.constants import SETTA_FILES_FOLDER
10
10
  def get_configs_and_root_folder(db, filename):
11
11
  # export defaultdict the same way as dict
12
12
  yaml.add_representer(defaultdict, Representer.represent_dict)
13
- configs = load_full_project(db)
13
+ configs = load_full_project(db, do_load_json_sources=False)
14
14
  root_folder = SETTA_FILES_FOLDER / f"{filename}_export"
15
15
  return configs, root_folder
@@ -7,10 +7,7 @@ from setta.database.db.projects.utils import (
7
7
  add_defaults_to_project_and_load_json_sources,
8
8
  filter_data_for_json_export,
9
9
  )
10
- from setta.database.db.sections.jsonSource import (
11
- remove_json_source_data,
12
- save_json_source_data,
13
- )
10
+ from setta.database.db.sections.jsonSource import save_json_source_data
14
11
  from setta.utils.constants import CONSTANTS_FOLDER, SETTA_FILES_FOLDER, USER_SETTINGS
15
12
  from setta.utils.utils import get_absolute_path, save_json_to_file
16
13
 
@@ -113,6 +110,5 @@ class MetaSettingsFile:
113
110
 
114
111
  def save_settings_project(self, p):
115
112
  save_json_source_data(p)
116
- remove_json_source_data(p, keepCodeInfoThatHaveUITypes=False)
117
- filter_data_for_json_export(p)
113
+ filter_data_for_json_export(p, keepCodeInfoThatHaveUITypes=False)
118
114
  save_json_to_file(self.path_meta_settings, p)
setta/routers/projects.py CHANGED
@@ -178,7 +178,7 @@ def router_set_as_default_project(x: SetAsDefaultProjectRequest, dbq=Depends(get
178
178
 
179
179
  @router.post(C.ROUTE_FILTER_DATA_FOR_JSON_EXPORT)
180
180
  def router_filter_data_for_json_export(x: FilterDataForJSONExportRequest):
181
- filter_data_for_json_export(x.project)
181
+ filter_data_for_json_export(x.project, keepCodeInfoThatHaveUITypes=True)
182
182
  return x.project
183
183
 
184
184
 
setta/start.py CHANGED
@@ -43,8 +43,19 @@ def init_db(path, with_examples):
43
43
 
44
44
  @click.command()
45
45
  @click.argument("path", default=get_default_db_path(), required=False)
46
- def export_db(path):
47
- export_database(path)
46
+ @click.option("--raw", is_flag=True, help="Export raw database format")
47
+ @click.option("--readable", is_flag=True, help="Export in human-readable format")
48
+ @click.option(
49
+ "--readable-with-variants",
50
+ is_flag=True,
51
+ help="Export in readable format with variants",
52
+ )
53
+ def export_db(path, raw, readable, readable_with_variants):
54
+ # If no export options are specified, default to raw format
55
+ if not any([raw, readable, readable_with_variants]):
56
+ readable_with_variants = True
57
+
58
+ export_database(path, raw, readable, readable_with_variants)
48
59
 
49
60
 
50
61
  @click.command()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: setta
3
- Version: 0.0.7
3
+ Version: 0.0.8.dev0
4
4
  Summary: Python without the donkeywork.
5
5
  Home-page: https://setta.dev
6
6
  Author: Kevin Musgrave, Jeff Musgrave
@@ -1,6 +1,6 @@
1
- setta/__init__.py,sha256=R9xOYoYrWKcfO5zvTeGC3m_eDNOvxMd8CocQs2tLufo,22
1
+ setta/__init__.py,sha256=W14-709InXTeop8_rVRcB6_nhNsQ47CWM94nE1DUR6U,27
2
2
  setta/server.py,sha256=P78BMFvcCokVhjnVlNIKcmpCSvmzSqt-33bx4bhOe6Y,4626
3
- setta/start.py,sha256=jEeSiocLeBitvg48fa6k1CpLnPI63JHkQ8O-WVM6ch8,3078
3
+ setta/start.py,sha256=5sMZ7WH3KV9Q0v186PsaYqsWOz7hebyrpXbBOp9wQww,3589
4
4
  setta/cli/__init__.py,sha256=UxZG_VOMuF6lEBT3teUgTS9ulsK3wt3Gu3BbAQiAmt8,47
5
5
  setta/cli/connect.py,sha256=Pj2Ten7CQcLQGNnyi5Y-vYslQDN3J8csPcWetlvu_J0,1273
6
6
  setta/cli/logger.py,sha256=M-gGOcYt8Xj7ldNGBAUfA9yL1nX4UpBuQR1lkg_qiSs,6130
@@ -25,7 +25,7 @@ setta/database/db_init.py,sha256=vjC2ED52L3Ezb50qfhXjasQR5oEZe_xhTBsLJiXQpJU,103
25
25
  setta/database/db_objs.py,sha256=2Bv-d0BP9u3Dtaq1yzYk2gBiVL6e6rs0TXOg8rrrKeE,2676
26
26
  setta/database/import_db.py,sha256=zegQU7f0gq03lXOtR2DvBy2eTHAbGG2TWhpybIA2QaQ,868
27
27
  setta/database/seed.py,sha256=Iqis6OvY5RCjjELu0jtI5AJSZ2o8LEFOizoNgwKw93I,1235
28
- setta/database/settings_file.py,sha256=Dcvp-O2ZgcgHjEqUURdlMKNMF4x_Zqwt71iYsAXqjaw,4199
28
+ setta/database/settings_file.py,sha256=WZfKl1EQOUJQzX6Rea4CzNYX2OtV4omQmnipWlx4_AY,4126
29
29
  setta/database/utils.py,sha256=ewbC0_SYZZSNeBZiKK_UZEt4QSMTT5kwZiBjsutsIvg,706
30
30
  setta/database/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  setta/database/db/artifacts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -44,10 +44,10 @@ setta/database/db/evRefs/save.py,sha256=ILjkMrykuRAapSSkBuQv0OvyowXI2EKtpqhpgw10
44
44
  setta/database/db/projects/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
45
  setta/database/db/projects/copy.py,sha256=zFy_VFNb6Cav9ZobyULADvtMm5IG5-wan6ZLKlSiIyE,1044
46
46
  setta/database/db/projects/delete.py,sha256=zJs3BIFIb8WXH-awKG3ww0iHhOhvzUjG7BO1gRTPzNE,208
47
- setta/database/db/projects/load.py,sha256=XzhpY58ge2RiD-a7t-z5wB7PVMIqo9ktc6VqBLnZZco,5147
47
+ setta/database/db/projects/load.py,sha256=Fk2OCQ4nKbDLpWUY6fxv1ma-_PC6Ol74YmIiNZGum_M,5264
48
48
  setta/database/db/projects/save.py,sha256=OD_kBN6GzIba2UC41kPd37nzrFGD_AAdKp3Uq_mOKD0,9122
49
49
  setta/database/db/projects/saveAs.py,sha256=FYjjXlZw8lzJ006S-OqCbD_2RSdZtvq93WTeU_x-sI4,1242
50
- setta/database/db/projects/utils.py,sha256=eYSKPcCfaKsqDl4cYPuJSgDfJpjNEXpLb_KB5XpvGcw,4745
50
+ setta/database/db/projects/utils.py,sha256=zH978E891fvAHrlzKo70OprT7MMmyv4Lli4uUpqGjcE,4909
51
51
  setta/database/db/sectionVariants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
52
  setta/database/db/sectionVariants/copy.py,sha256=iGHZColHb0JhuudPmKAVA4BVFNa49NbgyIsEzKJsuFY,1186
53
53
  setta/database/db/sectionVariants/load.py,sha256=I9ooS5RUsUVJDyzyLanN6_SiSYnpmfGCzntZPNIoFYs,5696
@@ -65,10 +65,10 @@ setta/database/db/uiTypes/load.py,sha256=R_yG-sNfXshf9b5dgGTg4CUOsY6HwER4Q99FaCl
65
65
  setta/database/db/uiTypes/save.py,sha256=cOM5REhd_mLFRXpojySfOrcrh9KBIoF-BhdIZ0zXoNY,2885
66
66
  setta/database/db/uiTypes/utils.py,sha256=H-19aXlhna1oxNmlBGY0RdGCoBFYAv0f0x_x86QQj1M,785
67
67
  setta/database/export_db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- setta/database/export_db/export_db.py,sha256=kDUX-qK1-AokmPmivh9l9uKsUu-jkXnqd-855claGWU,1235
68
+ setta/database/export_db/export_db.py,sha256=5uG-FaNQfxkC5PtvT7UgGOpXSst2HAuuRWaGu16zxZs,1295
69
69
  setta/database/export_db/export_raw.py,sha256=exRPZXOzPXUgZhcG6d4zolOOnsWuV25TtZAA5ZgoBYc,1811
70
70
  setta/database/export_db/export_readable.py,sha256=Ri3YpVX19UQBZCV3wR_oC_D-4hwyUg9CToXhphcy9Bo,8683
71
- setta/database/export_db/utils.py,sha256=wJBkZUEjMsf_Qu4tRZYeU-CRujsuoWSzMmQZsje8LU8,495
71
+ setta/database/export_db/utils.py,sha256=wgEqo0m-8uJKNn0okH5iQbjBxBkGqKdbcN3gvZEkH_M,523
72
72
  setta/lsp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  setta/lsp/file_watcher.py,sha256=9g1x9XUkCNsV4JQXbYGm9xAFMNXXJcYBs-vBnp_RS8g,3661
74
74
  setta/lsp/reader.py,sha256=MD7pJfsTKUGwDarzmig6s8GvrIcRerr_OweO28EZS0s,7123
@@ -89,7 +89,7 @@ setta/routers/dependencies.py,sha256=lQDZFcXw-jUXK1q8yglUg3jY9dKoE-xvVcWckKqmOr4
89
89
  setta/routers/in_memory_fn_stdout_websocket.py,sha256=T2BpLzh6PwYQP0qIkFS4r_VfEKBlwl4gkwIaq6r6Phs,604
90
90
  setta/routers/interactive.py,sha256=mp-A9xFpVw4nDPHiKhz1rnQtO0c6R-tRcLJxl4UHXTA,4912
91
91
  setta/routers/lsp.py,sha256=DAZqdiRKDWJ9ikjwQetV4_8s9U-EDC91ToJA3u57qnU,385
92
- setta/routers/projects.py,sha256=p3zPD3jobYOxBGJSSIYS1Aqu1w-PrJCcEN6dPJ0DT6E,5255
92
+ setta/routers/projects.py,sha256=-Qsv89sFU0OQOZT8TZjMCMREhD0GS_5aENeJ--dCWWE,5289
93
93
  setta/routers/reference_renaming.py,sha256=Ec1hz2Nz_hYqk8GyGmUcWKvXo-lVEDbIIK2YbX-wi00,3598
94
94
  setta/routers/sections.py,sha256=nEI5QkyfW0jyABO6qGRSgk41uG_qMj5EGV4GNNODdjY,4974
95
95
  setta/routers/settings.py,sha256=1S7Epj4O7jElixjNaNlRplBGiYdkj9mFeNQeeOrtQw4,1032
@@ -254,9 +254,9 @@ setta/utils/generate_new_filename.py,sha256=KBLX6paDmTvXR-027TpqQkfijIXc7mCfhen-
254
254
  setta/utils/section_contents.py,sha256=V2HQPik6DfSXw4j7IalbP5AZ3OEGCbtL5ub3xL-Q_Qo,4141
255
255
  setta/utils/utils.py,sha256=KjzcvgM3Ab3IcE8vaWYtgBpwzPLKg0LmblnHLoYZJHM,9164
256
256
  setta/utils/websocket_manager.py,sha256=S2lEGZsc2OhW0yKLW9VEcH7wi7ppzTfDMQa_hxf3ovc,3772
257
- setta-0.0.7.dist-info/LICENSE,sha256=us9fuCq9wmiZVzayjKxNZ2iJYF6dROe0Qp57ToCO7XU,11361
258
- setta-0.0.7.dist-info/METADATA,sha256=65PA-XzfKhVqw_T_XIMZYFG3WBZLoY9iSffBLWiQcUo,6563
259
- setta-0.0.7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
260
- setta-0.0.7.dist-info/entry_points.txt,sha256=P0qCESy9fWF2q1EQ9JufGldCSnPHplDPn8J6Bgk5hB0,42
261
- setta-0.0.7.dist-info/top_level.txt,sha256=8G4lmRzVOnJ11_DescPVHE6MQZH-o06A0nGsDDV2ngY,6
262
- setta-0.0.7.dist-info/RECORD,,
257
+ setta-0.0.8.dev0.dist-info/LICENSE,sha256=us9fuCq9wmiZVzayjKxNZ2iJYF6dROe0Qp57ToCO7XU,11361
258
+ setta-0.0.8.dev0.dist-info/METADATA,sha256=38mSZkCwMk5qovZnBOMsUhyKwYRx_TuKcOTgfP_2_BM,6568
259
+ setta-0.0.8.dev0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
260
+ setta-0.0.8.dev0.dist-info/entry_points.txt,sha256=P0qCESy9fWF2q1EQ9JufGldCSnPHplDPn8J6Bgk5hB0,42
261
+ setta-0.0.8.dev0.dist-info/top_level.txt,sha256=8G4lmRzVOnJ11_DescPVHE6MQZH-o06A0nGsDDV2ngY,6
262
+ setta-0.0.8.dev0.dist-info/RECORD,,