I have been using catch notes for the past 2 years. When I knew the news about catch notes shutting down “Catch will no longer be available after 30 August 2013.”, I started looking for alternatives. One of the best alternative is evernote. Though I have tried few years ago, but I havent used it effectively.
As per the above URL, exported my notes from catch.com
http://support.catch.com/customer/portal/articles/1243609-importing
Though the exported data contains enex file to import into Evernote. It does not automatically add the pictures and tags.
As I had only few pictures in my notes, I manually added it to the notes in Evernote. But I had around 800 notes, I dont want to tag each and every note manually. So I wrote a simple python script to convert all the #tag to evernote tags.
Check the gist at https://gist.github.com/ramandv/6146111
from evernote.api.client import NoteStore
from evernote.api.client import EvernoteClient
#Get your dev token from the following URL
#https://www.evernote.com/api/DeveloperToken.action
dev_token = "<your api token>"
client = EvernoteClient(token=dev_token, sandbox=False)
noteStore = client.get_note_store()
filter = NoteStore.NoteFilter()
#Find the guid of your catch notebook, by selecting the catch notebook and see the URL
#https://www.evernote.com/Home.action#b=<guid>
filter.notebookGuid = "<catch_notebook_guid>"
spec = NoteStore.NotesMetadataResultSpec()
spec.includeTitle = True
spec.includeTagGuids = True
index = 0
while True:
noteList = noteStore.findNotesMetadata( dev_token, filter, index, 50, spec)
for note in noteList.notes:
index = index + 1
if (note.tagGuids != None and len(note.tagGuids) > 0):
print "already tags present, so skipping...."
print "--------------[" + str(index) + "]"
continue
note = noteStore.getNote(dev_token, note.guid, True, True, True, True)
content = note.content
print 'Title:', note.title,
print 'Content:', content
print "--------------[" + str(index) + "]"
titlecontent = note.title + " " + content
#Remove HTML tags
titlecontent = re.sub('<[^<]+?>', ' ', titlecontent)
#get tags
tags = [word for word in titlecontent.split() if word.startswith('#') and len(word) > 1]
#remove unwanted characters
tags = [word.strip(" #;.,").lower() for word in tags ]
tags = [word.split()[0] for word in tags if len(word.split()) > 0 ]
tags = [word.strip(" #;.,") for word in tags if len(word.strip(" #;.,")) > 0 ]
#remove duplicate tags
tags_set = set(tags)
tags = list(tags_set)
#Add tags only if the actual note does not contain tags
if len(tags) > 0 and (note.tagNames == None or len(note.tagNames) == 0):
print "[" + str(index) + "]###########" + str(tags)
note.tagNames = tags
noteStore.updateNote(dev_token, note)
if noteList.totalNotes <= index:
break;
print "FETCHING NEXT PAGE======================="
Hi! I’ve been trying this but obviously I’m doing something wrong. It keeps telling me,
File “C:\Users-—\Documents\catch2evernote.py”, line 2, in
from evernote.api.client import NoteStore
ImportError: No module named evernote.api.client
I installed python and replaced the dev token and giud as it says, I haven’t changed anything else. Is there anything you could suggest I try? I really have no idea what I’m doing but would love to avoid manually adding 100+ notes worth of tags.
Thanks!
Hi Ana,
You have not installed evernote library.
You can install using the following command,
Read more info in the following URL
“Downloading the Evernote SDK for Python”
http://dev.evernote.com/start/guides/python.php
but you need to install “pip” also.
For that the following URL might be helpful too.
http://stackoverflow.com/questions/4750806/how-to-install-pip-on-windows
Thank you for this extremely helpful script!
I did have to add
import re
to get it to work, though.
Hi
I was in the hospital when catch notes shut down. I had two screen play starts….200 haiku I wrote…..ideas and so forth…..I got out of the hospital and my phone got stolen. My new phone can’t download app to log in…. anything I can do?
They shutdown everything. So I am afraid, it may not be possible to get the data.
Sorry this is a year behind the curve though might you know the Catch Notes source file name? I have a complete image of the device storage tho do not have an export file from prior to a factory re-set of the device.
It would be interesting to know the name of the responsible party at Catch.com who shut this down with little consideration for users of the app.