Compare commits

..

5 Commits

Author SHA1 Message Date
405b823c81 Bumped version to 1.17 2021-02-04 12:04:46 +01:00
9e952035d3 Upgrade BAT 1.2.1 → 1.3.1
Upgrade BAT to version 1.3.1, which brings compatibility with Geometry
Nodes and fixes some issues on Windows.
2021-02-04 12:04:26 +01:00
d77acfb9c8 Reduce logging noise
- No longer list Attract's RNA classes, these haven't changed in a long
  time and it's not interesting to see.
- Reduced log level when updating internal state. The result of the update
  is already logged at INFO level.
2020-11-12 12:31:17 +01:00
70de9741df Bumped version to 1.16 2020-03-03 10:39:11 +01:00
cc37e73bc6 Fix T74211: Windows compatibility with Shaman URL handling 2020-03-03 10:38:53 +01:00
7 changed files with 36 additions and 9 deletions

View File

@@ -1,5 +1,16 @@
# Blender Cloud changelog
## Version 1.17 (2021-02-04)
- Upgrade BAT to version 1.3.1, which brings compatibility with Geometry Nodes and
fixes some issues on Windows.
## Version 1.16 (2020-03-03)
- Fixed Windows compatibility issue with the handling of Shaman URLs.
## Version 1.15 (2019-12-12)
- Avoid creating BAT pack when the to-be-rendered file is already inside the job storage

View File

@@ -21,7 +21,7 @@
bl_info = {
'name': 'Blender Cloud',
"author": "Sybren A. Stüvel, Francesco Siddi, Inês Almeida, Antony Riakiotakis",
'version': (1, 15),
'version': (1, 17),
'blender': (2, 80, 0),
'location': 'Addon Preferences panel, and Ctrl+Shift+Alt+A anywhere for texture browser',
'description': 'Texture library browser and Blender Sync. Requires the Blender ID addon '

View File

@@ -1007,7 +1007,6 @@ def deactivate():
_rna_classes = [cls for cls in locals().values()
if isinstance(cls, type) and cls.__name__.startswith('ATTRACT')]
log.info('RNA classes:\n%s', '\n'.join([repr(cls) for cls in _rna_classes]))
def register():

View File

@@ -240,7 +240,17 @@ def guess_output_file_extension(output_format: str, scene) -> str:
return '.' + container.lower()
def is_file_inside_job_storage(prefs, current_file: Path) -> bool:
def is_shaman_url(path_or_url: str) -> bool:
"""Check whether the given string is a Shaman URL.
:param path_or_url: A string that may represent a filesystem path or a URL.
May not be a pathlib.Path, as that would break URL notation on Windows.
"""
assert isinstance(path_or_url, str)
return any(path_or_url.startswith(scheme) for scheme in SHAMAN_URL_SCHEMES)
def is_file_inside_job_storage(prefs, current_file: typing.Union[str, Path]) -> bool:
"""Check whether current blend file is inside the storage path.
:return: True when 'current_file' is inside the Flamenco
@@ -248,6 +258,13 @@ def is_file_inside_job_storage(prefs, current_file: Path) -> bool:
BAT-packed, as it's assumed the job storage dir is
accessible by the workers already.
"""
if isinstance(current_file, str):
# Shaman URLs are always remote, so the current file cannot be in there.
if is_shaman_url(current_file):
return False
current_file = Path(current_file)
flamenco_job_file_path = Path(prefs.flamenco_job_file_path).absolute().resolve()
current_file = current_file.absolute().resolve()
try:
@@ -585,7 +602,7 @@ class FLAMENCO_OT_render(async_loop.AsyncModalOperatorMixin,
self.log.debug('projdir: %s', projdir)
if any(prefs.flamenco_job_file_path.startswith(scheme) for scheme in SHAMAN_URL_SCHEMES):
if is_shaman_url(prefs.flamenco_job_file_path):
endpoint, _ = bat_interface.parse_shaman_endpoint(prefs.flamenco_job_file_path)
self.log.info('Sending BAT pack to Shaman at %s', endpoint)
try:
@@ -1066,7 +1083,7 @@ class FLAMENCO_PT_render(bpy.types.Panel, FlamencoPollMixin):
props.path = prefs.flamenco_job_file_path
if is_file_inside_job_storage(prefs, Path(context.blend_data.filepath)):
if is_file_inside_job_storage(prefs, context.blend_data.filepath):
# File is contained in the job storage path, no need to copy anything.
paths_layout.label(text='Current file already in job storage path; '
'not going to create BAT pack.')

View File

@@ -70,8 +70,8 @@ def handle_project_update(_=None, _2=None):
with mark_as_loading():
prefs = preferences()
project_id = prefs.project.project
log.info('Updating internal state to reflect extensions enabled on current project %s.',
project_id)
log.debug('Updating internal state to reflect extensions enabled on current project %s.',
project_id)
project_extensions.cache_clear()

View File

@@ -3,7 +3,7 @@
lockfile==0.12.2
pillarsdk==1.8.0
wheel==0.29.0
blender-asset-tracer==1.2.1
blender-asset-tracer==1.3.1
# Secondary requirements:
asn1crypto==0.24.0

View File

@@ -236,7 +236,7 @@ setup(
'wheels': BuildWheels},
name='blender_cloud',
description='The Blender Cloud addon allows browsing the Blender Cloud from Blender.',
version='1.15',
version='1.17',
author='Sybren A. Stüvel',
author_email='sybren@stuvel.eu',
packages=find_packages('.'),