Add project root env fallback
1.3.4 - added: `PROJECT_ROOT` key is used if `ZIP_ROOT` is not specified. Fallback to initial property if neither exists - added: checkbox to disable env variable checkmain
parent
dd82a38956
commit
85037c027a
|
@ -7,7 +7,9 @@ Modifications:
|
||||||
- Additional export **Zip pack - keep hierarchy**
|
- Additional export **Zip pack - keep hierarchy**
|
||||||
Standard Bat pack is doing an "assembly", modifying file internal links. This zip pack leave the file untouched. Behavior description:
|
Standard Bat pack is doing an "assembly", modifying file internal links. This zip pack leave the file untouched. Behavior description:
|
||||||
- The root folder for zipping use the environment variable `ZIP_ROOT` (accessed with `os.getenv('ZIP_ROOT')` if defined).
|
- The root folder for zipping use the environment variable `ZIP_ROOT` (accessed with `os.getenv('ZIP_ROOT')` if defined).
|
||||||
- If there is no such env variable, it fallback to path specified in addon preferences.
|
- if `ZIP_ROOT` is not defined, use `PROJECT_ROOT` variable.
|
||||||
|
- If there is no such env variables, it fallback to path specified in addon preferences.
|
||||||
|
- A checkbox allow to avoid the replacement of root properties with env variables.
|
||||||
- In the export browser window settings (sidebar), user can choose the packing root folder, prefilled by env or addon preference path
|
- In the export browser window settings (sidebar), user can choose the packing root folder, prefilled by env or addon preference path
|
||||||
- If nothing specified, root will be automatically defined with the most upper folder covering the whole dependancies hierarchy.
|
- If nothing specified, root will be automatically defined with the most upper folder covering the whole dependancies hierarchy.
|
||||||
|
|
||||||
|
@ -16,6 +18,11 @@ Standard Bat pack is doing an "assembly", modifying file internal links. This zi
|
||||||
|
|
||||||
### Changelog
|
### Changelog
|
||||||
|
|
||||||
|
1.3.4
|
||||||
|
|
||||||
|
- added: `PROJECT_ROOT` key is used if `ZIP_ROOT` is not specified. Fallback to initial property if neither exists
|
||||||
|
- added: checkbox to disable env variable check
|
||||||
|
|
||||||
1.3.3
|
1.3.3
|
||||||
|
|
||||||
- code: sys.module name corrected when addon folder isn't named `blender_asset_tracer` as expected
|
- code: sys.module name corrected when addon folder isn't named `blender_asset_tracer` as expected
|
||||||
|
|
20
__init__.py
20
__init__.py
|
@ -21,11 +21,12 @@
|
||||||
# <pep8 compliant>
|
# <pep8 compliant>
|
||||||
|
|
||||||
__version__ = '1.3'
|
__version__ = '1.3'
|
||||||
|
# branched from source BAT since 1.3.0
|
||||||
|
|
||||||
bl_info = {
|
bl_info = {
|
||||||
"name": "Blender Asset Tracer",
|
"name": "Blender Asset Tracer",
|
||||||
"author": "Campbell Barton, Sybren A. Stüvel, Loïc Charrière and Clément Ducarteron",
|
"author": "Campbell Barton, Sybren A. Stüvel, Loïc Charrière and Clément Ducarteron",
|
||||||
"version": (1, 3, 3),
|
"version": (1, 3, 4),
|
||||||
"blender": (2, 80, 0),
|
"blender": (2, 80, 0),
|
||||||
"location": "File > External Data > BAT",
|
"location": "File > External Data > BAT",
|
||||||
"description": "Utility for packing blend files",
|
"description": "Utility for packing blend files",
|
||||||
|
@ -264,10 +265,19 @@ def menu_func(self, context):
|
||||||
layout.separator()
|
layout.separator()
|
||||||
layout.operator(ExportBatPack.bl_idname)
|
layout.operator(ExportBatPack.bl_idname)
|
||||||
filepath = layout.operator(BAT_OT_export_zip.bl_idname)
|
filepath = layout.operator(BAT_OT_export_zip.bl_idname)
|
||||||
root_dir_env = os.getenv('ZIP_ROOT')
|
|
||||||
if not root_dir_env: # if no env use prefs instead
|
prefs = preferences.get_addon_prefs()
|
||||||
root_dir_env = preferences.get_addon_prefs().root_default
|
|
||||||
filepath.root_dir = '' if root_dir_env == None else root_dir_env #os.getenv('PROJECT_STORE')
|
root_dir_env = None
|
||||||
|
if prefs.use_env_root:
|
||||||
|
root_dir_env = os.getenv('ZIP_ROOT')
|
||||||
|
if not root_dir_env: # first fallback to PROJECT_ROOT
|
||||||
|
root_dir_env = os.getenv('PROJECT_ROOT')
|
||||||
|
|
||||||
|
if not root_dir_env: # if no env, use prefs instead
|
||||||
|
root_dir_env = prefs.root_default
|
||||||
|
|
||||||
|
filepath.root_dir = '' if root_dir_env == None else root_dir_env
|
||||||
|
|
||||||
|
|
||||||
classes = (
|
classes = (
|
||||||
|
|
|
@ -19,6 +19,12 @@ class myaddonPrefs(bpy.types.AddonPreferences):
|
||||||
subtype='DIR_PATH',
|
subtype='DIR_PATH',
|
||||||
default='')
|
default='')
|
||||||
|
|
||||||
|
use_env_root : BoolProperty(
|
||||||
|
name="Use Environement Root",
|
||||||
|
description="Use root path specified by environnement keys at startup\nUsing key 'ZIP_ROOT' or 'PROJECT_ROOT' if exists (priority to key ZIP_ROOT if both are set)\nElse always use prefs.",
|
||||||
|
default=True,
|
||||||
|
)
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
col = layout.column()
|
col = layout.column()
|
||||||
|
@ -28,6 +34,7 @@ class myaddonPrefs(bpy.types.AddonPreferences):
|
||||||
col = layout.column()
|
col = layout.column()
|
||||||
col.label(text='If specified, will be the default root folder path when using export to Zip')
|
col.label(text='If specified, will be the default root folder path when using export to Zip')
|
||||||
col.label(text='Typically the root folder of the current project')
|
col.label(text='Typically the root folder of the current project')
|
||||||
|
col.prop(self, 'use_env_root')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue