Git Product home page Git Product logo

Comments (3)

alisonthemonster avatar alisonthemonster commented on August 16, 2024

Hiya Tom!

So looking at this, it looks like the tests are actually showing what is happening in your screenshot, but that's still not great behavior.

From looking at how the tests behave, if you have a single new line character that gets parsed as a new entry. But multiple new line characters in a row gets preserved, see line 59 in RealCsvParserTest.

So that's why your new line characters have made it all the way to the UI. The CSV creating library I'm using is doing some escaping (From StringEscapeUtils)

If the value contains a comma, newline or double quote, then the String value is returned enclosed in double quotes.

There might be a way I can get the TextViews to render this new line char as an actual new line but I'm not sure.

I've been playing around with unit tests and manual importing of all sorts of escaped characters and I'm not able to have success yet. I know its possible because if I write an entry with new lines in it using the device keyboard enter button, export them to CSV, then import them again the new lines are preserved! I need to dig more into what the Apache CSV library is doing to preserve these new lines. I'll keep trying things and let you know!

from presently.

boardtc avatar boardtc commented on August 16, 2024

Thanks for the detailed explanation with links Alison, very informative!
I updated the issue title since it's expected behaviour.
I edited the above entry in the app to add the new lines where the \n\n are and I exported to see the output as you describe.
Hopefully I can prepare my csv to match this double quote wrapped behaviour.
Personally I agree that the expected behaviour is a little lame but I'd say it's a rainy day backlog item since it's not affecting imports/exports generated from the app!
Feel free to close.

Update: I actually had a bug in my csv writing code which escaped the \n so it wrote out literally instead of doing a new line! The python csv handles newlines/quotes the same as apache commons. An import into Presently is now looking perfect!

Good learning, thanks.

from presently.

alisonthemonster avatar alisonthemonster commented on August 16, 2024

Yay!! So glad that you were able to get it working! Thanks for your persistence :)

from presently.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.