From f1ebea894822568394063bb04191327b31e55038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Tue, 18 Oct 2016 12:26:46 +0200 Subject: [PATCH] Added "Open shot in browser" button --- blender_cloud/attract/__init__.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/blender_cloud/attract/__init__.py b/blender_cloud/attract/__init__.py index 9756ec7..59d4530 100644 --- a/blender_cloud/attract/__init__.py +++ b/blender_cloud/attract/__init__.py @@ -101,6 +101,8 @@ class ToolsPanel(Panel): row.operator('attract.shot_submit_update') row.operator(AttractShotFetchUpdate.bl_idname, text='', icon='FILE_REFRESH') + row.operator(ATTRACT_OT_shot_open_in_browser.bl_idname, + text='', icon='WORLD') # Group more dangerous operations. dangerous_sub = layout.column(align=True) @@ -320,6 +322,26 @@ class AttractShotSubmitUpdate(AttractOperatorMixin, Operator): return {'FINISHED'} +class ATTRACT_OT_shot_open_in_browser(AttractOperatorMixin, Operator): + bl_idname = 'attract.shot_open_in_browser' + bl_label = 'Open in browser' + bl_description = 'Opens a webbrowser to show the shot on Attract' + + def execute(self, context): + from ..blender import PILLAR_WEB_SERVER_URL + import webbrowser + import urllib.parse + + strip = active_strip(context) + + url = urllib.parse.urljoin(PILLAR_WEB_SERVER_URL, + 'nodes/%s/redir' % strip.atc_object_id) + webbrowser.open_new_tab(url) + self.report({'INFO'}, 'Opened a browser at %s' % url) + + return {'FINISHED'} + + class AttractShotDelete(AttractOperatorMixin, Operator): bl_idname = 'attract.shot_delete' bl_label = 'Delete' @@ -519,6 +541,7 @@ def register(): bpy.utils.register_class(AttractShotFetchUpdate) bpy.utils.register_class(AttractShotSubmitSelected) bpy.utils.register_class(ATTRACT_OT_open_meta_blendfile) + bpy.utils.register_class(ATTRACT_OT_shot_open_in_browser) draw.callback_enable()