[Bf-extensions-cvs] [42ff7d5e] master: io_coat3D: refacture folder system
Kalle-Samuli Riihikoski
noreply at git.blender.org
Mon Oct 12 16:15:54 CEST 2020
Commit: 42ff7d5e12fa136c3157a91fcb921e99d81e2e72
Author: Kalle-Samuli Riihikoski
Date: Mon Oct 12 17:15:21 2020 +0300
Branches: master
https://developer.blender.org/rBA42ff7d5e12fa136c3157a91fcb921e99d81e2e72
io_coat3D: refacture folder system
===================================================================
M io_coat3D/__init__.py
A io_coat3D/folders.py
M io_coat3D/tex.py
===================================================================
diff --git a/io_coat3D/__init__.py b/io_coat3D/__init__.py
index bbf2efb6..87b97ce6 100644
--- a/io_coat3D/__init__.py
+++ b/io_coat3D/__init__.py
@@ -37,6 +37,7 @@ from bpy.app.handlers import persistent
from io_coat3D import tex
from io_coat3D import texVR
+from io_coat3D import folders
import os
import platform
@@ -59,32 +60,27 @@ from bpy.props import (
PointerProperty,
)
-bpy.coat3D = dict()
-bpy.coat3D['active_coat'] = ''
-bpy.coat3D['status'] = 0
-
-initial_settings = True
-global_exchange_folder = ''
+foundExchangeFolder = False
+saved_exchange_folder = ''
liveUpdate = True
mTime = 0
-
@persistent
def every_3_seconds():
global global_exchange_folder
- global initial_settings
global liveUpdate
global mTime
-
- if(initial_settings):
- global_exchange_folder = set_exchange_folder()
- initial_settings = False
+ global foundExchangeFolder
+ coat3D = bpy.context.scene.coat3D
- Export_folder = global_exchange_folder
+ if(foundExchangeFolder == False):
+ foundExchangeFolder, global_exchange_folder = folders.InitFolders()
+
+ Export_folder = coat3D.exchangeFolder
Export_folder += ('%sexport.txt' % (os.sep))
- if (os.path.isfile(Export_folder) and mTime != os.path.getmtime(Export_folder)):
+ if (os.path.isfile(Export_folder) and mTime != os.path.getmtime(Export_folder)):
for objekti in bpy.data.objects:
if(objekti.coat3D.applink_mesh):
@@ -92,14 +88,15 @@ def every_3_seconds():
mTime = os.path.getmtime(Export_folder)
+ if (os.path.normpath(global_exchange_folder) != os.path.normpath(coat3D.exchangeFolder)):
+ folders.updateExchangeFile(coat3D.exchangeFolder)
+
return 3.0
@persistent
def load_handler(dummy):
bpy.app.timers.register(every_3_seconds)
-
-
def removeFile(exportfile):
if (os.path.isfile(exportfile)):
os.remove(exportfile)
@@ -122,128 +119,6 @@ def folder_size(path):
else:
tosi = False
-def set_exchange_folder():
- platform = os.sys.platform
- coat3D = bpy.context.scene.coat3D
-
- if(platform == 'win32' or platform == 'darwin'):
- exchange = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + 'Applinks' + os.sep + '3D-Coat' + os.sep +'Exchange'
- else:
- exchange = os.path.expanduser("~") + os.sep + '3D-CoatV4' + os.sep + 'Exchange'
- if not(os.path.isdir(exchange)):
- exchange = os.path.expanduser("~") + os.sep + '3D-CoatV3' + os.sep + 'Exchange'
- if(not(os.path.isdir(exchange))):
- exchange = coat3D.exchangedir
-
- if(os.path.isdir(exchange)):
- bpy.coat3D['status'] = 1
-
- if(platform == 'win32' or platform == 'darwin'):
-
- exchange_path = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'Exchange_folder.txt'
- applink_folder = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender'
- if(not(os.path.isdir(applink_folder))):
- os.makedirs(applink_folder)
-
- else:
-
- exchange_path = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'Exchange_folder.txt'
- applink_folder = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender'
- if(not(os.path.isdir(applink_folder))):
- os.makedirs(applink_folder)
-
- if(os.path.isfile(exchange_path) == False or os.path.getsize(exchange_path) == 0):
-
- file = open(exchange_path, "w")
- file.write("%s"%(exchange_path))
- file.close()
-
- else:
-
- exchangeline = open(exchange_path)
-
- for line in exchangeline:
- source = line
- break
- exchangeline.close()
-
- if(source != coat3D.exchangedir and coat3D.exchangedir != '' and coat3D.exchangedir.rfind('Exchange') >= 0):
-
- file = open(exchange_path, "w")
- file.write("%s"%(coat3D.exchangedir))
- file.close()
- exchange = coat3D.exchangedir
-
- else:
- exchange = source
-
- else:
- if(platform == 'win32' or platform == 'darwin'):
- exchange_path = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'Exchange_folder.txt'
- else:
- exchange_path = os.path.expanduser("~") + os.sep + '3DC2Blender' + os.sep + 'Exchange_folder.txt'
- if(os.path.isfile(exchange_path)):
- ex_path =''
-
- ex_pathh = open(exchange_path)
- for line in ex_pathh:
- ex_path = line
- break
- ex_pathh.close()
-
- if(os.path.isdir(ex_path) and ex_path.rfind('Exchange') >= 0):
- exchange = ex_path
- bpy.coat3D['status'] = 1
- else:
- bpy.coat3D['status'] = 0
- else:
- bpy.coat3D['status'] = 0
- if(bpy.coat3D['status'] == 1):
- Blender_folder = ("%s%sBlender"%(exchange,os.sep))
- Blender_export = Blender_folder
- path3b_now = exchange
- path3b_now += ('last_saved_3b_file.txt')
- Blender_export += ('%sexport.txt'%(os.sep))
-
- if(not(os.path.isdir(Blender_folder))):
- os.makedirs(Blender_folder)
- Blender_folder1 = os.path.join(Blender_folder,"run.txt")
- file = open(Blender_folder1, "w")
- file.close()
-
- Blender_folder2 = os.path.join(Blender_folder, "extension.txt")
- file = open(Blender_folder2, "w")
- file.write("fbx")
- file.close()
-
- Blender_folder3 = os.path.join(Blender_folder, "preset.txt")
- file = open(Blender_folder3, "w")
- file.write("Blender Cycles")
- file.close()
-
- return exchange
-
-def set_working_folders():
- platform = os.sys.platform
- coat3D = bpy.context.scene.coat3D
-
- if(platform == 'win32' or platform == 'darwin'):
- if (coat3D.defaultfolder != '' and os.path.isdir(coat3D.defaultfolder)):
- return coat3D.defaultfolder
- else:
- folder_objects = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'ApplinkObjects'
- if(not(os.path.isdir(folder_objects))):
- os.makedirs(folder_objects)
- else:
- if (coat3D.defaultfolder != '' and os.path.isdir(coat3D.defaultfolder)):
- return coat3D.defaultfolder
- else:
- folder_objects = os.path.expanduser("~") + os.sep + '3DC2Blender' + os.sep + 'ApplinkObjects'
- if(not(os.path.isdir(folder_objects))):
- os.makedirs(folder_objects)
-
- return folder_objects
-
def make_texture_list(texturefolder):
texturefolder += ('%stextures.txt'%(os.sep))
texturelist = []
@@ -348,12 +223,7 @@ class SCENE_OT_getback(bpy.types.Operator):
def invoke(self, context, event):
global global_exchange_folder
- global initial_settings
path_ex = ''
-
- if(initial_settings):
- global_exchange_folder = set_exchange_folder()
- initial_settings = False
Export_folder = global_exchange_folder
Blender_folder = os.path.join(Export_folder, 'Blender')
@@ -390,9 +260,9 @@ class SCENE_OT_folder(bpy.types.Operator):
def invoke(self, context, event):
coat3D = bpy.context.scene.coat3D
- if(os.path.isdir(coat3D.exchangedir)):
+ if(os.path.isdir(coat3D.exchangeFolder)):
coat3D.exchange_found = True
- bpy.coat3D['status'] = 1
+ #bpy.coat3D['status'] = 1
else:
coat3D.exchange_found = False
@@ -409,7 +279,7 @@ class SCENE_OT_opencoat(bpy.types.Operator):
coat3D = bpy.context.selected_objects[0].coat3D.applink_3b_path
platform = os.sys.platform
if (platform == 'win32' or platform == 'darwin'):
- importfile = bpy.context.scene.coat3D.exchangedir
+ importfile = bpy.context.scene.coat3D.exchangeFolder
importfile += ('%simport.txt' % (os.sep))
file = open(importfile, "w")
file.write("%s" % (coat3D))
@@ -417,7 +287,7 @@ class SCENE_OT_opencoat(bpy.types.Operator):
file.write("\n[3B]")
file.close()
else:
- importfile = bpy.context.scene.coat3D.exchangedir
+ importfile = bpy.context.scene.coat3D.exchangeFolder
importfile += ('%simport.txt' % (os.sep))
file = open(importfile, "w")
file.write("%s" % (coat3D))
@@ -621,7 +491,7 @@ class SCENE_OT_export(bpy.types.Operator):
export_ok = False
coat3D = bpy.context.scene.coat3D
-
+
if (bpy.context.selected_objects == []):
return {'FINISHED'}
else:
@@ -634,29 +504,27 @@ class SCENE_OT_export(bpy.types.Operator):
if (export_ok == False):
return {'FINISHED'}
-
activeobj = bpy.context.active_object.name
checkname = ''
coa = bpy.context.active_object.coat3D
- coat3D.exchangedir = set_exchange_folder()
- p = pathlib.Path(coat3D.exchangedir)
- kokeilu = coat3D.exchangedir[:-9]
+ p = pathlib.Path(coat3D.exchangeFolder)
+ kokeilu = coat3D.exchangeFolder[:-9]
Blender_folder2 = ("%s%sExchange" % (kokeilu, os.sep))
Blender_folder2 += ('%sexport.txt' % (os.sep))
if (os.path.isfile(Blender_folder2)):
os.remove(Blender_folder2)
-
- if (not os.path.isdir(coat3D.exchangedir)):
+
+ if (not os.path.isdir(coat3D.exchangeFolder)):
coat3D.exchange_found = False
return {'FINISHED'}
-
- folder_objects = set_working_folders()
+
+ folder_objects = folders.set_working_folders()
folder_size(folder_objects)
- importfile = coat3D.exchangedir
- texturefile = coat3D.exchangedir
+ importfile = coat3
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list