html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,issue,performed_via_github_app
https://github.com/dogsheep/apple-notes-to-sqlite/issues/1#issuecomment-1461230436,https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/1,1461230436,IC_kwDOJHON9s5XGJtk,9599,2023-03-09T03:51:52Z,2023-03-09T03:51:52Z,MEMBER,This did the job! Next step is to turn that into a Python script.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",1616347574,
https://github.com/dogsheep/apple-notes-to-sqlite/issues/1#issuecomment-1461230197,https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/1,1461230197,IC_kwDOJHON9s5XGJp1,9599,2023-03-09T03:51:36Z,2023-03-09T03:51:36Z,MEMBER,"After a few more rounds I got to this script, which outputs them to a `/tmp/notes.txt` file:
```zsh
#!/bin/zsh
osascript -e '
set notesFile to ""/tmp/notes.txt""
set fileRef to open for access notesFile with write permission
tell application ""Notes""
repeat with eachNote in every note
set noteId to the id of eachNote
set noteTitle to the name of eachNote
set noteBody to the body of eachNote
write ""------------------------"" & ""\n"" to fileRef
write noteId & ""\n"" to fileRef
write noteTitle & ""\n\n"" to fileRef
write noteBody & ""\n"" to fileRef
end repeat
end tell
close access fileRef'
```
Then I wrote this little Python script to load them into a database:
```python
import sqlite_utils
split = b""------------------------\n""
s = open(""/tmp/notes.txt"", ""rb"").read()
notes = [n.decode(""mac_roman"") for n in s.split(split) if n]
cleaned_notes = [{
""id"": n.split(""\n"")[0],
""title"": n.split(""\n"")[1],
""body"": ""\n"".join(n.split(""\n"")[2:]).strip()
} for n in notes]
db = sqlite_utils.Database(""/tmp/notes.db"")
db[""notes""].insert_all(cleaned_notes)
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",1616347574,
https://github.com/dogsheep/apple-notes-to-sqlite/issues/1#issuecomment-1461226402,https://api.github.com/repos/dogsheep/apple-notes-to-sqlite/issues/1,1461226402,IC_kwDOJHON9s5XGIui,9599,2023-03-09T03:47:11Z,2023-03-09T03:47:11Z,MEMBER,"Me:
> Write applescript to loop through all of my Apple Notes and output their contents
ChatGPT:
```applescript
tell application ""Notes""
repeat with eachNote in every note
set noteTitle to the name of eachNote
set noteBody to the body of eachNote
display dialog noteTitle & return & return & noteBody
end repeat
end tell
```
Me:
> How can I turn that into a zsh script which will output the results to my terminal
ChatGPT:
```zsh
#!/usr/bin/zsh
osascript -e 'tell application ""Notes""
repeat with eachNote in every note
set noteTitle to the name of eachNote
set noteBody to the body of eachNote
set output to noteTitle & ""\n"" & noteBody & ""\n""
display dialog output
log output
end repeat
end tell'
```
I had to change that first line to `#!/bin/zsh` - then when I ran it it spammed my screen with dialog boxes.
Me:
> I want to log the notes contents to the terminal, not display it in a dialog
ChatGPT:
```zsh
#!/bin/zsh
osascript -e 'tell application ""Notes""
repeat with eachNote in every note
set noteTitle to the name of eachNote
set noteBody to the body of eachNote
set output to noteTitle & ""\n"" & noteBody & ""\n""
log output
end repeat
end tell'
```
This really helps!","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",1616347574,