#!/usr/bin/python # ##### BEGIN GPL LICENSE BLOCK ##### # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110 - 1301, USA. # # ##### END GPL LICENSE BLOCK #####
import blenderaidapi import os import shutil import sys
srvr = blenderaidapi.Server(("localhost", 8080)) tube = srvr.getProductions()[0] target = sys.argv[1]
projectlocation = tube.location packagelocation = tube.location.replace('projects/hamp/tube', os.path.join('packages/tube', target)) targetasset = [fl for fl in tube.getFiles() if target in fl.location and \ 'scenes/act' in fl.location][0] filemap = {os.path.join(projectlocation, targetasset.location):\ os.path.join(packagelocation, targetasset.location)} for ref in targetasset.getReferences(): if '.blend' in ref.file_location and '../' not in ref.file_location: filemap[os.path.join(projectlocation, ref.file_location)] =\ os.path.join(packagelocation, ref.file_location) for source in filemap.keys(): try: os.makedirs(os.path.split(filemap[source])[0]) except OSError: print('dir exists') shutil.copy(source, filemap[source])
#!/usr/bin/python # ##### BEGIN GPL LICENSE BLOCK ##### # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110 - 1301, USA. # # ##### END GPL LICENSE BLOCK ##### import blenderaidapi import os import shutil import sys srvr = blenderaidapi.Server(("localhost", 8080)) tube = srvr.getProductions()[0] target = sys.argv[1] projectlocation = tube.location packagelocation = tube.location.replace('projects/hamp/tube', os.path.join('packages/tube', target)) targetasset = [fl for fl in tube.getFiles() if target in fl.location and \ 'scenes/act' in fl.location][0] filemap = {os.path.join(projectlocation, targetasset.location):\ os.path.join(packagelocation, targetasset.location)} for ref in targetasset.getReferences(): if '.blend' in ref.file_location and '../' not in ref.file_location: filemap[os.path.join(projectlocation, ref.file_location)] =\ os.path.join(packagelocation, ref.file_location) for source in filemap.keys(): try: os.makedirs(os.path.split(filemap[source])[0]) except OSError: print('dir exists') shutil.copy(source, filemap[source])
|