Importing from colornote

Hey guys,

I recently switched to Joplin after using Colornote for quite a while. Due to Colornote's lack of export features, the migration process was a pain. Additionally, I wanted to keep the creation and modification dates of my notes intact. So I ended up writing a script that takes care of all of that. Here it is, in case anybody ever wants to do something similar:

P.S. I'm loving the app. I tried it a few years back but never switched over. It's really matured since that time. Kudos to the devs!

3 Likes

Are you talking about colornotes (with an s at the end) for Android, or some other app ?

1 Like

Yes! Thank you for the correction. I've apparently been pronouncing it wrong in my head all these years :smiley: . I've edited my post to fix that. Now gotta go fix all the other places I've been mistyping it.

That name is quite confusing, there's indeed a "ColorNote", and a "ColorNotes" on Google Play. So yours is the one with an "s" then? (although your post title is still without "s") Maybe you should link to the relevant app, so users know for sure which one you support.

2 Likes

Oh wow, I didn't know there were two apps that are named so similarly. Thanks for the link idea, I'll definitely do that. It should mitigate any confusion.
Turns out it was "Colornote" all along and when ajay suggested that the name is actually "Colornotes" it just didn't occur to me that there can be another app so similarly named.
--Edit--
I can't seem to edit my original post. Could somebody please paste the link in there, and change all the "colornotes" to "colornote"? (Including the one in the url to the github page. I'll go back and change it so it matches up again.) Here's the link:

I've changed everything but the gh link, since the repo still uses the s.

1 Like

I just changed the repo. Could you change the link too?

Done. Now you still have to change the README.md and the script name in the repo.... :wink:

1 Like

Thank you! And thanks for reminding me about those changes! I think it's all good again. :grin:

Hi,

I can't seem to run this script to convert my colornote.db to joplin. I have installed all the necessary apps copied the colornote_to_joplin.py and colonornote.db files to the python install directory. When I try to run the .py file in python I get stuck. I get the error in the screenshot below.

Sorry. This code is from the good old times where I didn't really bother/know about error handling, so it's a bit hard to diagnose. My best guess is that the script can't communicate with the joplin api properly and that's messing up the json library. If it's super urgent, you can try and paste print(r.json()) between lines 32 and 33 in colornote_to_joplin.py and send me the output after you run the code again. (Make sure that the line you just pasted lines up with the two surrounding lines. i.e. it's prepended with 4 spaces).
If it's not super urgent, I'll try and update the code with proper exception handling at some point which would make the problem easier to diagnose.

Also, this code was tested only on Linux. So no guarantees it'll ever work on Windows. Although it really should. I'm not using any outlandish Python libraries. If anyone has insight as to how the 'requests' and 'json' libraries differ between Windows and Linux, maybe they'd be able to help.

Thanks for responding. Am on windows 10, am not a coder. I however edited the colornote_to_joplin file and ran it as directed and attached is the screenshot of what I got.

Also this is the colornote_to_joplin.py file am running just in case you need to look at it.
colornote_to_joplin.py (2.5 KB)

Hmmm. Ok. Could you change the print(r.json()) that you just pasted to a print(r), run it again, and paste the output?

Also another thing that would help is if you pasted this:
http://127.0.0.1:41184/folders?token=ADD-YOUR-TOKEN-HERE
into your web-browser url bar and posted a screenshot of that. (Just make sure to replace "ADD-YOUR-TOKEN-HERE" with your actual token)

Attached below are the two screenshots as requested.
The browser page screenshot:

The py file execution screenshot:

Thanks.

Could you double check that you deleted the localization data in the database?

Yeah, I did that as per deleting the longitude and latitude.

Hmmm, I'm sorry but at this point I have no more concrete ideas that I can guide you through. I'd have to dig around in your setup a bit.

You've two options:

  • You can wait. I remember when I was doing this, and moving your notes is always a kinda urgent thing, so I'll try to push a newer version with more robust error handling so that we can pinpoint what's going wrong. I'll try and get it done before New Year's but I'm looking for a job right now, so I've got a bit on my plate. No promises.
  • You can send your decoded database to me and I can try and see if I can't get it to work on my setup and then send you a jex file that you can import directly into Joplin. This has the obvious downside that I'd be able to see all your notes. I obviously wouldn't go rummaging in them, but it definitely depends on how comfortable you are a stranger potentially seeing them. I totally get it if this is not something you wanna do but just putting it out as an option in case you don't really care. And of course, also no promises here either. I might not be able to make it work at all. But if I play around with it and it's a minor issue, you could potentially have your notes ready much sooner.

Let me know either way.

I just updated the github repo with code that should be a bit easier to debug. Try downloading the new code, running it, and posting the output.