I’ve since abandoned this approach.
> 
> 
> * Did you see my previous question? It looked like your logic would result in 
> directories xxx-APPL, xxx-APPL-APPL, xxx-APPL-APPL-APPL, etc. -- or was I 
> mistaken? If there is code elsewhere that is resetting shootPath to not have 
> the APPL suffix, could you be inadvertently recreating the old directory? 
> What if you put an NSLog after every line of code that does a mkdir, to make 
> sure directories only get created once? Are you sure it's the mp4 files you 
> copy *after* renaming the directory that get put in the new directory?
> 

I was checking for the directory existing, if it did, it didn’t make a new 
version.

> * What if you put a breakpoint on the call to moveItemAtPath:toPath:error: 
> and step over it? Do you see in the Finder that there is one directory before 
> the call and two directories afterward? If so, there's your smoking gun that 
> there's a bug in the method. If you see only one directory (with the new 
> name), that would suggest that moveItemAtPath:toPath:error: is doing its job 
> as expected and something else is recreating the old directory.
> 
as I said, code is gone.

> * What if you don't use NSFileManager to rename the directory, but 
> rename([shootPath UTF8String], [newShootPath UTF8String])?
> 
> * To use the simplest dataset possible: what if you hardcode it to copy two 
> specific mp4 files, where the second triggers the directory rename? Does this 
> reproduce the bug?
> 
> * What if you comment out the code that copies the mp4 files -- do you still 
> get two directories (which are now empty instead of containing copies of the 
> files)?
> 
> * Are you using copyItemAtPath:toPath:error: like I did, or something else to 
> copy the files?
> 

no. I wasn’t attempting to copy files, simply move them.

But while I appreciate the help... at this point I simply moved on looked at 
another solution that I wasn’t fond of, but did the job and worked around it.

thanks!

Scott


> --Andy
> 
> On Apr 17, 2011, at 10:41 PM, Scott Anguish wrote:
> 
>> not sure what to say, my code wasn’t doing that.
>> 
>> I ended up churning through all the files once, finding the .mp4s, getting 
>> the whereas information and then making the directory I needed first.
>> 
>> I just didn’t have more time to spend trying to figure it out.
>> 
>> Now I feel like I need to though... :-/
>> 
>> that it was ‘making’ a new directory with -APPL at the end was the oddest 
>> part. rather than moving it.
>> 
>> On Apr 17, 2011, at 1:59 AM, Andy Lee wrote:
>> 
>>> I tried to reproduce your problem by creating directories ~/wtf/FromHere 
>>> and ~/wtf/ToHere, with three files in FromHere named 1, 2, and 3. I switch 
>>> over to using "ToHere-NEW" when it detects a file whose name is >= "2".
>>> 
>>> My test code renamed the directory and switched over to it just fine:
>>> 
>>> - (void)test
>>> {
>>>  NSFileManager *fileManager = [NSFileManager defaultManager];
>>>  NSString *fromDir = [@"~/wtf/FromHere" stringByStandardizingPath];
>>>  NSString *originalToDir = [@"~/wtf/ToHere" stringByStandardizingPath];
>>>  NSString *toDir = originalToDir;
>>>  NSError *error = nil;
>>>  NSArray *filesToCopy = [[fileManager contentsOfDirectoryAtPath:fromDir 
>>> error:&error]                    
>>>                          
>>> sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
>>> 
>>>  for (NSString *fileName in filesToCopy)
>>>  {
>>>      // Rename the destination directory if necessary.
>>>      if ([fileName intValue] >= 2)
>>>      {    
>>>          NSLog(@"File name is %@; will rename directory if necessary.", 
>>> fileName);
>>> 
>>>          NSString *newToDir = [originalToDir 
>>> stringByAppendingString:@"-NEW"];
>>> 
>>>          if (![fileManager fileExistsAtPath:newToDir])
>>>          {
>>>              if ([fileManager moveItemAtPath:toDir toPath:newToDir 
>>> error:&error])
>>>              {            
>>>                  NSLog(@"...SUCCESS: Renamed %@ to %@.", toDir, newToDir);
>>>              }
>>>              else
>>>              {            
>>>                  NSLog(@"...ERROR: Failed to rename %@ to %@ -- %@.", 
>>> toDir, newToDir, error);
>>>                  abort();
>>>              }
>>> 
>>>              toDir = newToDir;
>>>          }    
>>>          else
>>>          {        
>>>              NSLog(@"...%@ already exists; no need to rename.", newToDir);
>>>          }
>>>      }
>>> 
>>>      // Move the file to the directory at shootPath.
>>>      NSString *oldFilePath = [fromDir 
>>> stringByAppendingPathComponent:fileName];
>>>      NSString *newFilePath = [toDir 
>>> stringByAppendingPathComponent:fileName];
>>> 
>>>      if ([fileManager copyItemAtPath:oldFilePath toPath:newFilePath 
>>> error:&error])
>>>      {
>>>          NSLog(@"Copied file %@ to %@.", oldFilePath, newFilePath);
>>>      }
>>>      else
>>>      {    
>>>          NSLog(@"...ERROR: Failed to copy %@ to %@ -- %@.", oldFilePath, 
>>> newFilePath, error);
>>>          abort();
>>>      }
>>>  }
>>> }
>>> 
>>> 2011-04-17 01:46:41.013 Scratcho[2630:a0f] Copied file 
>>> /Users/alee/wtf/FromHere/1 to /Users/alee/wtf/ToHere/1.
>>> 2011-04-17 01:46:41.014 Scratcho[2630:a0f] File name is 2; will rename 
>>> directory if necessary.
>>> 2011-04-17 01:46:41.069 Scratcho[2630:a0f] ...SUCCESS: Renamed 
>>> /Users/alee/wtf/ToHere to /Users/alee/wtf/ToHere-NEW.
>>> 2011-04-17 01:46:44.712 Scratcho[2630:a0f] Copied file 
>>> /Users/alee/wtf/FromHere/2 to /Users/alee/wtf/ToHere-NEW/2.
>>> 2011-04-17 01:46:44.712 Scratcho[2630:a0f] File name is 3; will rename 
>>> directory if necessary.
>>> 2011-04-17 01:46:44.713 Scratcho[2630:a0f] .../Users/alee/wtf/ToHere-NEW 
>>> already exists; no need to rename.
>>> 2011-04-17 01:46:46.934 Scratcho[2630:a0f] Copied file 
>>> /Users/alee/wtf/FromHere/3 to /Users/alee/wtf/ToHere-NEW/3.
>>> 
>>> --Andy
>>> 
>> 
> 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to