diff options
author | 2023-09-27 21:15:32 -0700 | |
---|---|---|
committer | 2023-09-27 21:45:23 -0700 | |
commit | f98fc1e03a6d732611fc05a7f714e3f3a0292cfc (patch) | |
tree | 62745f05871fe2d2f35dfa87ab3b2e535c52e6fa /internal/cli/export_feeds.go | |
parent | 39d752ca85d0f590684af76f53eedbdc53f81801 (diff) | |
download | v2-f98fc1e03a6d732611fc05a7f714e3f3a0292cfc.tar.gz v2-f98fc1e03a6d732611fc05a7f714e3f3a0292cfc.tar.zst v2-f98fc1e03a6d732611fc05a7f714e3f3a0292cfc.zip |
Add command line argument to export user feeds
Diffstat (limited to 'internal/cli/export_feeds.go')
-rw-r--r-- | internal/cli/export_feeds.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/internal/cli/export_feeds.go b/internal/cli/export_feeds.go new file mode 100644 index 00000000..0d0d5da5 --- /dev/null +++ b/internal/cli/export_feeds.go @@ -0,0 +1,30 @@ +// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +package cli // import "miniflux.app/v2/internal/cli" + +import ( + "fmt" + + "miniflux.app/v2/internal/reader/opml" + "miniflux.app/v2/internal/storage" +) + +func exportUserFeeds(store *storage.Storage, username string) { + user, err := store.UserByUsername(username) + if err != nil { + printErrorAndExit(fmt.Errorf("unable to find user: %w", err)) + } + + if user == nil { + printErrorAndExit(fmt.Errorf("user %q not found", username)) + } + + opmlHandler := opml.NewHandler(store) + opmlExport, err := opmlHandler.Export(user.ID) + if err != nil { + printErrorAndExit(fmt.Errorf("unable to export feeds: %w", err)) + } + + fmt.Println(opmlExport) +} |