It's hard to tell from the above code. But I think newName = name + "_0001" + ".ma" is the source of your problem. The var "name " is a QString object and not a python str. The concatenation is returning another QString So I think you should cast it to a string 1st, str(name).
On Tue, Feb 17, 2015 at 11:48 AM, likage <[email protected]> wrote: > This is somewhat related to my batch process that I have posted but it is > slightly different. I am trying to reuse some of the incremental saves > script that I once used to have and have it implemented into use within the > treeWidget and pushButton > > Initially, I has something like this: > def importAndSave(self): > root = self.ui.treeWidget_migrateAnm.invisibleRootItem() > count = root.childCount() > > for i in range(count): > item = root.child(i) > ns = item.text(1) > > # For each item in list, it will be saved into each file > # Have to force create a new scene > cmds.file(f=True, new=True) > cmds.file(rename= str(ns)) > > # Import Rig commands > > # .... > > > cmds.file(f=True, type='mayaAscii', save=True ) > > However the file saved directory is not what I had wanted, as I wanted it > to be somewhere temporary and have it removed once the publishing fiasco is > over... > I also noticed that in the event if I had multiple of the same items, > since I am using the *ns *for the naming, I thought of adding in some > sort of incremental values and tried changing the code to: > > def importAndSave(self): > root = self.ui.treeWidget_migrateAnm.invisibleRootItem() > count = root.childCount() > > for i in range(count): > item = root.child(i) > ns = item.text(1) > > # Import Rig Commands > # .... > > self.tmpSave() > > def tmpSave(self): > path = '/user_data/.tmp/anm_tmpFiles' > newName = name + "_0001" + ".ma" > newSaveDir = os.path.abspath(os.path.join(path)) > newSavePath = os.path.join(newSaveDir, newName) > > > if os.path.exists(newSaveDir): > savedFiles = os.listdir(newSaveDir) > print savedFiles > savedFiles.sort() > incFiles = [] > for i in savedFiles: > if fileName in i: > incFiles.append(i) > lastFile = incFiles[len(incFiles)-1] > name = lastFile.partition(".")[0] > newFileName = name[:-4]+(str(int(name[-4:])+1).zfill(4))+".ma" > incSaveFilePath = os.path.join(newSaveDir, newFileName) > system.saveAs(incSaveFilePath) > > And this time round, I got the following traceback errors: > # Traceback (most recent call last): > # File "/user_data/dev_test/anm/versions/anmTool_v02a.py", line 211, in > test > # self.tmpSave() > # File "/user_data/dev_test/anm/versions/anmTool_v02a.py", line 232, in > tmpSave > # newSavePath = os.path.join(newSaveDir, newName) > # File "/apps/Linux64/aw/maya2014/lib/python2.7/posixpath.py", line 66, > in join > # if b.startswith('/'): > # AttributeError: 'QString' object has no attribute 'startswith' > > > Or perhaps is there a better way to approach this? > > -- > You received this message because you are subscribed to the Google Groups > "Python Programming for Autodesk Maya" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/python_inside_maya/0116e3c5-a06d-46cc-8413-a93b82026179%40googlegroups.com > <https://groups.google.com/d/msgid/python_inside_maya/0116e3c5-a06d-46cc-8413-a93b82026179%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- *David Moulder* Technical Animator / Artist [email protected] *Professional Profile <http://uk.linkedin.com/pub/david-moulder/1/b12/b5a>* Mobile: +44 (0)7814033242 See who we know in common <http://www.linkedin.com/e/wwk/5748982/?hs=false&tok=3tztwkse1silw1>Want a signature like this? <http://www.linkedin.com/e/sig/5748982/?hs=false&tok=3pwLU9-mBsilw1> -- You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CABD4PkS%2Bu5qWgFtOUPnJ-ZV-tSPz%2BAeoimLU4a1AZqecqSg8Yw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
