From cefd80b1f6a810b8ea84a5041eefa0e529122b61 Mon Sep 17 00:00:00 2001 From: Gordon Blackadder Date: Tue, 13 Aug 2024 10:27:34 -0400 Subject: [PATCH] 100X speed up excel writers --- excel_sheets/Document_metadata.xlsx | Bin 37599 -> 38853 bytes excel_sheets/Script_metadata.xlsx | Bin 39002 -> 40331 bytes excel_sheets/Series_metadata.xlsx | Bin 12780 -> 13580 bytes excel_sheets/Survey_metadata.xlsx | Bin 54839 -> 53804 bytes excel_sheets/Table_metadata.xlsx | Bin 37129 -> 38933 bytes excel_sheets/Timeseries_db_metadata.xlsx | Bin 15836 -> 15568 bytes excel_sheets/Timeseries_metadata.xlsx | Bin 48932 -> 51082 bytes excel_sheets/Video_metadata.xlsx | Bin 16443 -> 16591 bytes .../tests/test_pydantic_to_excel.py | 124 +-- pydantic_schemas/utils/excel_to_pydantic.py | 9 +- pydantic_schemas/utils/pydantic_to_excel.py | 759 ++++++++---------- 11 files changed, 358 insertions(+), 534 deletions(-) diff --git a/excel_sheets/Document_metadata.xlsx b/excel_sheets/Document_metadata.xlsx index 5cb330d1d3efa38d2ebc69e2afb081e58f37954e..8b91933a455d25b5969a048f30d8c67e6d9bc052 100644 GIT binary patch literal 38853 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 BEtdcQ literal 37599 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 diff --git a/excel_sheets/Script_metadata.xlsx b/excel_sheets/Script_metadata.xlsx index 971d58614b9e508df62ba7561074d5c098a0dfa5..66475c7a5ed9db328dffcb7b43ba5b5460404a9a 100644 GIT binary patch literal 40331 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 literal 39002 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 AGXMYp diff --git a/excel_sheets/Series_metadata.xlsx b/excel_sheets/Series_metadata.xlsx index 7b712666ba995cd6bdcccddcbb226649c0e35ff9..ba893f3a196c7b5a6b3dc69cdfd2689f2e080ab6 100644 GIT binary patch literal 13580 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 literal 12780 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 Kh^L7D`1N0bu!?s8 diff --git a/excel_sheets/Survey_metadata.xlsx b/excel_sheets/Survey_metadata.xlsx index 768a65e59b52027a2266f9292fe10ed2b10283b5..3be5d6f6f46038fe3590ae299ac18b95c354559a 100644 GIT binary patch literal 53804 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 KPEW5^p#KM!1MEcr literal 54839 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 diff --git a/excel_sheets/Table_metadata.xlsx b/excel_sheets/Table_metadata.xlsx index dec1d9e5a1531ae8d16a6372763db32264588984..ce38e330fffda5fc5fc0b65992bf1d96002aa1a2 100644 GIT binary patch literal 38933 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

T?p0?%=Z}c$7o%PU@AndYFD>}h=cfN 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

;L)3GzE`CXUM zzM#mc!$qH~z+dxS=rzAO@f8HJkj2pMW#i%hr>--BhN}JJ_#I*_ z8T-61DO<@fj5Q%cMz%qSLdw>p*ESeCQ;G5AAqoC-RDiNeri

