|
|
|
@ -19,6 +19,8 @@
|
|
|
|
|
|
|
|
|
|
package org.isoron.uhabits.io;
|
|
|
|
|
|
|
|
|
|
import android.support.annotation.NonNull;
|
|
|
|
|
|
|
|
|
|
import org.isoron.uhabits.helpers.DateHelper;
|
|
|
|
|
import org.isoron.uhabits.models.CheckmarkList;
|
|
|
|
|
import org.isoron.uhabits.models.Habit;
|
|
|
|
@ -64,7 +66,10 @@ public class HabitsCSVExporter
|
|
|
|
|
|
|
|
|
|
for(Habit h : habits)
|
|
|
|
|
{
|
|
|
|
|
String habitDirName = String.format("%03d %s/", h.position + 1, h.name);
|
|
|
|
|
String sane = sanitizeFilename(h.name);
|
|
|
|
|
String habitDirName = String.format("%03d %s", h.position + 1, sane);
|
|
|
|
|
habitDirName = habitDirName.trim() + "/";
|
|
|
|
|
|
|
|
|
|
new File(exportDirName + habitDirName).mkdirs();
|
|
|
|
|
generateDirs.add(habitDirName);
|
|
|
|
|
|
|
|
|
@ -73,6 +78,13 @@ public class HabitsCSVExporter
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@NonNull
|
|
|
|
|
private String sanitizeFilename(String name)
|
|
|
|
|
{
|
|
|
|
|
String s = name.replaceAll("[^a-zA-Z0-9\\._-]+", "");
|
|
|
|
|
return s.substring(0, Math.min(s.length(), 100));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void writeScores(String habitDirName, ScoreList scores) throws IOException
|
|
|
|
|
{
|
|
|
|
|
String path = habitDirName + "Scores.csv";
|
|
|
|
|