Skip to content

Commit b9f200e

Browse files
committed
Version 1.3.0 update!
1 parent 3141ad0 commit b9f200e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2919
-98
lines changed

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
src/engine/kernels/kernels.cpp
22
src/engine/versionutils.cpp
3-
src/addon/__init__.py
3+
src/addon/__init__.py
4+
src/addon/utils/installation_utils.py
5+
CMakeLists.txt
6+
build

README.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ See any of our [market place product pages](https://github.com/rlguy/Blender-FLI
3030
- CPU 64-bit Intel® or AMD® or Apple Silicon multi-core processor
3131
- 8 GB RAM minimum, 16 GB of RAM or more is highly recommended
3232

33-
***Blender Support on MacOS:** Due to a MacOS specific [Blender bug](https://developer.blender.org/T68243) in versions 2.80, 2.81, and 2.82, these Blender versions cannot be supported. Blender 2.79 or 2.83+ or 2.9+ or 3.0+ are required for MacOS.
33+
**Blender Support on MacOS:** Due to a MacOS specific [Blender bug](https://developer.blender.org/T68243) in versions 2.80, 2.81, and 2.82, these Blender versions cannot be supported. Blender 2.79 or 2.83+ or 2.9+ or 3.0+ are required for MacOS.
3434

3535
## Release Notes
3636

@@ -100,7 +100,9 @@ Once successfully built, the FLIP Fluids addon will be located in the ```build/b
100100
## Links
101101

102102
- [Blender Market Page](https://www.blendermarket.com/products/flipfluids)
103+
- [Gumroad Page](https://flipfluids.gumroad.com/l/flipfluids)
104+
- [FlippedNormals Page](https://flippednormals.com/downloads/the-flip-fluids-addon-for-blender/ref/FLIPFluids/)
103105
- [Documentation and Wiki](https://github.com/rlguy/Blender-FLIP-Fluids/wiki)
104106
- [Bug/Issue Tracker](https://github.com/rlguy/Blender-FLIP-Fluids/issues)
105107
- [FLIP Fluids Homepage](http://flipfluids.com)
106-
- [Twitter](https://twitter.com/flipfluids) | [Instagram](https://www.instagram.com/flip.fluids/) | [Facebook](https://www.facebook.com/FLIPFluids/) | [YouTube](https://www.youtube.com/flipfluids)
108+
- [Twitter](https://twitter.com/flipfluids) | [Instagram](https://www.instagram.com/flip.fluids/) | [Facebook](https://www.facebook.com/FLIPFluids/) | [FLIP Fluids YouTube](https://www.youtube.com/flipfluids) | [BlenderPhysics YouTube](https://www.youtube.com/blenderphysicsvideos)

__init__.py

+8
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,14 @@ def draw(self, context):
5959
"wm.url_open",
6060
text="Purchase the FLIP Fluids addon on the Blender Market",
6161
).url = "https://blendermarket.com/products/flipfluids"
62+
column.operator(
63+
"wm.url_open",
64+
text="Purchase the FLIP Fluids addon on Gumroad",
65+
).url = "https://flipfluids.gumroad.com/l/flipfluids"
66+
column.operator(
67+
"wm.url_open",
68+
text="Purchase the FLIP Fluids addon on FlippedNormals",
69+
).url = "https://flippednormals.com/downloads/the-flip-fluids-addon-for-blender/ref/FLIPFluids/"
6270

6371

6472
def register():

build.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import os, shutil, subprocess, platform, argparse
2424

2525

26-
def cmake_make(cmakelists_dir, cmake_path, make_path, build_debug=True, make_build=True, darwin_arch=""):
26+
def cmake_make(cmakelists_dir, cmake_path, make_path, build_debug=True, make_build=True, darwin_arch="", library_suffix=""):
2727
if build_debug:
2828
build_debug_flag = "-DBUILD_DEBUG=ON"
2929
else:
@@ -39,6 +39,9 @@ def cmake_make(cmakelists_dir, cmake_path, make_path, build_debug=True, make_bui
3939
elif system == "Linux":
4040
cmake_command = [cmake_path, cmakelists_dir, build_debug_flag]
4141

42+
if library_suffix:
43+
cmake_command.append("-DLIBRARY_SUFFIX=" + library_suffix)
44+
4245
subprocess.check_call(cmake_command)
4346

4447
if make_build:
@@ -76,6 +79,7 @@ def main():
7679
parser = argparse.ArgumentParser(description="FLIP Fluids Addon build and compile script")
7780
parser.add_argument("-build-directory", help="Path to destination build directory")
7881
parser.add_argument("-darwin-arch", help="Target architecture to set for CMAKE_OSX_ARCHITECTURES")
82+
parser.add_argument("-library-suffix", help="Specify suffix to add to the generated library name")
7983
parser.add_argument("-cmake-path", help="Specify path to CMake binary (www.cmake.org)")
8084
parser.add_argument("-make-path", help="Specify path to GNU Make binary (www.gnu.org/software/make)")
8185
parser.add_argument('--clean', action="store_true", help="Clear generated files in the build directory before building")
@@ -91,6 +95,10 @@ def main():
9195
if args.darwin_arch:
9296
darwin_arch = args.darwin_arch
9397

98+
library_suffix = ""
99+
if args.library_suffix:
100+
library_suffix = args.library_suffix
101+
94102
cmake_path = "cmake"
95103
if args.cmake_path:
96104
cmake_path = process_path(args.cmake_path)
@@ -127,8 +135,8 @@ def main():
127135
if args.clean:
128136
clean_build_directory(build_dir)
129137

130-
cmake_make(root_dir, cmake_path, make_path, build_debug=True, make_build=not args.no_compile, darwin_arch=darwin_arch)
131-
cmake_make(root_dir, cmake_path, make_path, build_debug=False, make_build=not args.no_compile, darwin_arch=darwin_arch)
138+
cmake_make(root_dir, cmake_path, make_path, build_debug=True, make_build=not args.no_compile, darwin_arch=darwin_arch, library_suffix=library_suffix)
139+
cmake_make(root_dir, cmake_path, make_path, build_debug=False, make_build=not args.no_compile, darwin_arch=darwin_arch, library_suffix=library_suffix)
132140

133141
lib_dir = os.path.join(build_dir, "bl_flip_fluids", "flip_fluids_addon", "pyfluid", "lib")
134142
if os.path.isdir(lib_dir):

cmake/CMakeLists.txt

+21-6
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ option(DISTRIBUTE_SOURCE "Include source code in addon" ON)
4040
option(WITH_OPENCL "Compile project with OpenCL features" OFF)
4141
option(WITH_ENGINE_TEST "Compile engine test executable" OFF)
4242
option(WITH_PYFLUID_MODULE "Compile pyfluid Python module" OFF)
43+
SET(LIBRARY_SUFFIX "" CACHE STRING "Optional suffix to add to the end of the library name")
4344

4445
if(APPLE)
4546
set(MACOSX_DEPLOYMENT_TARGET 10.10)
@@ -48,11 +49,21 @@ endif()
4849
project(bl_flip_fluids)
4950
set(CMAKE_BUILD_TYPE Release)
5051

52+
set(FLUIDENGINE_VERSION_TYPE_IS_STABLE_BUILD TRUE)
5153
set(FLUIDENGINE_VERSION_MAJOR 1)
52-
set(FLUIDENGINE_VERSION_MINOR 2)
54+
set(FLUIDENGINE_VERSION_MINOR 3)
5355
set(FLUIDENGINE_VERSION_REVISION 0)
54-
set(FLUIDENGINE_VERSION_LABEL "1.2.0 GitHub Release 26-NOV-2021")
56+
set(FLUIDENGINE_VERSION_DATE "12-MAR-2022")
5557

58+
if(FLUIDENGINE_VERSION_TYPE_IS_STABLE_BUILD)
59+
set(FLUIDENGINE_VERSION_TYPE_LABEL "GitHub Release")
60+
set(FLUIDENGINE_VERSION_TYPE_IS_STABLE_BUILD_PYTHON "True")
61+
else()
62+
set(FLUIDENGINE_VERSION_TYPE_LABEL "Experimental GitHub Release")
63+
set(FLUIDENGINE_VERSION_TYPE_IS_STABLE_BUILD_PYTHON "False")
64+
endif()
65+
66+
set(FLUIDENGINE_VERSION_LABEL "${FLUIDENGINE_VERSION_MAJOR}.${FLUIDENGINE_VERSION_MINOR}.${FLUIDENGINE_VERSION_REVISION} ${FLUIDENGINE_VERSION_TYPE_LABEL} ${FLUIDENGINE_VERSION_DATE}")
5667
if(BUILD_DEBUG)
5768
set(FLUIDENGINE_VERSION_LABEL "${FLUIDENGINE_VERSION_LABEL} (DEBUG BUILD)")
5869
endif()
@@ -120,6 +131,10 @@ configure_file(
120131
"${PROJECT_SOURCE_DIR}/src/addon/__init__.py.in"
121132
"${PROJECT_SOURCE_DIR}/src/addon/__init__.py"
122133
)
134+
configure_file(
135+
"${PROJECT_SOURCE_DIR}/src/addon/utils/installation_utils.py.in"
136+
"${PROJECT_SOURCE_DIR}/src/addon/utils/installation_utils.py"
137+
)
123138

124139
# Generate kernels.cpp
125140
file(READ "src/engine/kernels/trilinearinterpolate.cl" TRILINEAR_INTERPOLATE_KERNEL_STRING)
@@ -160,16 +175,16 @@ endif()
160175
set(BLENDER_ADDON_DIR "${CMAKE_BINARY_DIR}/bl_flip_fluids/flip_fluids_addon")
161176
set_output_directories("${BLENDER_ADDON_DIR}/pyfluid/lib")
162177
if(BUILD_DEBUG)
163-
add_library(blpyfluiddebug SHARED $<TARGET_OBJECTS:objects>)
178+
add_library("blpyfluiddebug${LIBRARY_SUFFIX}" SHARED $<TARGET_OBJECTS:objects>)
164179
else()
165-
add_library(blpyfluidrelease SHARED $<TARGET_OBJECTS:objects>)
180+
add_library("blpyfluidrelease${LIBRARY_SUFFIX}" SHARED $<TARGET_OBJECTS:objects>)
166181
endif()
167182

168183
if(WITH_OPENCL)
169184
if(BUILD_DEBUG)
170-
target_link_libraries(blpyfluiddebug "${OpenCL_LIBRARY}")
185+
target_link_libraries("blpyfluiddebug${LIBRARY_SUFFIX}" "${OpenCL_LIBRARY}")
171186
else()
172-
target_link_libraries(blpyfluidrelease "${OpenCL_LIBRARY}")
187+
target_link_libraries("blpyfluidrelease${LIBRARY_SUFFIX}" "${OpenCL_LIBRARY}")
173188
endif()
174189
endif()
175190

src/addon/__init__.py.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1616

1717
bl_info = {
18-
"name" : "FLIP Fluids",
18+
"name" : "FLIP Fluids GitHub Release @FLUIDENGINE_VERSION_MAJOR@.@FLUIDENGINE_VERSION_MINOR@.@FLUIDENGINE_VERSION_REVISION@",
1919
"description": "A FLIP Fluid Simulation Tool for Blender (v@FLUIDENGINE_VERSION_LABEL@)",
2020
"author" : "Ryan Guy, Dennis Fassbaender",
2121
"version" : (@FLUIDENGINE_VERSION_MAJOR@, @FLUIDENGINE_VERSION_MINOR@, @FLUIDENGINE_VERSION_REVISION@),

src/addon/bake.py

+109-1
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,15 @@ def __initialize_fluid_simulation_settings(fluidsim, data):
809809
fluidsim.enable_whitewater_motion_blur = \
810810
__get_parameter_data(whitewater.generate_whitewater_motion_blur_data, frameno)
811811

812+
fluidsim.enable_whitewater_velocity_attribute = \
813+
__get_parameter_data(whitewater.enable_velocity_vector_attribute, frameno)
814+
815+
fluidsim.enable_whitewater_id_attribute = \
816+
__get_parameter_data(whitewater.enable_id_attribute, frameno)
817+
818+
fluidsim.enable_whitewater_lifetime_attribute = \
819+
__get_parameter_data(whitewater.enable_lifetime_attribute, frameno)
820+
812821
is_generating_whitewater = __get_parameter_data(whitewater.enable_whitewater_emission, frameno)
813822
fluidsim.enable_diffuse_particle_emission = is_generating_whitewater
814823

@@ -1012,6 +1021,8 @@ def __initialize_fluid_simulation_settings(fluidsim, data):
10121021
__get_parameter_data(surface.enable_velocity_vector_attribute, frameno)
10131022
fluidsim.enable_surface_speed_attribute = \
10141023
__get_parameter_data(surface.enable_speed_attribute, frameno)
1024+
fluidsim.enable_surface_vorticity_attribute = \
1025+
__get_parameter_data(surface.enable_vorticity_vector_attribute, frameno)
10151026
fluidsim.enable_surface_age_attribute = \
10161027
__get_parameter_data(surface.enable_age_attribute, frameno)
10171028
fluidsim.enable_surface_color_attribute = \
@@ -1904,6 +1915,13 @@ def __write_surface_data(cache_directory, fluidsim, frameno):
19041915
with open(velocity_filepath, 'wb') as f:
19051916
f.write(filedata)
19061917

1918+
if fluidsim.enable_surface_vorticity_attribute:
1919+
vorticity_filename = "vorticity" + fstring + ".bobj"
1920+
vorticity_filepath = os.path.join(cache_directory, "bakefiles", vorticity_filename)
1921+
filedata = fluidsim.get_surface_vorticity_attribute_data()
1922+
with open(vorticity_filepath, 'wb') as f:
1923+
f.write(filedata)
1924+
19071925
if fluidsim.enable_surface_speed_attribute:
19081926
speed_filename = "speed" + fstring + ".data"
19091927
speed_filepath = os.path.join(cache_directory, "bakefiles", speed_filename)
@@ -1991,6 +2009,81 @@ def __write_whitewater_data(cache_directory, fluidsim, frameno):
19912009
with open(dust_blur_filepath, 'wb') as f:
19922010
f.write(filedata)
19932011

2012+
if fluidsim.enable_whitewater_velocity_attribute:
2013+
foam_velocity_filename = "velocityfoam" + fstring + ".wwp"
2014+
foam_velocity_filepath = os.path.join(cache_directory, "bakefiles", foam_velocity_filename)
2015+
filedata = fluidsim.get_whitewater_foam_velocity_attribute_data()
2016+
with open(foam_velocity_filepath, 'wb') as f:
2017+
f.write(filedata)
2018+
2019+
bubble_velocity_filename = "velocitybubble" + fstring + ".wwp"
2020+
bubble_velocity_filepath = os.path.join(cache_directory, "bakefiles", bubble_velocity_filename)
2021+
filedata = fluidsim.get_whitewater_bubble_velocity_attribute_data()
2022+
with open(bubble_velocity_filepath, 'wb') as f:
2023+
f.write(filedata)
2024+
2025+
spray_velocity_filename = "velocityspray" + fstring + ".wwp"
2026+
spray_velocity_filepath = os.path.join(cache_directory, "bakefiles", spray_velocity_filename)
2027+
filedata = fluidsim.get_whitewater_spray_velocity_attribute_data()
2028+
with open(spray_velocity_filepath, 'wb') as f:
2029+
f.write(filedata)
2030+
2031+
dust_velocity_filename = "velocitydust" + fstring + ".wwp"
2032+
dust_velocity_filepath = os.path.join(cache_directory, "bakefiles", dust_velocity_filename)
2033+
filedata = fluidsim.get_whitewater_dust_velocity_attribute_data()
2034+
with open(dust_velocity_filepath, 'wb') as f:
2035+
f.write(filedata)
2036+
2037+
if fluidsim.enable_whitewater_id_attribute:
2038+
foam_id_filename = "idfoam" + fstring + ".wwi"
2039+
foam_id_filepath = os.path.join(cache_directory, "bakefiles", foam_id_filename)
2040+
filedata = fluidsim.get_whitewater_foam_id_attribute_data()
2041+
with open(foam_id_filepath, 'wb') as f:
2042+
f.write(filedata)
2043+
2044+
bubble_id_filename = "idbubble" + fstring + ".wwi"
2045+
bubble_id_filepath = os.path.join(cache_directory, "bakefiles", bubble_id_filename)
2046+
filedata = fluidsim.get_whitewater_bubble_id_attribute_data()
2047+
with open(bubble_id_filepath, 'wb') as f:
2048+
f.write(filedata)
2049+
2050+
spray_id_filename = "idspray" + fstring + ".wwi"
2051+
spray_id_filepath = os.path.join(cache_directory, "bakefiles", spray_id_filename)
2052+
filedata = fluidsim.get_whitewater_spray_id_attribute_data()
2053+
with open(spray_id_filepath, 'wb') as f:
2054+
f.write(filedata)
2055+
2056+
dust_id_filename = "iddust" + fstring + ".wwi"
2057+
dust_id_filepath = os.path.join(cache_directory, "bakefiles", dust_id_filename)
2058+
filedata = fluidsim.get_whitewater_dust_id_attribute_data()
2059+
with open(dust_id_filepath, 'wb') as f:
2060+
f.write(filedata)
2061+
2062+
if fluidsim.enable_whitewater_lifetime_attribute:
2063+
foam_lifetime_filename = "lifetimefoam" + fstring + ".wwf"
2064+
foam_lifetime_filepath = os.path.join(cache_directory, "bakefiles", foam_lifetime_filename)
2065+
filedata = fluidsim.get_whitewater_foam_lifetime_attribute_data()
2066+
with open(foam_lifetime_filepath, 'wb') as f:
2067+
f.write(filedata)
2068+
2069+
bubble_lifetime_filename = "lifetimebubble" + fstring + ".wwf"
2070+
bubble_lifetime_filepath = os.path.join(cache_directory, "bakefiles", bubble_lifetime_filename)
2071+
filedata = fluidsim.get_whitewater_bubble_lifetime_attribute_data()
2072+
with open(bubble_lifetime_filepath, 'wb') as f:
2073+
f.write(filedata)
2074+
2075+
spray_lifetime_filename = "lifetimespray" + fstring + ".wwf"
2076+
spray_lifetime_filepath = os.path.join(cache_directory, "bakefiles", spray_lifetime_filename)
2077+
filedata = fluidsim.get_whitewater_spray_lifetime_attribute_data()
2078+
with open(spray_lifetime_filepath, 'wb') as f:
2079+
f.write(filedata)
2080+
2081+
dust_lifetime_filename = "lifetimedust" + fstring + ".wwf"
2082+
dust_lifetime_filepath = os.path.join(cache_directory, "bakefiles", dust_lifetime_filename)
2083+
filedata = fluidsim.get_whitewater_dust_lifetime_attribute_data()
2084+
with open(dust_lifetime_filepath, 'wb') as f:
2085+
f.write(filedata)
2086+
19942087

19952088
def __write_fluid_particle_data(cache_directory, fluidsim, frameno):
19962089
fstring = __frame_number_to_string(frameno)
@@ -2064,6 +2157,7 @@ def __get_frame_stats_dict(cstats):
20642157
stats["surfaceblur"] = __get_mesh_stats_dict(cstats.surfaceblur)
20652158
stats["surfacevelocity"] = __get_mesh_stats_dict(cstats.surfacevelocity)
20662159
stats["surfacespeed"] = __get_mesh_stats_dict(cstats.surfacespeed)
2160+
stats["surfacevorticity"] = __get_mesh_stats_dict(cstats.surfacevorticity)
20672161
stats["surfaceage"] = __get_mesh_stats_dict(cstats.surfaceage)
20682162
stats["surfacecolor"] = __get_mesh_stats_dict(cstats.surfacecolor)
20692163
stats["surfacesourceid"] = __get_mesh_stats_dict(cstats.surfacesourceid)
@@ -2075,6 +2169,18 @@ def __get_frame_stats_dict(cstats):
20752169
stats["bubbleblur"] = __get_mesh_stats_dict(cstats.bubbleblur)
20762170
stats["sprayblur"] = __get_mesh_stats_dict(cstats.sprayblur)
20772171
stats["dustblur"] = __get_mesh_stats_dict(cstats.dustblur)
2172+
stats["foamvelocity"] = __get_mesh_stats_dict(cstats.foamvelocity)
2173+
stats["bubblevelocity"] = __get_mesh_stats_dict(cstats.bubblevelocity)
2174+
stats["sprayvelocity"] = __get_mesh_stats_dict(cstats.sprayvelocity)
2175+
stats["dustvelocity"] = __get_mesh_stats_dict(cstats.dustvelocity)
2176+
stats["foamid"] = __get_mesh_stats_dict(cstats.foamid)
2177+
stats["bubbleid"] = __get_mesh_stats_dict(cstats.bubbleid)
2178+
stats["sprayid"] = __get_mesh_stats_dict(cstats.sprayid)
2179+
stats["dustid"] = __get_mesh_stats_dict(cstats.dustid)
2180+
stats["foamlifetime"] = __get_mesh_stats_dict(cstats.foamlifetime)
2181+
stats["bubblelifetime"] = __get_mesh_stats_dict(cstats.bubblelifetime)
2182+
stats["spraylifetime"] = __get_mesh_stats_dict(cstats.spraylifetime)
2183+
stats["dustlifetime"] = __get_mesh_stats_dict(cstats.dustlifetime)
20782184
stats["particles"] = __get_mesh_stats_dict(cstats.particles)
20792185
stats["obstacle"] = __get_mesh_stats_dict(cstats.obstacle)
20802186
stats["timing"] = __get_timing_stats_dict(cstats.timing)
@@ -2397,7 +2503,9 @@ def set_console_output(boolval):
23972503

23982504

23992505
def __get_addon_version():
2400-
module = sys.modules["flip_fluids_addon"]
2506+
module_dir = os.path.dirname(os.path.realpath(__file__))
2507+
module_name = os.path.basename(os.path.normpath(module_dir))
2508+
module = sys.modules[module_name]
24012509
addon_major, addon_minor, addon_revision = module.bl_info.get('version', (-1, -1, -1))
24022510
return str(addon_major) + "." + str(addon_minor) + "." + str(addon_revision)
24032511

src/addon/filesystem/filesystem_protection_layer.py

+34-4
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
".sqlite3",
3434
".state",
3535
".txt",
36+
".wwi",
37+
".wwf",
3638
".wwp"
3739
]
3840

@@ -117,11 +119,33 @@ def delete_files_in_directory(base_directory, extensions, remove_directory=False
117119
if pathlib.Path(f).suffix in extensions:
118120
valid_filepaths.append(os.path.join(base_directory, f))
119121

122+
remove_error_count = 0
123+
first_error = None
120124
for f in valid_filepaths:
121-
os.remove(f)
125+
try:
126+
os.remove(f)
127+
except OSError as e:
128+
remove_error_count += 1
129+
if first_error is None:
130+
first_error = str(e)
122131

123132
if remove_directory and not os.listdir(base_directory):
124-
os.rmdir(base_directory)
133+
try:
134+
os.rmdir(base_directory)
135+
except OSError as e:
136+
remove_error_count += 1
137+
if first_error is None:
138+
first_error = str(e)
139+
140+
if remove_error_count > 0:
141+
errmsg = "Error encountered attempting to remove " + str(remove_error_count) + " file(s). Reason: <" + first_error + ">. "
142+
errmsg += "Try closing all applications accessing the cache directory, restarting Blender/System, or deleting cache directory manually."
143+
bpy.ops.flip_fluid_operators.display_error(
144+
'INVOKE_DEFAULT',
145+
error_message="Error Removing Files",
146+
error_description=errmsg,
147+
popup_width=700
148+
)
125149

126150

127151
def delete_file(filepath, error_ok=False):
@@ -138,15 +162,21 @@ def delete_file(filepath, error_ok=False):
138162
if error_ok:
139163
pass
140164
else:
141-
raise e
165+
errmsg = "Error encountered attempting to remove file. Reason: <" + str(e) + ">."
166+
bpy.ops.flip_fluid_operators.display_error(
167+
'INVOKE_DEFAULT',
168+
error_message="Error Removing Files",
169+
error_description=errmsg,
170+
popup_width=700
171+
)
142172

143173

144174
def clear_cache_directory(cache_directory, clear_export=False, clear_logs=False, remove_directory=False):
145175
stats_filepath = os.path.join(cache_directory, "flipstats.data")
146176
delete_file(stats_filepath)
147177

148178
bakefiles_dir = os.path.join(cache_directory, "bakefiles")
149-
extensions = [".bbox", ".bobj", ".data", ".wwp", ".fpd", ".ffd"]
179+
extensions = [".bbox", ".bobj", ".data", ".wwp", ".wwf", ".wwi", ".fpd", ".ffd"]
150180
delete_files_in_directory(bakefiles_dir, extensions, remove_directory=True)
151181

152182
temp_dir = os.path.join(cache_directory, "temp")

0 commit comments

Comments
 (0)