Spaces:
Sleeping
Sleeping
working changes
Browse files
app.py
CHANGED
|
@@ -101,7 +101,9 @@ def updateZipForMultipleFiles(file_names_and_data, zipname='temp.zip'):
|
|
| 101 |
# now add filename with its new data
|
| 102 |
for individual_update in file_names_and_data:
|
| 103 |
with zipfile.ZipFile(zipname, mode='a', compression=zipfile.ZIP_DEFLATED) as zf:
|
| 104 |
-
zf.writestr(individual_update['individual_file'], individual_update['xml_string_update'])
|
|
|
|
|
|
|
| 105 |
|
| 106 |
|
| 107 |
def updateZValue(xml_data, xml_element_to_iterate, z_error_correction_in_metres):
|
|
@@ -120,15 +122,10 @@ st.markdown(
|
|
| 120 |
'''
|
| 121 |
# Adjust the height of all issues in a BCF file
|
| 122 |
|
| 123 |
-
Provide any
|
| 124 |
-
A typical Revit ID is `60f91daf-3dd7-4283-a86d-24137b73f3da-0001fd0b`.
|
| 125 |
-
This app will convert the ID to `3CPy6r22DAahSW8AIIobik`.
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
Select the sheet witin the spreadsheet and the column with the IDs.
|
| 129 |
|
|
|
|
| 130 |
|
| 131 |
-
Only the selected sheet will be returned, you can cut and paste the sheet back into the origial spreadsheet.
|
| 132 |
'''
|
| 133 |
)
|
| 134 |
|
|
@@ -152,11 +149,11 @@ if bcf_file_button:
|
|
| 152 |
|
| 153 |
if '.bcf' in bcf_file_path:
|
| 154 |
|
|
|
|
| 155 |
partial_filename = bcf_file_path.rsplit('/')[-1]
|
| 156 |
filename = partial_filename.split('.bcf')[0]
|
| 157 |
bcf_file_path = bcf_file_path.replace('.bcf', '.zip')
|
| 158 |
|
| 159 |
-
|
| 160 |
r = requests.get(bcf_file_path, stream=True)
|
| 161 |
if r.status_code == 200:
|
| 162 |
with open(path_original, 'wb') as f:
|
|
@@ -168,8 +165,8 @@ if bcf_file_button:
|
|
| 168 |
|
| 169 |
height_change_button = st.number_input(
|
| 170 |
"Height of the sheet to be returned",
|
| 171 |
-
# value=float,
|
| 172 |
format="%.3f",
|
|
|
|
| 173 |
min_value=-1000.0,
|
| 174 |
max_value=1000.0,
|
| 175 |
step=0.001,
|
|
@@ -185,17 +182,19 @@ if bcf_file_button:
|
|
| 185 |
height_change,
|
| 186 |
)
|
| 187 |
|
| 188 |
-
updateZipForMultipleFiles(
|
| 189 |
update_bcf_info,
|
| 190 |
)
|
| 191 |
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
-
|
|
|
|
|
|
|
| 199 |
|
| 200 |
else:
|
| 201 |
|
|
|
|
| 101 |
# now add filename with its new data
|
| 102 |
for individual_update in file_names_and_data:
|
| 103 |
with zipfile.ZipFile(zipname, mode='a', compression=zipfile.ZIP_DEFLATED) as zf:
|
| 104 |
+
zf.writestr(individual_update['individual_file'], individual_update['xml_string_update'])
|
| 105 |
+
|
| 106 |
+
return True
|
| 107 |
|
| 108 |
|
| 109 |
def updateZValue(xml_data, xml_element_to_iterate, z_error_correction_in_metres):
|
|
|
|
| 122 |
'''
|
| 123 |
# Adjust the height of all issues in a BCF file
|
| 124 |
|
| 125 |
+
Provide any bcf file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
|
| 127 |
+
Select the height adjustment in metres.
|
| 128 |
|
|
|
|
| 129 |
'''
|
| 130 |
)
|
| 131 |
|
|
|
|
| 149 |
|
| 150 |
if '.bcf' in bcf_file_path:
|
| 151 |
|
| 152 |
+
updated = False
|
| 153 |
partial_filename = bcf_file_path.rsplit('/')[-1]
|
| 154 |
filename = partial_filename.split('.bcf')[0]
|
| 155 |
bcf_file_path = bcf_file_path.replace('.bcf', '.zip')
|
| 156 |
|
|
|
|
| 157 |
r = requests.get(bcf_file_path, stream=True)
|
| 158 |
if r.status_code == 200:
|
| 159 |
with open(path_original, 'wb') as f:
|
|
|
|
| 165 |
|
| 166 |
height_change_button = st.number_input(
|
| 167 |
"Height of the sheet to be returned",
|
|
|
|
| 168 |
format="%.3f",
|
| 169 |
+
value=0.000,
|
| 170 |
min_value=-1000.0,
|
| 171 |
max_value=1000.0,
|
| 172 |
step=0.001,
|
|
|
|
| 182 |
height_change,
|
| 183 |
)
|
| 184 |
|
| 185 |
+
updated = updateZipForMultipleFiles(
|
| 186 |
update_bcf_info,
|
| 187 |
)
|
| 188 |
|
| 189 |
+
if updated:
|
| 190 |
+
|
| 191 |
+
with open(path_updated, "rb") as fp:
|
| 192 |
+
btn = st.download_button(
|
| 193 |
+
label="Download BCF file",
|
| 194 |
+
data=fp,
|
| 195 |
+
file_name=f"{filename}_height_{height_change}.bcf",
|
| 196 |
+
mime="application/zip"
|
| 197 |
+
)
|
| 198 |
|
| 199 |
else:
|
| 200 |
|