Comments (3)
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.
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.
Yay!! So glad that you were able to get it working! Thanks for your persistence :)
from presently.
Related Issues (20)
- Milestone text being cut off for some users
- Colors of theme selection screen should match selected theme HOT 2
- Background color of dialogs should match theme HOT 2
- Some icon colors don't match theme HOT 2
- Redundant use of shared prefrences HOT 1
- Some inconsistent German strings HOT 2
- Select theme screen is broken (edge to edge) HOT 3
- Migrate to using a single dependency file
- Hilt + Code Coverage Issues
- Update targetSdkLevel to 30
- Entry screen in landscape mode is blocked by navigation
- Milestones stop appearing after 600 days
- Feature request: add NextCloud support HOT 1
- Languages text not visible on 'Emilia' theme HOT 4
- Import Dialog Text not visible in Emilia Theme HOT 4
- Update Request HOT 1
- Remove JK Rowling quote from remaining languages HOT 1
- Publish to F-Droid HOT 1
- Non saved text is lost when cellphone is rotated
- Looks like this project is done
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from presently.