[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