Skip to content

Commit fa4a0e2

Browse files
Minor updates and version check logic
1 parent fc4a129 commit fa4a0e2

File tree

3 files changed

+44
-33
lines changed

3 files changed

+44
-33
lines changed

MeddleTools/bake/panel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def execute(self, context):
9292

9393
class MeddleBakePanel(bpy.types.Panel):
9494
bl_idname = "OBJECT_PT_MeddleBakePanel"
95-
bl_label = "Baking"
95+
bl_label = "Bake Utils"
9696
bl_space_type = 'VIEW_3D'
9797
bl_region_type = 'UI'
9898
bl_category = "Meddle Tools"

MeddleTools/panel.py

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ class MeddleImportPanel(bpy.types.Panel):
2020
bl_category = "Meddle Tools"
2121

2222
blender_import: bpy.props.BoolProperty(name="Blender Import", default=True)
23-
2423

2524
def draw(self, context):
2625
if context is None:
@@ -181,28 +180,14 @@ def draw(self, context):
181180

182181
class MeddleCreditPanel(bpy.types.Panel):
183182
bl_idname = "OBJECT_PT_MeddleVersionPanel"
184-
bl_label = "Credits & Version"
183+
bl_label = "Credits"
185184
bl_space_type = 'VIEW_3D'
186185
bl_region_type = 'UI'
187186
bl_category = "Meddle Tools"
188187

189188
def draw(self, context):
190189
layout = self.layout
191190

192-
# section = layout.box()
193-
# col = section.column()
194-
# row = col.row()
195-
# row.label(text=f"Version: {version.current_version}")
196-
# row = col.row()
197-
# row.label(text=f"Latest Release ({version.latest_version})")
198-
# row = col.row()
199-
# if version.latest_version_name is not None:
200-
# row.label(text=f"{version.latest_version_name}")
201-
# else:
202-
# row.label(text="Unknown")
203-
204-
# layout.separator()
205-
206191
# credits
207192
box = layout.box()
208193
col = box.column()
@@ -215,6 +200,8 @@ def draw(self, context):
215200
row.label(text="Special thanks to:")
216201
row = col.row()
217202
row.label(text=" - SkulblakaDrotningu for Lizzer Tools Meddle")
203+
row = col.row()
204+
row.label(text=" - Kajupe for FFGear")
218205

219206
class MeddleHeaderPanel(bpy.types.Panel):
220207
bl_idname = "OBJECT_PT_MeddleHeaderPanel"
@@ -237,20 +224,16 @@ def draw(self, context):
237224
row.operator("wm.url_open", text="Github", icon="HELP").url = repo_url
238225
row.operator("wm.url_open", text="Issues", icon="BOOKMARKS").url = repo_issues_url
239226

240-
# if version.latest_version != "Unknown" and version.current_version != "Unknown":
241-
# if version.latest_version != version.current_version:
242-
# box = layout.box()
243-
# col = box.column()
244-
# row = col.row()
245-
# row.label(text=f"Current version: {version.current_version}")
246-
# row = col.row()
247-
# row.label(text=f"New version available: {version.latest_version}")
248-
# row = col.row()
249-
# row.operator("wm.url_open", text="Download").url = version.GITHUB_RELEASE_PAGE_URL
250-
# row = col.row()
251-
# row.operator(version.MeddleToolsInstallUpdate.bl_idname, text="Install Automatically", icon='FILE_TICK')
252-
# row = col.row()
253-
# row.label(text=f"{version.latest_version_name}")
227+
if version.attempted_version_check is True and version.latest_version != "Unknown" and version.current_version != "Unknown":
228+
if version.latest_version != version.current_version:
229+
box = layout.box()
230+
col = box.column()
231+
row = col.row()
232+
row.label(text=f"Current version: {version.current_version}")
233+
row = col.row()
234+
row.label(text=f"New version available: {version.latest_version}")
235+
row = col.row()
236+
row.label(text="Please update via Blender Preferences")
254237

255238

256239
classes = [

MeddleTools/version.py

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,31 @@
1818
EXTENSIONS_PATH = bpy.utils.user_resource('EXTENSIONS', path=extension_directory)
1919

2020
current_version = "Unknown" # Holds the current version string
21+
latest_version = "Unknown" # Holds the latest version string from the repo
22+
attempted_version_check = False # Flag to prevent concurrent update checks
2123

24+
def updateLatestRelease():
25+
try:
26+
global current_version
27+
global attempted_version_check
28+
global latest_version
29+
if attempted_version_check:
30+
return
31+
32+
attempted_version_check = True
33+
response = requests.get("https://raw.githubusercontent.com/PassiveModding/MeddleTools/main/repo.json", timeout=5)
34+
response.raise_for_status()
35+
repo_data = response.json()
36+
latest_version = repo_data.get("version", "Unknown")
37+
if latest_version != "Unknown":
38+
logger.info(f"Latest version available: {latest_version}")
39+
if latest_version != current_version:
40+
logger.info(f"A new version of Meddle Tools is available! Current: {current_version}, Latest: {latest_version}")
41+
else:
42+
logger.warning("Could not determine the latest version from the repository.")
43+
44+
except requests.RequestException as e:
45+
logger.error(f"Failed to check for updates: {e}")
2246

2347
def updateCurrentRelease():
2448
global current_version
@@ -38,8 +62,12 @@ def updateCurrentRelease():
3862

3963
def runInit():
4064
try:
41-
updateCurrentRelease()
65+
updateCurrentRelease()
4266
if current_version is not None:
4367
logger.info(f"Current version: {current_version}")
4468
except Exception as e:
45-
logger.error(f"Failed to update current release: {e}")
69+
logger.error(f"Failed to update current release: {e}")
70+
try:
71+
updateLatestRelease()
72+
except Exception as e:
73+
logger.error(f"Failed to update latest release: {e}")

0 commit comments

Comments
 (0)