7{I~QD!sgHUqJ5 zNjJ45s1dtKOj^m8sKF9pGo9?NoNaTC35vC(naCFmI}TeD>tTN*N0ImMSTE&L(9UI5=$y4T`W-fHMDQ}FdOxtnBXT)rBuwy@5Yfk4+!`+CL7-{;hdi9k#!20-(h-EE6#siGNg zbz37}Ym^-bJep>D+|=~R;q%2NsF+tle8w^R?bs#J1pf4O2pOz)_+gb>u2Fx#M&gYT zlnIY6@4(?e~H94@Mluap5iTaKomBE$*VW9{T#YWM4_`ZKl$ar_3xuw5ux0Hs)@HhC1CTu9{eUW<$GLaWDNU#ijko)S4;OUR7D% zfS8azIa>yMe}21f5Oe$t_Ah(Y`(Mv)pK`9 zzB9+>u_{ip@B)KjlyhJHW13)R&((f=Ba(9RQ9snZ;J&{5#F`-jeh#*wdmO@L^x!1ReM6Ud8OP~<<&nveSaFn`y@6Uw5CwNt2Z+xXkst}3!X@EyASId zL4V?&MLDruyLD1Uw?4DBekeC-QA`KyY39wGF>W@P2@5nAFnylAoT=-^mLjdo7XF=S zzXnV?Ta2yo4|A@QET9f$VezUCO)HDYg76%+&;}k^D>l(fwcV!#_E|*c>%>Iz?#t(Z zdPH+@F*BXCKIy2|8$s(Bn#WySaTpyC{e4_k7|h1j)5jx}2>|Hd&wzt3#si0t-#%v~ zpuLzB_v@7KVH`}JG%_g`_Lrh=aaP7mW~Vk1TpGW8jqk4)yTXg!diYSTgj*#uKm<3G z>(Q*xXg_dPwFoG8hdDmR?R^gsu z0yzX$LEnlS(j<*hb^|`)%IGc1`z{V@T1H9X+(w@2(&LVmRk6E7gHzt{FN7SExPZhG zoOE_V|w46Vwb{}uCx69M^$r5*KdOWpq1`~xPLmJ zK&-F3GZyQ0%}o6(Eyu=u?Q#>Dso_{53d?LqbRi~OF*GS(ojy8X z=-zR?Og2@!t?R^a#_<=_4nz~y75_fUm?SYwhG%>AoP03~!7rEOYlD9-g_y;1*?8aV^3l-_*Ly z+cgsATOC^G+@2cNN9iUaiIXUq(ac22rb zFC~)7f+T`Vd?IZqVrTz|9cZyw4v`AhG9t4EygE3o=&T&kZ^AR>rXn@(`=82;lkXu1 zv`YpYQHLlM`{D)&x6Sh6x=zoXlkm2b}+~mrD{*`FQO51B$!UU3rkb}6Z@WMP*>d!|_9)@pa zv|R@$CvToz!de{GvjB*>JaWuDO}YYLF+27i8Nfn9&j=urc#5vUB(6R)>yaD%cx?yRhAp zDc0>~4GKIPNz(6Rd|>8>sb84vv%pvD52rWBIxKskzpr`l*|A&M6^Iegg+Z>a&6)`{ zLBqlI`HF+i&~tj57uh;w75L6fzVyxYducfOu@ri7f@B|&Vw#5|XrdiqS;>+Y6n$(iU&WMk9LL!ouk2~pz#ANebm^QeH z|J)AMHD}S26`HaYj*8Le%*kLiIgJzXnSO0KZeAJYQhDT*s1DQybhqcP(;DiMrY9~< z)t!sr@>4k~C{)GKDVYcTdj^iCvN1hTjy_?iwDyT#H$4c{gl!6bwJ1-$ASGRe z`Ib^Q5%#H$+Ufz_wujJD*y(BP* zNdOR_+mj6#^DEf2&=vzL>q_srC;fc~}A9!O@>h{EH9{8l?m2ag*N_j3?&jS#d7_ z+q(O3E`8VFzL1}}&|d)ZbxF1z!1l1gUBO`daEP7Do)pHy$h(wHx}oT=!ARLDlgwxf z#wuOAlnRMGDLXa07%7bVAa^P0)_YQRc11E$7}qfGQjR$9N!eM^%t&Ee1F}nz_1u%P zvm%6%!kDk#r8EWYN!iI>Gg26X>R*&_(B;S-%5I3wC}o`Yccq)rzeNFzLdJP?S2%g= ze{cS4R%H}3dh%T{F?L7%fBZTlhtUo0a*E>ibc*I^7W$Cdp82_fQF;Wx8^3+`Uu_p^ AzyJUM diff --git a/excel_sheets/Timeseries_db_metadata.xlsx b/excel_sheets/Timeseries_db_metadata.xlsx index d0173b7af1dff58c66260afded39dabcdc2ceda5..bab0859458fbdec2355307368910476e11f7a138 100644 GIT binary patch literal 15568 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 Q5FhYw3Xph=;jd5s0WCL}K>z>% literal 15836 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 diff --git a/excel_sheets/Timeseries_metadata.xlsx b/excel_sheets/Timeseries_metadata.xlsx index a3a6ffaed11ad95e70402e5ba7046a8f54bdd546..0d3fd1ab01385ee8bfa1264fd95f011f628e6f45 100644 GIT binary patch literal 51082 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 CnA;iv literal 48932 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 literal 16443 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 Ymbx+~a%mh54F~xvfduhY@t^Ph51*=rlK=n! diff --git a/pydantic_schemas/tests/test_pydantic_to_excel.py b/pydantic_schemas/tests/test_pydantic_to_excel.py index 6207851..ef64653 100644 --- a/pydantic_schemas/tests/test_pydantic_to_excel.py +++ b/pydantic_schemas/tests/test_pydantic_to_excel.py @@ -23,19 +23,19 @@ ) from pydantic_schemas.utils.pydantic_to_excel import ( correct_column_widths, - create_sheet_and_write_title, + create_sheet, open_or_create_workbook, shade_30_rows_and_protect_sheet, shade_locked_cells, write_across_many_sheets, - write_nested_simple_pydantic_to_sheet, + write_pydantic_to_sheet, + write_title_and_version_info, write_to_single_sheet, ) from pydantic_schemas.utils.quick_start import make_skeleton from pydantic_schemas.video_schema import Model as VideoModel -# @pytest.mark.parametrize("index_above", [True, False]) def test_simple_schema(tmpdir, index_above=False): class Simple(BaseModel): idno: str @@ -44,25 +44,13 @@ class Simple(BaseModel): simple_original = Simple(idno="AVal", title="BVal", author="CVal") - filename = tmpdir.join(f"integration_test_simple_schema_{index_above}.xlsx") - sheetname = "Document Metadata" - sheet_title = "Document Metadata" - current_row = create_sheet_and_write_title(filename, sheetname, sheet_title) + filename = tmpdir.join(f"integration_test_simple_schema_.xlsx") + write_to_single_sheet(filename, simple_original, "simple_original", "Simple Metadata") - current_row = write_nested_simple_pydantic_to_sheet( - filename, sheetname, simple_original, current_row + 1, index_above=index_above - ) - worksheet = open_or_create_workbook(filename) - correct_column_widths(worksheet, sheetname) - shade_30_rows_and_protect_sheet(worksheet, sheetname, current_row + 1) - shade_locked_cells(worksheet, sheetname) - worksheet.save(filename) - - parsed_simple = excel_sheet_to_pydantic(filename, sheetname, Simple) + parsed_simple = excel_sheet_to_pydantic(filename, "metadata", Simple) assert parsed_simple == simple_original, parsed_simple -# @pytest.mark.parametrize("index_above", [True, False]) def test_two_layer_simple_schema(tmpdir, index_above=False): class Production(BaseModel): idno: str @@ -82,19 +70,10 @@ class ProductionAndCountries(BaseModel): countries=Country(name="MyCountry", initials="MC"), ) - filename = tmpdir.join(f"integration_test_two_layer_simple_schema_{index_above}.xlsx") - sheetname = "Document Metadata" - sheet_title = "Document Metadata" - current_row = create_sheet_and_write_title(filename, sheetname, sheet_title) + filename = tmpdir.join(f"integration_test_two_layer_simple_schema.xlsx") + write_to_single_sheet(filename, inp, "ProductionAndCountries", "Production and Countries") - current_row = write_nested_simple_pydantic_to_sheet(filename, sheetname, inp, current_row, index_above=index_above) - worksheet = open_or_create_workbook(filename) - correct_column_widths(worksheet, sheetname) - shade_30_rows_and_protect_sheet(worksheet, sheetname, current_row + 1) - shade_locked_cells(worksheet, sheetname) - worksheet.save(filename) - - parsed_outp = excel_sheet_to_pydantic(filename, sheetname, ProductionAndCountries) + parsed_outp = excel_sheet_to_pydantic(filename, "metadata", ProductionAndCountries) assert parsed_outp == inp, parsed_outp @@ -141,18 +120,8 @@ class ProductionAndCountries(BaseModel): ) filename = tmpdir.join(f"integration_test_multilayer_simple_schema_.xlsx") - sheetname = "Document Metadata" - sheet_title = "Document Metadata" - - current_row = create_sheet_and_write_title(filename, sheetname, sheet_title) - current_row = write_nested_simple_pydantic_to_sheet(filename, sheetname, inp, current_row + 1) - worksheet = open_or_create_workbook(filename) - correct_column_widths(worksheet, sheet_name=sheetname) - shade_30_rows_and_protect_sheet(worksheet, sheetname, current_row + 1) - shade_locked_cells(worksheet, sheetname) - worksheet.save(filename) - - parsed_outp = excel_sheet_to_pydantic(filename, sheetname, ProductionAndCountries) + write_to_single_sheet(filename, inp, "ProductionAndCountries", "Production and Countries") + parsed_outp = excel_sheet_to_pydantic(filename, "metadata", ProductionAndCountries) assert parsed_outp == inp, parsed_outp @@ -167,16 +136,7 @@ class Production(BaseModel): original_production = Production(idno="", subtitle=None, author="author", deprecatedFeature="toberemoved") filename = tmpdir.join(f"integration_test_optional_missing_deprecated_new_simple_.xlsx") - sheetname = "Document Metadata" - sheet_title = "Document Metadata" - - current_row = create_sheet_and_write_title(filename, sheetname, sheet_title) - current_row = write_nested_simple_pydantic_to_sheet(filename, sheetname, original_production, current_row + 1) - worksheet = open_or_create_workbook(filename) - correct_column_widths(worksheet, sheet_name=sheetname) - shade_30_rows_and_protect_sheet(worksheet, sheetname, current_row + 1) - shade_locked_cells(worksheet, sheetname) - worksheet.save(filename) + write_to_single_sheet(filename, original_production, "Production", "Production") class Production(BaseModel): idno: Optional[str] = None @@ -185,7 +145,7 @@ class Production(BaseModel): newFeature: Optional[str] = None requiredNewFeature: str - new_production = excel_sheet_to_pydantic(filename=filename, sheetname=sheetname, model_type=Production) + new_production = excel_sheet_to_pydantic(filename=filename, sheetname="metadata", model_type=Production) assert new_production.idno is None assert new_production.title is None assert new_production.author == "author" @@ -214,18 +174,10 @@ class ProductionAndCountries(BaseModel): example_production_and_country = ProductionAndCountries(production=example_production, countries=example_country) filename = tmpdir.join(f"integration_test_optional_missing_deprecated_new_two_level_.xlsx") - sheetname = "Document Metadata" - sheet_title = "Document Metadata" - current_row = create_sheet_and_write_title(filename, sheetname, sheet_title) - current_row = write_nested_simple_pydantic_to_sheet( - filename, sheetname, example_production_and_country, current_row + 1 + write_to_single_sheet( + filename, example_production_and_country, "ProductionAndCountries", "Production and Countries" ) - worksheet = open_or_create_workbook(filename) - correct_column_widths(worksheet, sheet_name=sheetname) - shade_30_rows_and_protect_sheet(worksheet, sheetname, current_row + 1) - shade_locked_cells(worksheet, sheetname) - worksheet.save(filename) class Production(BaseModel): idno: Optional[str] = None @@ -243,7 +195,7 @@ class ProductionAndCountries(BaseModel): countries: Country newTopLevelFeature: Optional[NewTopLevel] = None - new_pandc = excel_sheet_to_pydantic(filename=filename, sheetname=sheetname, model_type=ProductionAndCountries) + new_pandc = excel_sheet_to_pydantic(filename=filename, sheetname="metadata", model_type=ProductionAndCountries) assert new_pandc.production.idno is None assert new_pandc.production.title is None assert new_pandc.production.author == "author" @@ -307,20 +259,12 @@ class ProductionAndCountries(BaseModel): ) filename = tmpdir.join(f"integration_test_lists_.xlsx") - sheetname = "Document Metadata" - sheet_title = "Document Metadata" - - current_row = create_sheet_and_write_title(filename, sheetname, sheet_title) - current_row = write_nested_simple_pydantic_to_sheet( - filename, sheetname, example_production_and_country, current_row + 1 + # filename = "integration_test_lists_.xlsx" + write_to_single_sheet( + filename, example_production_and_country, "ProductionAndCountries", "Production and Countries" ) - worksheet = open_or_create_workbook(filename) - correct_column_widths(worksheet, sheet_name=sheetname) - shade_30_rows_and_protect_sheet(worksheet, sheetname, current_row + 1) - shade_locked_cells(worksheet, sheetname) - worksheet.save(filename) - new_pandc = excel_sheet_to_pydantic(filename=filename, sheetname=sheetname, model_type=ProductionAndCountries) + new_pandc = excel_sheet_to_pydantic(filename=filename, sheetname="metadata", model_type=ProductionAndCountries) assert new_pandc.production.idno is None assert new_pandc.production.title is None assert len(new_pandc.production.authors) == 4 @@ -376,8 +320,10 @@ class ProductionAndCountries(BaseModel): ) filename = tmpdir.join(f"integration_test_optional_missing_deprecated_new_two_level_.xlsx") - title = "Example" - write_across_many_sheets(filename, example_production_and_country, title) + # filename = f"integration_test_optional_missing_deprecated_new_two_level_.xlsx" + write_across_many_sheets( + filename, example_production_and_country, "ProductionAndCountries", "Production and Countries" + ) new_pandc = excel_doc_to_pydantic(filename, ProductionAndCountries) assert new_pandc.production.idno == "myidno" @@ -407,7 +353,8 @@ class WithDict(BaseModel): wd = WithDict(additional={"s": "sa", "a": "va"}, sub=SubDict(sub_additional={"sub": "subval", "sub2": "subval2"})) filename = tmpdir.join(f"integration_test_dictionaries_.xlsx") - write_across_many_sheets(filename, wd, "test", title="Dictionaries") + write_across_many_sheets(filename, wd, "WithDict", "Looking at dictionaries") + parsed_outp = excel_doc_to_pydantic(filename, WithDict) assert parsed_outp == wd, parsed_outp @@ -439,13 +386,12 @@ def test_write_real_skeleton(tmpdir, name, type_writer_reader): os.remove(filename) ob = make_skeleton(type) - writer(filename, ob, name) + writer(filename, ob, name, f"{name} Metadata") reader(filename, type) def test_demo(): filename = "demo_output.xlsx" - sheetname = "metadata" sheet_title = "Formatting metadata examples" class SingleLevelData(BaseModel): @@ -498,10 +444,12 @@ class MetaDataOfVariousHierarchies(BaseModel): if os.path.exists(filename): os.remove(filename) - current_row = create_sheet_and_write_title(filename, sheetname, sheet_title) - current_row = write_nested_simple_pydantic_to_sheet(filename, sheetname, example, current_row + 1) - worksheet = open_or_create_workbook(filename) - correct_column_widths(worksheet, sheet_name=sheetname) - shade_30_rows_and_protect_sheet(worksheet, sheetname, current_row + 1) - shade_locked_cells(worksheet, sheetname) - worksheet.save(filename) + write_to_single_sheet(filename, example, "MetaDataOfVariousHierarchies", sheet_title) + + # current_row = create_sheet_and_write_title(filename, sheetname, sheet_title) + # current_row = write_nested_simple_pydantic_to_sheet(filename, sheetname, example, current_row + 1) + # worksheet = open_or_create_workbook(filename) + # correct_column_widths(worksheet, sheet_name=sheetname) + # shade_30_rows_and_protect_sheet(worksheet, sheetname, current_row + 1) + # shade_locked_cells(worksheet, sheetname) + # worksheet.save(filename) diff --git a/pydantic_schemas/utils/excel_to_pydantic.py b/pydantic_schemas/utils/excel_to_pydantic.py index 5902e08..a8dc618 100644 --- a/pydantic_schemas/utils/excel_to_pydantic.py +++ b/pydantic_schemas/utils/excel_to_pydantic.py @@ -237,10 +237,11 @@ def instantiate_pydantic_object(model_type: Type[BaseModel], df: pd.DataFrame, f def excel_sheet_to_pydantic(filename: str, sheetname: str, model_type: Union[Type[BaseModel], Type[List[BaseModel]]]): df = pd.read_excel(filename, sheet_name=sheetname, header=None) df = df.where(df.notnull(), None) - try: - df = get_relevant_sub_frame(model_type, df) - except (KeyError, IndexError): - pass + if sheetname != "metadata": + try: + df = get_relevant_sub_frame(model_type, df) + except (KeyError, IndexError): + pass if is_optional_annotation(model_type): return handle_optional(df.iloc[0, 0], model_type, df) diff --git a/pydantic_schemas/utils/pydantic_to_excel.py b/pydantic_schemas/utils/pydantic_to_excel.py index dc69560..27567bd 100644 --- a/pydantic_schemas/utils/pydantic_to_excel.py +++ b/pydantic_schemas/utils/pydantic_to_excel.py @@ -1,17 +1,22 @@ +import copy +import json import os -import typing +from enum import Enum from typing import Dict, List, Optional, Tuple, Union import pandas as pd from openpyxl import Workbook, load_workbook -from openpyxl.styles import Alignment, Font, PatternFill, Protection +from openpyxl.styles import Alignment, Border, Font, PatternFill, Protection, Side +from openpyxl.utils.dataframe import dataframe_to_rows from openpyxl.worksheet.protection import SheetProtection +from openpyxl.worksheet.worksheet import Worksheet from pydantic import BaseModel -from .utils import ( +from pydantic_schemas.utils.utils import ( annotation_contains_dict, annotation_contains_list, assert_dict_annotation_is_strings_or_any, + get_subtype_of_optional_or_list, seperate_simple_from_pydantic, subset_pydantic_model, ) @@ -19,72 +24,61 @@ MAXCOL = 30 -def protect_and_shade_given_cell(sheet, row: int, col: int): - grey_fill = PatternFill(start_color="DDDDDD", end_color="DDDDDD", fill_type="solid") - sheet.cell(row=row, column=col).fill = grey_fill - sheet.cell(row=row, column=col).protection = Protection(locked=True) +def unprotect_cell(sheet, row, column): + sheet.cell(row=row, column=column).protection = Protection(locked=False) -def protect_and_shade_row(sheet, row: int, colmin: int = 1, colmax: Optional[int] = None): +def unprotect_row(sheet, row, colmin: int, colmax: Optional[int] = None): if colmax is None: colmax = max(colmin, MAXCOL, sheet.max_column) - for col in range(colmin, colmax): - protect_and_shade_given_cell(sheet, row, col) + for col in range(colmin, colmax + 1): + unprotect_cell(sheet, row, col) -def protect_and_shade_col(sheet, col: int, rowmin: int, rowmax: int): +def unprotect_given_col(sheet, col: int, rowmin: int, rowmax: int): for row in range(rowmin, rowmax): - protect_and_shade_given_cell(sheet, row, col) + unprotect_cell(sheet, row, col) -def unprotect_cell(sheet, row, column): - sheet.cell(row=row, column=column).protection = Protection(locked=False) +def protect_and_shade_given_cell(sheet, row: int, col: int): + grey_fill = PatternFill(start_color="DDDDDD", end_color="DDDDDD", fill_type="solid") + sheet.cell(row=row, column=col).fill = grey_fill + sheet.cell(row=row, column=col).protection = Protection(locked=True) -def unprotect_row(sheet, row, colmin: int, colmax: Optional[int] = None): +def protect_and_shade_row(sheet, row: int, colmin: int = 1, colmax: Optional[int] = None): if colmax is None: colmax = max(colmin, MAXCOL, sheet.max_column) - for col in range(colmin, colmax + 1): - unprotect_cell(sheet, row, col) + for col in range(colmin, colmax): + protect_and_shade_given_cell(sheet, row, col) -def unprotect_given_col(sheet, col: int, rowmin: int, rowmax: int): +def protect_and_shade_col(sheet, col: int, rowmin: int, rowmax: int): for row in range(rowmin, rowmax): - unprotect_cell(sheet, row, col) + protect_and_shade_given_cell(sheet, row, col) -def open_or_create_workbook(doc_filepath): - if os.path.exists(doc_filepath): - workbook = load_workbook(doc_filepath) - else: - workbook = Workbook() - # Remove the default sheet created by Workbook() - if len(workbook.sheetnames) == 1 and workbook.sheetnames[0] == "Sheet": - del workbook["Sheet"] - return workbook +def shade_locked_cells(worksheet: Worksheet): + """ + Shades every cell grey if it is locked and leaves it unshaded if it is not locked. + Args: + worksheet (Worksheet): The openPyxl Worksheet from an Excel file. + sheet_name (str): The name of the sheet to apply the shading. + """ + # Define the grey fill + grey_fill = PatternFill(start_color="DDDDDD", end_color="DDDDDD", fill_type="solid") -def shade_30_rows_and_protect_sheet(workbook: Workbook, sheet_name: str, startrow: int): - """For use after all data is written so there is a clear border around the data""" - ws = workbook[sheet_name] - for r in range(startrow, startrow + 30): - protect_and_shade_row(ws, r) - ws.protection = SheetProtection( - sheet=True, - formatCells=False, - formatColumns=False, - formatRows=False, - insertColumns=False, - insertRows=True, - insertHyperlinks=False, - deleteColumns=False, - deleteRows=True, - selectLockedCells=False, - selectUnlockedCells=False, - ) + # Iterate through each cell in the worksheet + for row in worksheet.iter_rows(): + for cell in row: + if cell.protection.locked: + cell.fill = grey_fill + else: + cell.fill = PatternFill() # Remove any fill (reset to default) -def correct_column_widths(workbook: Workbook, sheet_name: str): +def correct_column_widths(worksheet: Worksheet): """ Adjusts the column widths of an Excel sheet based on the maximum length of the content in each column. If a column has no filled values, its width remains unchanged. @@ -94,9 +88,8 @@ def correct_column_widths(workbook: Workbook, sheet_name: str): sheet_name (str): The name of the sheet to adjust column widths for. """ # Load the existing workbook - ws = workbook[sheet_name] # Adjust column widths based on the maximum length of the content in each column - for col in ws.columns: + for col in worksheet.columns: max_length = 0 column = col[0].column_letter # Get the column letter for cell in col: @@ -109,136 +102,26 @@ def correct_column_widths(workbook: Workbook, sheet_name: str): if max_length > 0: # Only adjust if there are filled values in the column max_length = max(min(max_length, 28), 11) adjusted_width = max_length + 2 - ws.column_dimensions[column].width = adjusted_width - - -def shade_locked_cells(workbook: Workbook, sheet_name: str): - """ - Shades every cell grey if it is locked and leaves it unshaded if it is not locked. - - Args: - workbook (Workbook): The openPyxl Workbook of an Excel file. - sheet_name (str): The name of the sheet to apply the shading. - """ - # Load the existing workbook - ws = workbook[sheet_name] - - # Define the grey fill - grey_fill = PatternFill(start_color="DDDDDD", end_color="DDDDDD", fill_type="solid") - - # Iterate through each cell in the worksheet - for row in ws.iter_rows(): - for cell in row: - if cell.protection.locked: - cell.fill = grey_fill - else: - cell.fill = PatternFill() # Remove any fill (reset to default) - - -def write_to_cell( - filename: str, sheet_name: str, row: int, col: int, text: str, isBold=False, size=14, debug: bool = False -): - """ - Writes text to a specified cell in the Excel file. - - Args: - filename (str): The path to the Excel file. - sheet_name (str): The name of the sheet. - row_num (int): The row number (1-based index). - col_num (int): The column number (1-based index). - text (str): The text to write to the cell. - """ - # Load the existing workbook or create a new one if it doesn't exist - try: - wb = load_workbook(filename) - except FileNotFoundError: - wb = Workbook() - - # Select the worksheet by name - ws = wb[sheet_name] - - # Write text to the specified cell - cell = ws.cell(row=row, column=col, value=text) - cell.font = Font(bold=isBold, size=size) - - protect_and_shade_row(ws, row=row, colmin=col) - - # Save the workbook - wb.save(filename) - - return row + 1 - - -def create_sheet_and_write_title( - doc_filepath: str, - sheet_name: str, - sheet_title: Optional[str] = None, - sheet_number: int = 0, - protect_title: bool = True, - debug=False, -): - """ - In the given excel document, creates a new sheet called sheet_name and in the top left cell - writes in sheet_title in bold. - - It will create the excel document at doc_filepath if it does not already exist. - - The new sheet will be inserted at the specified sheet_number position. If sheet_number is - greater than the total number of sheets, the new sheet will be added at the end. - - Args: - doc_filepath (str): The path to the Excel document. - sheet_name (str): The name of the new sheet to create. - sheet_title (str): The title to write in the top left cell of the new sheet, in bold. - sheet_number (int): The position to insert the new sheet (0-indexed). If greater than the - total number of sheets, the new sheet will be added at the end. - - Returns: - int: index of next row below the final written row - - Raises: - ValueError: if a sheet called sheet_name already exists in the document to prevent overwriting. - """ - # Check if the file exists - workbook = open_or_create_workbook(doc_filepath) - - # Check if the sheet already exists - if sheet_name in workbook.sheetnames: - raise ValueError(f"A sheet called '{sheet_name}' already exists in the document.") + worksheet.column_dimensions[column].width = adjusted_width - # Create a new sheet - new_sheet = workbook.create_sheet(title=sheet_name) - - if sheet_title is not None: - # Write the title in bold in the top left cell (A1) - bold_font = Font(bold=True, size=14) - new_sheet["A1"] = sheet_title.replace("_", " ") - new_sheet["A1"].font = bold_font - - # Shade the background of the cells in the first 2 rows grey and lock them - # for row in range(1, 3): - # protect_and_shade_row(new_sheet, row) - if protect_title: - protect_and_shade_given_cell(new_sheet, 1, 1) - else: - unprotect_cell(new_sheet, 1, 1) - protect_and_shade_row(new_sheet, 1, 2) - protect_and_shade_row(new_sheet, 2) - # Determine the position to insert the new sheet - total_sheets = len(workbook.sheetnames) - insert_position = min(sheet_number, total_sheets) - - # Move the new sheet to the specified position - workbook._sheets.insert(insert_position, workbook._sheets.pop()) - - # Save the workbook - workbook.save(doc_filepath) - - if sheet_title is not None: - return 3 - else: - return 0 +def shade_30_rows_and_protect_sheet(worksheet: Worksheet, startrow: int): + """For use after all data is written so there is a clear border around the data""" + for r in range(startrow, startrow + 30): + protect_and_shade_row(worksheet, r) + worksheet.protection = SheetProtection( + sheet=True, + formatCells=False, + formatColumns=False, + formatRows=False, + insertColumns=False, + insertRows=True, + insertHyperlinks=False, + deleteColumns=False, + deleteRows=True, + selectLockedCells=False, + selectUnlockedCells=False, + ) def replace_row_with_multiple_rows(original_df, new_df, row_to_replace): @@ -264,8 +147,7 @@ def replace_row_with_multiple_rows(original_df, new_df, row_to_replace): def pydantic_to_dataframe( - ob: Union[BaseModel, Dict, List[Dict]], - annotations: Optional[Dict[str, typing._UnionGenericAlias]] = None, + ob: Union[BaseModel, List[BaseModel]], debug: bool = False, ) -> Tuple[pd.DataFrame, List[int]]: """ @@ -275,323 +157,316 @@ def pydantic_to_dataframe( Returns the dataframe and also a list of the indexs (denoted by zero-based numbers) that are of list types. The list of indexs is intended to be used for appropriately shading the excel sheet. """ - if isinstance(ob, BaseModel): - ob_dict = ob.model_dump(mode="json") + if isinstance(ob, list): + ob_dict = [elem.model_dump() for elem in ob] + annotations = {k: v.annotation for k, v in ob[0].model_fields.items()} + is_list_of_objects = True else: - ob_dict = ob - try: - df = pd.json_normalize(ob_dict).T - except NotImplementedError: - raise NotImplementedError(ob) + ob_dict = ob.model_dump() + annotations = {k: v.annotation for k, v in ob.model_fields.items()} + is_list_of_objects = False + df = pd.json_normalize(ob_dict).T if debug: print("pydantic_to_dataframe") print(df) + + # handle dictionaries + # for idx, field in ob_dict.items(): + # if annotation_contains_dict(annotations[idx]): + for fieldname, anno in annotations.items(): + if annotation_contains_dict(anno): + if debug: + print("Found a dictionary") + if is_list_of_objects: + continue + assert_dict_annotation_is_strings_or_any(anno) + field = ob_dict[fieldname] + if field is None or len(field) == 0: + dict_df = pd.DataFrame(["", ""], index=["key", "value"]) + else: + dict_df = pd.DataFrame([field.keys(), field.values()], index=["key", "value"]) + dict_df.index = dict_df.index.map(lambda x: f"{fieldname}.{x}") + df = df[~df.index.str.startswith(f"{fieldname}.")] + df = df[df.index != fieldname] + df = pd.concat([df, dict_df]) + + i = 0 list_indices = [] - if isinstance(ob, list): - list_indices = list(range(len(df))) - else: - for idx, _ in ob_dict.items(): - if annotations is not None and annotation_contains_dict(annotations[idx]): - if debug: - print("Found a dictionary") - assert_dict_annotation_is_strings_or_any(annotations[idx]) - field = ob_dict[idx] - if field is None or len(field) == 0: - dict_df = pd.DataFrame(["", ""], index=["key", "value"]) - else: - dict_df = pd.DataFrame([field.keys(), field.values()], index=["key", "value"]) - dict_df.index = dict_df.index.map(lambda x: f"{idx}.{x}") - df = df[~df.index.str.startswith(f"{idx}.")] - df = df[df.index != idx] - df = pd.concat([df, dict_df]) - i = 0 - for idx in df.index: + enums = {} + for idx in df.index: + if debug: + print(f"pydantic_to_dataframe::172 idx = {idx}, df = {df}") + vals = df.loc[idx] # [0] + if debug: + print(f"vals: {vals}") + print(f'idx.split(".")[0]: {idx.split(".")[0]}') + print(f'annotations[idx.split(".")[0]]: {annotations[idx.split(".")[0]]}') + # field = ob_dict[idx.split(".")[0]] + + if annotation_contains_list(annotations[idx.split(".")[0]]) or annotation_contains_dict( + annotations[idx.split(".")[0]] + ): + if annotation_contains_list(annotations[idx.split(".")[0]]): + subtype = get_subtype_of_optional_or_list(annotations[idx.split(".")[0]]) + else: + subtype = dict if debug: - print(f"pydantic_to_dataframe::283 idx = {idx}, df = {df}") - vals = df.loc[idx][0] - field = ob_dict[idx.split(".")[0]] - - if ( - isinstance(vals, list) - or (annotations is not None and annotation_contains_list(annotations[idx.split(".")[0]])) - or (annotations is not None and annotation_contains_dict(annotations[idx.split(".")[0]])) - ): # (hasattr(ob, "annotation") and annotation_contains_list(ob.annotation)): - if vals is not None and len(vals) > 0 and (isinstance(vals[0], BaseModel) or isinstance(vals[0], Dict)): - if debug: - print("list of base models", vals[0]) - sub = pd.json_normalize(df.loc[idx].values[0]).reset_index(drop=True).T - sub.index = sub.index.map(lambda x: f"{idx}." + x) - df = replace_row_with_multiple_rows(df, sub, idx) - list_indices += list(range(i, i + len(sub))) - i += len(sub) - else: - if debug: - print("list of builtins or else empty") - df = replace_row_with_multiple_rows( - df, df.loc[idx].explode().to_frame().reset_index(drop=True).T, idx - ) - list_indices.append(i) - i += 1 + print("subtype = ", subtype) + print("isinstance(subtype, BaseModel)", isinstance(subtype, type(BaseModel))) + print("isinstance(subtype, dict)", isinstance(subtype, dict)) + if is_list_of_objects: + if debug: + print("list of lists") + list_indices.append(i) + i += 1 + elif isinstance(subtype, type(BaseModel)) or isinstance(subtype, dict): + if debug: + print("list of base models", vals) + sub = pd.json_normalize(df.loc[idx].values[0]).reset_index(drop=True).T + sub.index = sub.index.map(lambda x: f"{idx}." + x) + df = replace_row_with_multiple_rows(df, sub, idx) + list_indices += list(range(i, i + len(sub))) + i += len(sub) else: + if debug: + print("list of builtins or else empty") + df = replace_row_with_multiple_rows(df, df.loc[idx].explode().to_frame().reset_index(drop=True).T, idx) + list_indices.append(i) i += 1 + else: + if isinstance(annotations[idx.split(".")[0]], type(Enum)): + dropdown_options = [e.value for e in annotations[idx.split(".")[0]]] + dropdown = DataValidation( + type="list", + formula1=f'"{",".join(dropdown_options)}"', + showDropDown=False, + allow_blank=True, + showErrorMessage=True, + ) + enums[i] = dropdown + i += 1 if debug: print(df) if len(df): df.index = df.index.str.split(".", expand=True) - return df, list_indices - - -def write_simple_pydantic_to_sheet( - doc_filepath: str, - sheet_name: str, - ob: BaseModel, - startrow: int, - index_above=False, - write_title=True, - title: Optional[str] = None, - annotations=None, - debug: bool = False, -): - """ - Assumes a pydantic object made up of built in types or pydantic objects utimately made of built in types or Lists. - Do not use if the object or it's children contain Dicts or enums. - - Starting from startrow, it writes the name of the pydantic object in the first column. It then writes the data - starting in the row below and from the second column. - - If index_above = False then the data is printed with indexs down the second column and values down the third column - If index_above = True then the data is printed with indexs along the second row and values along the third row - - Example: - - class Simple(BaseModel): - a: str - b: str - - example = Simple(a="value_a", b="value_b") - # with index_above=True - write_simple_pydantic_to_sheet("filename", "sheetname", example, startrow=1, index_above=True) - - gives: - - Simple - a b - value_a value_b + if is_list_of_objects: + list_indices = list(range(len(df))) + return df, list_indices, enums - # with index_above=False - write_simple_pydantic_to_sheet("filename", "sheetname", example, startrow=1, index_above=False) - gives: +def stringify_enum(elem): + if isinstance(elem, Enum): + return str(elem.value) + else: + raise TypeError(f"{elem} is not an enum") - Simple - a value_a - b value_b +def stringify_cell_element(elem): + if isinstance(elem, list): + return json.dumps(elem, default=stringify_enum) + elif isinstance(elem, Enum): + return str(elem.value) + elif isinstance(elem, dict): + return json.dumps(elem, default=stringify_enum) + else: + return elem - Args: - doc_filepath (str): The path to the Excel document. - sheet_name (str): The name of the new sheet to create. - ob (BaseModel): a pydantic class - startrow (int): the row from which to start writing the data - index_above (bool): if True then the index is written along a row with the data below, if False then the data is - written in a column with the data to the right. Default is False - Returns: - int: index of next row below the final written row - """ - if write_title: - if title is None: - title = ob.model_json_schema()["title"] - if startrow == 1: - title = title.replace("_", " ") - size = 14 - else: - size = 12 - startrow = write_to_cell(doc_filepath, sheet_name, startrow, 1, title, isBold=True, size=size, debug=debug) - startcol = 2 - - df, list_rows = pydantic_to_dataframe(ob=ob, annotations=annotations, debug=debug) - index_levels = df.index.nlevels - # if index_above and index_levels > 1: - # warnings.warn( - # "Setting index_above=True is incompatible with a hierarchical index. Setting index_above to False.", - # UserWarning, - # ) - # index_above = False - - # if index_above: - # df = df.T - - # Annoyingly, openpyxl uses 1 based indexing but - # But pandas uses 0 based indexing. - - with pd.ExcelWriter(doc_filepath, mode="a", if_sheet_exists="overlay") as writer: - df.to_excel( - writer, - sheet_name=sheet_name, - header=index_above, - index=not index_above, - startrow=startrow - 1, - startcol=startcol - 1, - merge_cells=True, - ) +def write_pydantic_to_excel(ws, ob, row_number, debug=False): + df, list_rows, enums = pydantic_to_dataframe(ob, debug=debug) + list_rows_tracker = {} + list_of_enums_tracker = {} + for i, r in enumerate(dataframe_to_rows(df, index=True, header=False)): + if debug: + print(r) + if all(map(lambda x: x is None, r)): + continue + r = [stringify_cell_element(val) for val in r] + # r = [str(val) if isinstance(val, list) else str(val.value) if isinstance(val, Enum) else val for val in r ] + r = [""] + r + if debug: + print("about to append", r) + ws.append(r) + for col in range(2, df.index.nlevels + 2): + cell = ws.cell(row=row_number, column=col) + cell.font = Font(bold=True) + cell.border = Border( + top=Side(border_style=None), + left=Side(border_style="thin"), + right=Side(border_style="thin"), + bottom=Side(border_style=None), + ) + if cell.value is not None and cell.value != "": + if debug: + print("turning on some borders") + border_copy = copy.copy(cell.border) + border_copy.top = Side(border_style="thin") + cell.border = border_copy + min_unprotected_cell = df.index.nlevels + 2 + max_unprotected_cell = None if i - 1 in list_rows else min_unprotected_cell + unprotect_row(ws, row_number, colmin=min_unprotected_cell, colmax=max_unprotected_cell) + if i - 1 in enums: + dropdown = enums[i - 1] + ws.add_data_validation(dropdown) + for j in range( + min_unprotected_cell, ws.max_column if max_unprotected_cell is None else min_unprotected_cell + 1 + ): + dropdown.add(ws.cell(row_number, j)) + if max_unprotected_cell is None: + list_rows_tracker[row_number] = ws.max_column + if i - 1 in enums: + list_of_enums_tracker[row_number] = dropdown + row_number += 1 + + for col in range(2, df.index.nlevels + 2): + cell = ws.cell(row=row_number, column=col) + border_copy = copy.copy(cell.border) + border_copy.top = Side(border_style="thin") + cell.border = border_copy + + return row_number + 1, list_rows_tracker, list_of_enums_tracker + + +def write_title_and_version_info( + ws: Worksheet, sheet_title: Optional[str], version: Optional[str], protect_title=True +) -> int: + if sheet_title is None: + return 1 + if sheet_title is not None: + sheet_title = sheet_title.replace("_", " ") + ws.append([sheet_title, None, version]) - # Open the Excel file with openpyxl - workbook = load_workbook(doc_filepath) - sheet = workbook[sheet_name] - - # Get the DataFrame dimensions - rows, cols = df.shape - - # if index_above: - # protect_and_shade_row(sheet, startrow) - # for c in range(startcol, cols + startcol): - # cell = sheet.cell(startrow, c) - # cell.font = Font(bold=False) - # for r in range(startrow + 1, startrow + rows + 1): - # unprotect_row(sheet, r, startcol, colmax=startcol + cols) - # protect_and_shade_row(sheet, r, colmin=startcol + cols) - # next_row = startrow + rows + 2 - # else: - for col in range(startcol, startcol + index_levels): - protect_and_shade_col(sheet, col, startrow, startrow + rows) - for r in range(startrow, startrow + rows): - cell = sheet.cell(r, col) - cell.font = Font(bold=False) - firstdatacol = startcol + index_levels - for i, r in enumerate(range(startrow, startrow + rows)): - if i in list_rows: - unprotect_row(sheet, r, firstdatacol) - else: - unprotect_row(sheet, r, firstdatacol, colmax=firstdatacol + 1) - protect_and_shade_row(sheet, r, colmin=firstdatacol + 1) - next_row = startrow + rows + if sheet_title is not None: + bold_font = Font(bold=True, size=14) + ws["A1"].font = bold_font + if protect_title == False: + unprotect_row(ws, 1, colmin=1, colmax=1) - sheet.protection.enable() - # Save the workbook - workbook.save(doc_filepath) + if version is not None: + version_font = Font(name="Consolas", size=9) + ws["C1"].font = version_font - return next_row + ws.append([]) + return 3 -def write_nested_simple_pydantic_to_sheet( - doc_filepath: str, sheet_name: str, ob: BaseModel, startrow: int, index_above=False, debug=False -): - """ - Assumes the pydantic object is made up only of other pydantic objects that are themselves made up only of built in types - """ - if debug: - print(ob) +def write_pydantic_to_sheet(worksheet: Worksheet, ob: BaseModel, current_row: int, debug: bool = False) -> int: children = seperate_simple_from_pydantic(ob) if debug: - print(children["simple"]) + print("Children:") + print(children) + list_rows = {} + enum_list_rows = {} + if len(children["simple"]): child_object = subset_pydantic_model(ob, children["simple"]) - startrow = write_simple_pydantic_to_sheet( - doc_filepath, - sheet_name, - child_object, - startrow, - index_above=False, - write_title=False, - annotations={k: v.annotation for k, v in child_object.model_fields.items()}, - debug=debug, + current_row, sub_list_rows, sub_list_enums = write_pydantic_to_excel( + ws=worksheet, ob=child_object, row_number=current_row ) - if debug: - print("Done with simple children, now nesting pydantic objects") + list_rows.update(sub_list_rows) + enum_list_rows.update(sub_list_enums) + for mfield in children["pydantic"]: - field = ob.model_dump(mode="json")[mfield] - if debug: - print(f"write_nested_simple_pydantic_to_sheet::428, field={field}") - startrow = write_simple_pydantic_to_sheet( - doc_filepath, sheet_name, field, startrow, index_above=index_above, title=mfield, debug=debug + worksheet.append([mfield]) + worksheet.cell(row=current_row, column=1).font = Font(bold=True, size=12) + current_row += 1 + child_object = getattr(ob, mfield) + current_row, sub_list_rows, sub_list_enums = write_pydantic_to_excel( + ws=worksheet, ob=child_object, row_number=current_row ) + list_rows.update(sub_list_rows) + enum_list_rows.update(sub_list_enums) - return startrow + for row, col in list_rows.items(): + unprotect_row(worksheet, row, colmin=col, colmax=None) + if row in enum_list_rows: + dropdown = enum_list_rows[row] + for j in range(col, worksheet.max_column): + dropdown.add(worksheet.cell(row, j)) + return current_row -def write_metadata_type_and_version(doc_filepath: str, metadata_type: str): - wb = open_or_create_workbook(doc_filepath) - sheet = wb["metadata"] +def open_or_create_workbook(doc_filepath): + if os.path.exists(doc_filepath): + workbook = load_workbook(doc_filepath) + else: + workbook = Workbook() + # Remove the default sheet created by Workbook() + if len(workbook.sheetnames) == 1 and workbook.sheetnames[0] == "Sheet": + del workbook["Sheet"] + return workbook - sheet["C1"] = f"{metadata_type} type metadata version 20240809.1" - version_font = Font(name="Consolas", size=9) - sheet["C1"].font = version_font +def create_sheet(workbook, sheetname, sheet_number): + # Check if the sheet already exists + if sheetname in workbook.sheetnames: + raise ValueError(f"A sheet called '{sheetname}' already exists in the document.") - wb.save(doc_filepath) + # Create a new sheet + new_sheet = workbook.create_sheet(title=sheetname) + + # Determine the position to insert the new sheet + total_sheets = len(workbook.sheetnames) + insert_position = min(sheet_number, total_sheets) + + # Move the new sheet to the specified position + workbook._sheets.insert(insert_position, workbook._sheets.pop()) + return new_sheet def write_to_single_sheet( - doc_filepath: str, ob: BaseModel, metadata_type: str, title: Optional[str] = None, debug=False + doc_filepath: str, ob: BaseModel, metadata_type: str, title: Optional[str] = None, verbose=False ): - if title is None: - title = "Metadata" - sheet_name = "metadata" - current_row = create_sheet_and_write_title( - doc_filepath, sheet_name, title, sheet_number=0, protect_title=False, debug=debug - ) - write_metadata_type_and_version(doc_filepath=doc_filepath, metadata_type=metadata_type) - current_row = write_nested_simple_pydantic_to_sheet(doc_filepath, sheet_name, ob, current_row + 1) - workbook = open_or_create_workbook(doc_filepath) - correct_column_widths(workbook, sheet_name=sheet_name) - shade_30_rows_and_protect_sheet(workbook, sheet_name, current_row + 1) - shade_locked_cells(workbook, sheet_name) - workbook.save(doc_filepath) + model_default_name = ob.model_json_schema()["title"] + wb = open_or_create_workbook(doc_filepath) + ws = create_sheet(wb, "metadata", sheet_number=0) + version = f"{metadata_type} type metadata version 20240812.1" + current_row = write_title_and_version_info(ws, title, version, protect_title=False) + current_row = write_pydantic_to_sheet(ws, ob, current_row, debug=verbose) + correct_column_widths(worksheet=ws) + shade_30_rows_and_protect_sheet(worksheet=ws, startrow=current_row) + shade_locked_cells(worksheet=ws) + wb.save(doc_filepath) def write_across_many_sheets( - doc_filepath: str, ob: BaseModel, metadata_type: str, title: Optional[str] = None, debug=False + doc_filepath: str, ob: BaseModel, metadata_type: str, title: Optional[str] = None, verbose=False ): + wb = open_or_create_workbook(doc_filepath) + ws = create_sheet(wb, "metadata", sheet_number=0) + version = f"{metadata_type} type metadata version 20240812.1" + current_row = write_title_and_version_info(ws, title, version, protect_title=False) + children = seperate_simple_from_pydantic(ob) - if debug: + if verbose: print(f"children: {children}") sheet_number = 0 - if len(children["simple"]): - if title is None: - title = "Metadata" - sheet_name = "metadata" - current_row = create_sheet_and_write_title( - doc_filepath, sheet_name, title, sheet_number=sheet_number, protect_title=False, debug=debug - ) - write_metadata_type_and_version(doc_filepath=doc_filepath, metadata_type=metadata_type) + if len(children["simple"]): child_object = subset_pydantic_model(ob, children["simple"]) - current_row = write_simple_pydantic_to_sheet( - doc_filepath, - sheet_name, - child_object, - current_row + 1, - index_above=False, - write_title=False, - annotations={k: v.annotation for k, v in child_object.model_fields.items()}, - debug=debug, - ) - workbook = open_or_create_workbook(doc_filepath) - correct_column_widths(workbook, sheet_name=sheet_name) - shade_30_rows_and_protect_sheet(workbook, sheet_name, current_row + 1) - shade_locked_cells(workbook, sheet_name) - workbook.save(doc_filepath) - sheet_number += 1 + current_row = write_pydantic_to_sheet(ws, child_object, current_row, debug=verbose) + correct_column_widths(worksheet=ws) + shade_30_rows_and_protect_sheet(worksheet=ws, startrow=current_row) + shade_locked_cells(worksheet=ws) + sheet_number += 1 for fieldname in children["pydantic"]: - if debug: + if verbose: print(f"\n\n{fieldname}\n") - field = getattr(ob, fieldname) - if not isinstance(field, BaseModel): - field = subset_pydantic_model(ob, [fieldname], name=fieldname) + child_object = getattr(ob, fieldname) + if verbose: + print(child_object) + ws = create_sheet(wb, fieldname, sheet_number=sheet_number) + if not isinstance(child_object, BaseModel): + child_object = subset_pydantic_model(ob, [fieldname], name=fieldname) sheet_title = None else: sheet_title = fieldname - current_row = create_sheet_and_write_title( - doc_filepath, fieldname, sheet_title, sheet_number=sheet_number, protect_title=True, debug=debug - ) - - current_row = write_nested_simple_pydantic_to_sheet(doc_filepath, fieldname, field, current_row + 1) - workbook = open_or_create_workbook(doc_filepath) - correct_column_widths(workbook, sheet_name=fieldname) - shade_30_rows_and_protect_sheet(workbook, fieldname, current_row + 1) - shade_locked_cells(workbook, fieldname) - workbook.save(doc_filepath) + current_row = write_title_and_version_info(ws, sheet_title, None, protect_title=True) + current_row = write_pydantic_to_sheet(ws, child_object, current_row, debug=verbose) + correct_column_widths(worksheet=ws) + shade_30_rows_and_protect_sheet(worksheet=ws, startrow=current_row) + shade_locked_cells(worksheet=ws) sheet_number += 1 + wb.save(doc_filepath)