From 3cfd1f25e9c98dc7f8f194001eb87d071d39daa5 Mon Sep 17 00:00:00 2001 From: Softonik Date: Sat, 28 Jun 2025 13:06:00 +0300 Subject: [PATCH] =?UTF-8?q?AST:=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2?= =?UTF-8?q?=20=D0=B1=D0=B5=D0=BA=D0=B0=D0=BF=D0=BD=D1=83=D1=8E=20=D0=B4?= =?UTF-8?q?=D0=B8=D1=80=D1=83=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BF=D0=B8=D1=80=D1=83=D1=8E=D1=82=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/formatters/ast/ast.go | 4 ++-- pkg/formatters/ast/helpers.go | 4 ++-- pkg/lib/lib.go | 9 +++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/pkg/formatters/ast/ast.go b/pkg/formatters/ast/ast.go index 07243f8..3933190 100644 --- a/pkg/formatters/ast/ast.go +++ b/pkg/formatters/ast/ast.go @@ -252,7 +252,7 @@ func (a *ASTer) сконвертитьСтрокувПараметры(in string } func (a *ASTer) перезаписатьInitФайл() error { - err := переименоватьФайлСоВременем(INIT_TEST_GO_FNAME) + err := забекапитьФайлСоВременем(INIT_TEST_GO_FNAME) if err != nil { return errors.Join(err, errors.New("cant backup orig file")) } @@ -266,7 +266,7 @@ func (a *ASTer) перезаписатьInitФайл() error { return format.Node(f, a.init_test_fset, a.init_test_node) } func (a *ASTer) перезаписатьФайл() error { - err := переименоватьФайлСоВременем(a.pkg_test_go_fname) + err := забекапитьФайлСоВременем(a.pkg_test_go_fname) if err != nil { return errors.Join(err, errors.New("cant backup orig file")) } diff --git a/pkg/formatters/ast/helpers.go b/pkg/formatters/ast/helpers.go index 9320738..23af2cf 100644 --- a/pkg/formatters/ast/helpers.go +++ b/pkg/formatters/ast/helpers.go @@ -45,12 +45,12 @@ func получитьИмяGoПакетаВЭтойДире() (pkg_name string, return } -func переименоватьФайлСоВременем(fname string) error { +func забекапитьФайлСоВременем(fname string) error { os.MkdirAll(BACKUP_DIR, 0755) currentTime := time.Now() timestamp := currentTime.Format("20060102_150405") new_fname := fmt.Sprintf(BACKUP_DIR+"/%v_%v", fname, timestamp) - return os.Rename(fname, new_fname) + return lib.CopyFile(fname, new_fname) } func являетсяЛиШагомсТакойЖеФункцией(stmt ast.Stmt, step *ast.ExprStmt) bool { diff --git a/pkg/lib/lib.go b/pkg/lib/lib.go index 647d7d8..8626980 100644 --- a/pkg/lib/lib.go +++ b/pkg/lib/lib.go @@ -44,3 +44,12 @@ func CopyFile(src, dst string) (err error) { return } + +func MoveFile(src, dst string) (err error) { + err = CopyFile(src, dst) + if err != nil { + return + } + + return os.Remove(src) +}