aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Gopkg.lock2
-rw-r--r--integration_test.go19
-rw-r--r--vendor/github.com/miniflux/miniflux-go/README.md15
-rw-r--r--vendor/github.com/miniflux/miniflux-go/client.go17
-rw-r--r--vendor/github.com/miniflux/miniflux-go/miniflux.go18
5 files changed, 62 insertions, 9 deletions
diff --git a/Gopkg.lock b/Gopkg.lock
index afb479b..e892b79 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -41,7 +41,7 @@
branch = "master"
name = "github.com/miniflux/miniflux-go"
packages = ["."]
- revision = "3d654932d84b6afdbd5e66b34b08392f62229e61"
+ revision = "887ba3b062946784f0e64edb1734f435beb204f9"
[[projects]]
name = "github.com/tdewolff/minify"
diff --git a/integration_test.go b/integration_test.go
index 0a53bef..fb0a785 100644
--- a/integration_test.go
+++ b/integration_test.go
@@ -634,6 +634,25 @@ func TestCreateFeedWithInexistingCategory(t *testing.T) {
}
}
+func TestExport(t *testing.T) {
+ username := getRandomUsername()
+ client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
+ _, err := client.CreateUser(username, testStandardPassword, false)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ client = miniflux.NewClient(testBaseURL, username, testStandardPassword)
+ output, err := client.Export()
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if !strings.HasPrefix(string(output), "<?xml") {
+ t.Fatalf(`Invalid OPML export, got "%s"`, string(output))
+ }
+}
+
func TestUpdateFeed(t *testing.T) {
username := getRandomUsername()
client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
diff --git a/vendor/github.com/miniflux/miniflux-go/README.md b/vendor/github.com/miniflux/miniflux-go/README.md
index 3b232b4..d1b5cda 100644
--- a/vendor/github.com/miniflux/miniflux-go/README.md
+++ b/vendor/github.com/miniflux/miniflux-go/README.md
@@ -40,6 +40,21 @@ func main() {
return
}
fmt.Println(feeds)
+
+ // Backup to opml file.
+ opml, err := client.Export()
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+
+ err = ioutil.WriteFile("opml.xml", opml, 0644)
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ fmt.Println("backup done!")
+
}
```
diff --git a/vendor/github.com/miniflux/miniflux-go/client.go b/vendor/github.com/miniflux/miniflux-go/client.go
index 8440a31..d6036dd 100644
--- a/vendor/github.com/miniflux/miniflux-go/client.go
+++ b/vendor/github.com/miniflux/miniflux-go/client.go
@@ -7,6 +7,7 @@ package miniflux
import (
"encoding/json"
"fmt"
+ "io/ioutil"
"net/url"
"strconv"
)
@@ -213,6 +214,22 @@ func (c *Client) Feeds() (Feeds, error) {
return feeds, nil
}
+// Export creates OPML file.
+func (c *Client) Export() ([]byte, error) {
+ body, err := c.request.Get("/v1/export")
+ if err != nil {
+ return nil, err
+ }
+ defer body.Close()
+
+ opml, err := ioutil.ReadAll(body)
+ if err != nil {
+ return nil, err
+ }
+
+ return opml, nil
+}
+
// Feed gets a feed.
func (c *Client) Feed(feedID int64) (*Feed, error) {
body, err := c.request.Get(fmt.Sprintf("/v1/feeds/%d", feedID))
diff --git a/vendor/github.com/miniflux/miniflux-go/miniflux.go b/vendor/github.com/miniflux/miniflux-go/miniflux.go
index 9cbdc72..08db2f9 100644
--- a/vendor/github.com/miniflux/miniflux-go/miniflux.go
+++ b/vendor/github.com/miniflux/miniflux-go/miniflux.go
@@ -18,14 +18,16 @@ const (
// User represents a user in the system.
type User struct {
- ID int64 `json:"id"`
- Username string `json:"username"`
- Password string `json:"password,omitempty"`
- IsAdmin bool `json:"is_admin"`
- Theme string `json:"theme"`
- Language string `json:"language"`
- Timezone string `json:"timezone"`
- LastLoginAt *time.Time `json:"last_login_at"`
+ ID int64 `json:"id"`
+ Username string `json:"username"`
+ Password string `json:"password,omitempty"`
+ IsAdmin bool `json:"is_admin"`
+ Theme string `json:"theme"`
+ Language string `json:"language"`
+ Timezone string `json:"timezone"`
+ EntryDirection string `json:"entry_sorting_direction"`
+ LastLoginAt *time.Time `json:"last_login_at"`
+ Extra map[string]string `json:"extra"`
}
func (u User) String() string {