-
Notifications
You must be signed in to change notification settings - Fork 634
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
export all copied content to csv etc? #515
Comments
Code written a long time ago, I hope it will help you @IBAction private func exportSnippetButtonTapped(_ sender: AnyObject) {
let xmlDocument = AEXMLDocument()
let rootElement = xmlDocument.addChild(name: Constants.Xml.rootElement)
let realm = try! Realm()
let folders = realm.objects(CPYFolder.self).sorted(byKeyPath: #keyPath(CPYFolder.index), ascending: true)
folders.forEach { folder in
let folderElement = rootElement.addChild(name: Constants.Xml.folderElement)
folderElement.addChild(name: Constants.Xml.titleElement, value: folder.title)
folderElement.addChild(name: Constants.Xml.enableElement, value: folder.enable.description)
let snippetsElement = folderElement.addChild(name: Constants.Xml.snippetsElement)
folder.snippets
.sorted(byKeyPath: #keyPath(CPYSnippet.index), ascending: true)
.forEach { snippet in
let snippetElement = snippetsElement.addChild(name: Constants.Xml.snippetElement)
snippetElement.addChild(name: Constants.Xml.titleElement, value: snippet.title)
snippetElement.addChild(name: Constants.Xml.enableElement, value: snippet.enable.description)
snippetElement.addChild(name: Constants.Xml.contentElement, value: snippet.content)
}
}
let panel = NSSavePanel()
panel.accessoryView = nil
panel.canSelectHiddenExtension = true
panel.allowedFileTypes = [Constants.Xml.fileType]
panel.allowsOtherFileTypes = false
panel.directoryURL = URL(fileURLWithPath: NSHomeDirectory())
panel.nameFieldStringValue = "snippets"
let returnCode = panel.runModal()
if returnCode != NSApplication.ModalResponse.OK { return }
guard let data = xmlDocument.xml.data(using: String.Encoding.utf8) else { return }
guard let url = panel.url else { return }
do {
try data.write(to: url, options: .atomic)
} catch {
NSSound.beep()
}
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Can we export all history to CSV or anything like that?
If there is a way to do it via coding, please let me know. I want to export all history somewhere.
The text was updated successfully, but these errors were encountered: