]> Sergey Matveev's repositories - mmc.git/blobdiff - cmd/mmc/main.go
DRY GetUser
[mmc.git] / cmd / mmc / main.go
index c74d9f8f70b8320e6c429f53a4d5012ac8a6577d..20c8da45cc6426f3216834888d1ab655f049686d 100644 (file)
@@ -39,10 +39,7 @@ import (
        "go.stargrave.org/mmc"
 )
 
-const (
-       PerPage = 100
-       CmdFile = "/FILE "
-)
+const CmdFile = "/FILE "
 
 var (
        Newwin    = flag.String("newwin", "cmd/newwin", "Path to newwin command")
@@ -112,29 +109,13 @@ func main() {
        }
        Team := teams[0]
 
-       Users := make(map[string]*model.User)
-       for pageNum := 0; ; pageNum++ {
-               time.Sleep(mmc.SleepTime)
-               page, resp, err := c.GetUsers(pageNum, PerPage, "")
-               if err != nil {
-                       if DebugFd != nil {
-                               spew.Fdump(DebugFd, resp)
-                       }
-                       log.Fatalln(err)
-               }
-               if DebugFd != nil {
-                       spew.Fdump(DebugFd, page)
-               }
-               for _, u := range page {
-                       Users[u.Id] = u
-               }
-               if len(page) < PerPage {
-                       break
-               }
-       }
-
        var updateQueue []string
        LastSent := time.Now()
+
+       Users, err := mmc.GetUsers(c, DebugFd)
+       if err != nil {
+               log.Fatalln(err)
+       }
        for _, u := range Users {
                pth := path.Join("users", strings.ReplaceAll(u.Username, ".", "_"))
                os.MkdirAll(pth, 0777)
@@ -278,8 +259,8 @@ func main() {
                                        log.Println("OpenFile:", usersPth, err)
                                        continue
                                }
-                               for pageNum := 0; ; pageNum++ {
-                                       users, resp, err := c.GetUsersInChannel(ch.Id, pageNum, PerPage, "")
+                               for n := 0; ; n++ {
+                                       users, resp, err := c.GetUsersInChannel(ch.Id, n, mmc.PerPage, "")
                                        if err != nil {
                                                if DebugFd != nil {
                                                        spew.Fdump(DebugFd, resp)
@@ -294,7 +275,7 @@ func main() {
                                        for _, u := range users {
                                                fmt.Fprintf(fd, "%s\n", u.Username)
                                        }
-                                       if len(users) < PerPage {
+                                       if len(users) < mmc.PerPage {
                                                break
                                        }
                                }