Skip to content
Snippets Groups Projects
Commit e92f2007 authored by Jonathan Ehret's avatar Jonathan Ehret
Browse files

sanitize logged data to not make problems in csv files

parent c700a424
Branches
Tags
No related merge requests found
......@@ -112,8 +112,9 @@ bool USFCondition::StoreDependentVariableData(const FString& VarName, const FStr
{
return false;
}
DependentVariable->Value = Value;
FString SanitizedValue = Value;
SanitizeValueForCSV(SanitizedValue);
DependentVariable->Value = SanitizedValue;
return true;
}
......@@ -149,10 +150,15 @@ bool USFCondition::StoreMultipleTrialDependentVariableData(const FString& VarNam
return false;
}
USFGameInstance::Get()->GetParticipant()->StoreTrialInPhaseLongTable(TrialDependentVar, Values);
TArray<FString> SanitizedValues = Values;
for(FString& Value : SanitizedValues)
{
SanitizeValueForCSV(Value);
}
USFGameInstance::Get()->GetParticipant()->StoreTrialInPhaseLongTable(TrialDependentVar, SanitizedValues);
std::vector<FString> ValuesVector;
for(const FString& Value : Values)
for(const FString& Value : SanitizedValues)
{
ValuesVector.push_back(Value);
}
......@@ -193,6 +199,17 @@ USFDependentVariable* USFCondition::GetDependentVarForDataStoring(const FString&
return nullptr;
}
bool USFCondition::SanitizeValueForCSV(FString& Value)
{
if(Value.Contains(","))
{
FSFLoggingUtils::Log("Cannot log data containing a ',' into a csv file, replacing ',' with [Komma]", true);
Value.ReplaceInline(TEXT(","), TEXT("[Komma]"));
return false;
}
return true;
}
float USFCondition::GetTimeTaken() const
{
return TimeTaken;
......
......@@ -78,6 +78,8 @@ protected:
USFDependentVariable* GetDependentVarForDataStoring(const FString& VarName, const FString& Data);
bool SanitizeValueForCSV(FString& Value);
private:
bool bStarted=false;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment