February 16, 2003

I got back to work on the CSV reader component yesterday since the client has been having problems with embedded carriage returns in a CSV record. I had originally thought that a CSV record was a single line in the CSV file but turns out that I was wrong since in the case of embedded carriage returns, you’ll have multiple lines for the same record. However, since a column with an embedded carriage return gets enclosed in quotes, I modified my code so that if the component finds a column with an open ended quote, it reads the next line and the next line and the next line till it finds the closing quote. This should take care of embedded carriage returns but I’m not really sure what other problems this might have initiated. Plus, I don’t think I still have provided for one extreme case – what if a column has both quotes and carriage returns embedded in it? CSV usually doubles the quotes to indicate that a quote is there and I handle that fine and I do handle embedded carriage returns fine too but what if you have the opening quote for a column, then doubled quotes to indicate an actual quote in the data and then a carriage return and the closing quote for the column in the next line? I don’t think my code catches that … yet … So I have to go back to the code again today :p

I also want to get to work on Blog and fix a few bugs including the one which does not add an entry for the earliest range in the archive table of contents. I don’t know how long that bug has been there but quite a few people have been mentioning it recently and so it’s high time I did something about that. Plus, it looks as if the password encoding bug is more prevalent than I thought too. So that needs to be fixed as well. I still have done nothing with my installation of B2 to get BlogMan support for B2 finalized. There just is too much to be done …

Posted by Fahim at 7:13 am  |  5 Comments