AppSalesへの過去の売り上げ情報の取り込み

AppSales-Mobileに先日のRubyスクリプトでPCでバックアップしたファイルを取り込むためのコードを書いてみました。


1. AppSales-MobileのClasses/Controller/ReportManager.mの40行目あたりに次のコードを入れる。

 	NSString *path = [[NSBundle mainBundle] resourcePath];
	NSArray *filenames_ = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL];
	
	for (NSString *filename in filenames_) {
		if (![[filename pathExtension] isEqual:@"txt"]){
			continue;
		}
		NSString *fullPath = [path stringByAppendingPathComponent:filename];	
		NSString *text = [NSString stringWithContentsOfFile:fullPath encoding:NSUTF8StringEncoding error:NULL];
		Day* day = [[Day alloc] initWithCSV:text];
		if([filename length] == 14){	//MM_DD_YYYY.txt
			day.name = [NSString stringWithFormat:@"%@/%@/%@", [filename substringWithRange:NSMakeRange(0, 2)], [filename substringWithRange:NSMakeRange(3, 2)], [filename substringWithRange:NSMakeRange(6, 4)] ];
		}else{	//MM_DD_YYYY to MM_DD_YYYY.txt
			day.name = [NSString stringWithFormat:@"%@/%@/%@", [filename substringWithRange:NSMakeRange(14, 2)], [filename substringWithRange:NSMakeRange(17, 2)], [filename substringWithRange:NSMakeRange(20, 4)] ];
			day.isWeek = YES;
		}
		NSString *f = [[self docPath] stringByAppendingPathComponent:[day proposedFilename]];
		[NSKeyedArchiver archiveRootObject:day toFile:f];
	}

2. Resourcesにバックアップしたtxtをコピー。
3. 変更済みのAppSales-Mobileでいったん立ち上げる -> AppSales-MobileのDay形式のファイルがDocumentsディレクトリに作成されます
4. 変更されたAppSales-Mobileに、通常版のAppSales-Mobileを上書きして利用する

という手順で、いい感じにAppSales-Mobileを使えるかなぁ。