From 01c8df01ec0608f1f25b2f1444adabb98fa5ee8a Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 24 Oct 2019 01:51:46 -0700 Subject: internal: move packages under this directory (#5836) * Rename pkg -> internal * Rename routes -> route * Move route -> internal/route * Rename models -> db * Move db -> internal/db * Fix route2 -> route * Move cmd -> internal/cmd * Bump version --- cmd/import.go | 113 ---------------------------------------------------------- 1 file changed, 113 deletions(-) delete mode 100644 cmd/import.go (limited to 'cmd/import.go') diff --git a/cmd/import.go b/cmd/import.go deleted file mode 100644 index 804963f0..00000000 --- a/cmd/import.go +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2016 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package cmd - -import ( - "bufio" - "bytes" - "fmt" - "os" - "path/filepath" - "time" - - "github.com/unknwon/com" - "github.com/urfave/cli" - - "gogs.io/gogs/pkg/setting" -) - -var ( - Import = cli.Command{ - Name: "import", - Usage: "Import portable data as local Gogs data", - Description: `Allow user import data from other Gogs installations to local instance -without manually hacking the data files`, - Subcommands: []cli.Command{ - subcmdImportLocale, - }, - } - - subcmdImportLocale = cli.Command{ - Name: "locale", - Usage: "Import locale files to local repository", - Action: runImportLocale, - Flags: []cli.Flag{ - stringFlag("source", "", "Source directory that stores new locale files"), - stringFlag("target", "", "Target directory that stores old locale files"), - stringFlag("config, c", "custom/conf/app.ini", "Custom configuration file path"), - }, - } -) - -func runImportLocale(c *cli.Context) error { - if !c.IsSet("source") { - return fmt.Errorf("Source directory is not specified") - } else if !c.IsSet("target") { - return fmt.Errorf("Target directory is not specified") - } - if !com.IsDir(c.String("source")) { - return fmt.Errorf("Source directory does not exist or is not a directory") - } else if !com.IsDir(c.String("target")) { - return fmt.Errorf("Target directory does not exist or is not a directory") - } - - if c.IsSet("config") { - setting.CustomConf = c.String("config") - } - - setting.NewContext() - - now := time.Now() - - line := make([]byte, 0, 100) - badChars := []byte(`="`) - escapedQuotes := []byte(`\"`) - regularQuotes := []byte(`"`) - // Cut out en-US. - for _, lang := range setting.Langs[1:] { - name := fmt.Sprintf("locale_%s.ini", lang) - source := filepath.Join(c.String("source"), name) - target := filepath.Join(c.String("target"), name) - if !com.IsFile(source) { - continue - } - - // Crowdin surrounds double quotes for strings contain quotes inside, - // this breaks INI parser, we need to fix that. - sr, err := os.Open(source) - if err != nil { - return fmt.Errorf("Open: %v", err) - } - - tw, err := os.Create(target) - if err != nil { - if err != nil { - return fmt.Errorf("Open: %v", err) - } - } - - scanner := bufio.NewScanner(sr) - for scanner.Scan() { - line = scanner.Bytes() - idx := bytes.Index(line, badChars) - if idx > -1 && line[len(line)-1] == '"' { - // We still want the "=" sign - line = append(line[:idx+1], line[idx+2:len(line)-1]...) - line = bytes.Replace(line, escapedQuotes, regularQuotes, -1) - } - tw.Write(line) - tw.WriteString("\n") - } - sr.Close() - tw.Close() - - // Modification time of files from Crowdin often ahead of current, - // so we need to set back to current. - os.Chtimes(target, now, now) - } - - fmt.Println("Locale files has been successfully imported!") - return nil -} -- cgit v1.2.3