Ranchero-Software / NetNewsWire

RSS reader for macOS and iOS.
https://netnewswire.com/
MIT License
8.44k stars 535 forks source link

Are starred entries saved anywhere? #4210

Closed bladerunnerwalrus closed 9 months ago

bladerunnerwalrus commented 9 months ago

I had to reset my mac, but kept a backup. I want to recover starred posts, but cannot find their location. Is there a way to recover? Everything was local.

brentsimmons commented 9 months ago

You’ll have to go into ~/Library/Containers and find NetNewsWire’s container, then go to Data/Library/Application Support/NetNewsWire/Accounts/

Each account should have a DB.sqlite3 file. You can open it in Terminal using sqlite3 on the command line.

In sqlite3, you can then get the data for your articles with this command:

select * from articles where articleID in (select articleID from statuses where starred=1);

It won’t be pretty, but you should be able to copy and paste from Terminal into a text editor and then do something with the data.

Alternately, you could just grab feed URLs, titles, and links, something like this:

select feedID, uniqueID, title, url, externalURL from articles where articleID in (select articleID from statuses where starred=1);

I hope this helps! I realize this isn’t at all convenient or easy. But the good news is that the data should all be there in the database.

brentsimmons commented 9 months ago

You might see two or more folders named NetNewsWire in the Containers folder. This is a confusing thing macOS does. Only one of those folders is for the app. Just one will have a folder at Data/Library/Application Support/NetNewsWire/Accounts/

bladerunnerwalrus commented 9 months ago

You’ll have to go into ~/Library/Containers and find NetNewsWire’s container, then go to Data/Library/Application Support/NetNewsWire/Accounts/

Each account should have a DB.sqlite3 file. You can open it in Terminal using sqlite3 on the command line.

In sqlite3, you can then get the data for your articles with this command:

select * from articles where articleID in (select articleID from statuses where starred=1);

It won’t be pretty, but you should be able to copy and paste from Terminal into a text editor and then do something with the data.

Alternately, you could just grab feed URLs, titles, and links, something like this:

select feedID, uniqueID, title, url, externalURL from articles where articleID in (select articleID from statuses where starred=1);

I hope this helps! I realize this isn’t at all convenient or easy. But the good news is that the data should all be there in the database.

Thank you! Found location easy and the SQL code worked perfectly.