Commit Graph

22 Enmetoj

Author SHA1 Message Date
Jaidyn Ann a67c2251f0 Add NORMALIZE-VCARD; ensure a vCard alist’s legal 2024-02-23 21:30:16 -06:00
Jaidyn Ann 69e5567986 Fix typo in write-folded-line invocation 2024-02-22 12:22:07 -06:00
Jaidyn Ann c8890a1d22 Fold serialized vCards’ lines to ~70 characters
The spec recommends splitting at 75 octets, but
that’s hard. We assume that 70 characters is
more-or-less 75 octets (even though with
UTF-8 chars this might be passed).
2024-02-20 15:24:28 -06:00
Jaidyn Ann 612dde9533 Function documentation and re-organization
Purely for legibility; no functional changes.
2024-02-20 00:54:45 -06:00
Jaidyn Ann 099e74cc38 Fix mistakenly adding “./” when uri->string’ing
This is due to weird/mistakenly input URLs…
like Matrix ones, which uri-common doesn’t like.
¯\_(ツ)_/¯
2024-02-18 21:46:55 -06:00
Jaidyn Ann 58f6fd70b8 Add WRITE-VCARD function to complement READ-VCARD 2024-02-18 19:22:55 -06:00
Jaidyn Ann dabda67b33 Start adding serializing vCard alists into strings 2024-02-15 01:08:56 -06:00
Jaidyn Ann 076fe6f24b Better checks for EOF 2024-02-13 17:59:20 -06:00
Jaidyn Ann 1bf429571f Signal exception if input isn’t vCard
… with a somewhat naïve check. Also, also count
horizontal-tab characters as starters of folded
lines (as per spec).
2024-02-13 14:13:33 -06:00
Jaidyn Ann 5de1c57b18 Parse data URIs into bytevector+mimetype lists 2024-02-11 09:22:32 -06:00
Jaidyn Ann 6c744928f8 Create vcarded module and egg 2024-02-07 00:44:46 -06:00
Jaidyn Ann 1e202b3c55 Fix truncating of last vcard-property 2024-02-06 22:34:34 -06:00
Jaidyn Ann aaa6d5b292 Add parser for datetime property values 2024-02-06 22:33:02 -06:00
Jaidyn Ann 79f8c34c6c Clean up and refactor value-parsing 2024-02-06 22:04:49 -06:00
Jaidyn Ann 246cec13ad Change parsed-alist structure
Changes the format from
	((PROP TRAIT1 TRAIT2 …) (VALUE1 VALUE2 …))
to
	(PROP (TRAIT1 TRAIT2 …) VALUE1 VALUE2 …)

Also makes the line-splitting functions more
generic and efficient.
2024-02-06 18:07:18 -06:00
Jaidyn Ann e3d181fee8 Add basis for value-parsing
URIs and CSVs are parsed, somewhat.
2024-02-06 17:47:42 -06:00
Jaidyn Ann 8e73f121be Fix broken property-splitting
Also, now we avoid using regex, which is apparently
more efficient, According to TIME.
2024-02-06 12:11:26 -06:00
Jaidyn Ann 7af1c41b35 Fix line-splitting function (remove extraneous “:”) 2024-02-05 22:27:30 -06:00
Jaidyn Ann ff259fe683 Much more efficient line-splitting 2024-02-05 22:08:25 -06:00
Jaidyn Ann 0a5ef01169 Switch to port-based reading/parsing 2024-02-05 21:55:57 -06:00
Jaidyn Ann 916ebdbea2 More reliable splitting of properties 2024-02-05 21:02:24 -06:00
Jaidyn Ann 67f35806b8 Init 2024-02-05 11:24:30 -06:00