Skip to content

Commit

Permalink
add - Added QUOTED-PRINTABLE calendars
Browse files Browse the repository at this point in the history
---

The QUOTED-PRINTABLE support for cards has been added to the calendar
parsers.

---

Type: add
Breaking: False
Doc Required: False
Backport Required: False
Part: 1/1
  • Loading branch information
AptiviCEO committed Jan 16, 2025
1 parent 79d44ff commit 3dbd64a
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 3 deletions.
4 changes: 4 additions & 0 deletions private/VisualCard.ShowCalendars/TestFiles/vevent.vcs
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,9 @@ GEO:37.24;-17.87
REQUEST-STATUS:4.1;Event conflict. Date-time is busy.
REQUEST-STATUS:3.7;Invalid calendar user;ORGANIZER:
mailto:[email protected]
X-TESTFIELD;ENCODING=QUOTED-PRINTABLE:;;=48=61=64=6A=71=69=68=70=70=74=61=
=6E=20=3B=41;=48=48=48=48=48=48=20=20=42;;=31=31=31=31=31=31;=53=53=53=53=
=53=53;=48=48=48=48=48=48=48=48=48=48=48=48=20=48=48=0A=4D=4D=4D=4D=4D=4D=
=4D=4D=42=20=31=31=31=31=31=20=31=39=0A=53=53=53=53=53=53=53=53=53
END:VEVENT
END:VCALENDAR
8 changes: 8 additions & 0 deletions public/VisualCard.Calendar/CalendarTools.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,14 @@ public static Parts.Calendar[] GetCalendars(StreamReader stream)
var prop = new PropertyInfo(CalendarLine);
prefix = prop.Prefix;
value = prop.Value;
while (prop.CanContinueMultiline())
{
string nextLine = stream.ReadLine();
prop.rawValue.Append(nextLine);

// Add it to the current line for later processing
CalendarLine += nextLine;
}
}
catch
{
Expand Down
6 changes: 3 additions & 3 deletions public/VisualCard.Calendar/Parts/Calendar.cs
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ internal string SaveToString(Version version, Dictionary<CalendarPartsArrayEnum,
cardBuilder.Append($"{group}.");
partBuilder.Append($"{prefix}");
partBuilder.Append($"{partArguments}");
partBuilder.Append($"{VcardCommonTools.MakeStringBlock(part.Value, partArgumentsLines[partArgumentsLines.Length - 1].Length + prefix.Length)}");
partBuilder.Append($"{VcardCommonTools.MakeStringBlock(part.Value, partArgumentsLines[partArgumentsLines.Length - 1].Length + prefix.Length, encoding: part.Property?.Encoding() ?? "")}");
cardBuilder.AppendLine($"{partBuilder}");
}
}
Expand Down Expand Up @@ -362,7 +362,7 @@ internal string SaveToString(Version version, Dictionary<CalendarPartsArrayEnum,
cardBuilder.Append($"{group}.");
partBuilder.Append($"{prefix}");
partBuilder.Append($"{partArguments}");
partBuilder.Append($"{VcardCommonTools.MakeStringBlock($"{part.Value}", partArgumentsLines[partArgumentsLines.Length - 1].Length + prefix.Length)}");
partBuilder.Append($"{VcardCommonTools.MakeStringBlock($"{part.Value}", partArgumentsLines[partArgumentsLines.Length - 1].Length + prefix.Length, encoding: part.Property?.Encoding() ?? "")}");
cardBuilder.AppendLine($"{partBuilder}");
}
}
Expand Down Expand Up @@ -393,7 +393,7 @@ internal string SaveToString(Version version, Dictionary<CalendarPartsArrayEnum,
cardBuilder.Append($"{group}.");
partBuilder.Append($"{prefix}");
partBuilder.Append($"{partArguments}");
partBuilder.Append($"{VcardCommonTools.MakeStringBlock(partRepresentation, partArgumentsLines[partArgumentsLines.Length - 1].Length + prefix.Length)}");
partBuilder.Append($"{VcardCommonTools.MakeStringBlock(partRepresentation, partArgumentsLines[partArgumentsLines.Length - 1].Length + prefix.Length, encoding: part.Property?.Encoding() ?? "")}");
cardBuilder.AppendLine($"{partBuilder}");
}
}
Expand Down

0 comments on commit 3dbd64a

Please sign in to comment.