diff options
| author | Shulhan <ms@kilabit.info> | 2023-09-23 21:52:48 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2023-09-23 21:52:48 +0700 |
| commit | b91779462ac492d237ed89bd631ffa74aa8be03f (patch) | |
| tree | 6e7730b534e73828ac70e2098554ef1ddc0549ed | |
| parent | d07b8aa2619b78dd22d093d23da890e8ceba26fb (diff) | |
| download | awwan-b91779462ac492d237ed89bd631ffa74aa8be03f.tar.xz | |
all: merge some functions into NewScript and ParseScript
Previously, we have NewScriptForLocal, NewScriptForRemote,
ParseScriptForLocal, and ParseScriptForRemote.
Since script for local and remote actually the same and since we remove
applying environment variables at 858c26d3d940 on local, we can merge
them into NewScript and ParseScript.
| -rw-r--r-- | awwan.go | 8 | ||||
| -rw-r--r-- | script.go | 45 | ||||
| -rw-r--r-- | script_example_test.go | 4 |
3 files changed, 13 insertions, 44 deletions
@@ -243,9 +243,9 @@ func (aww *Awwan) Local(req *Request) (err error) { } if len(req.Content) == 0 { - req.script, err = NewScriptForLocal(ses, req.scriptPath) + req.script, err = NewScript(ses, req.scriptPath) } else { - req.script, err = ParseScriptForLocal(ses, req.Content) + req.script, err = ParseScript(ses, req.Content) } if err != nil { return fmt.Errorf("%s: %w", logp, err) @@ -329,9 +329,9 @@ func (aww *Awwan) Play(req *Request) (err error) { } if len(req.Content) == 0 { - req.script, err = NewScriptForRemote(ses, req.scriptPath) + req.script, err = NewScript(ses, req.scriptPath) } else { - req.script, err = ParseScriptForRemote(ses, req.Content) + req.script, err = ParseScript(ses, req.Content) } if err != nil { return fmt.Errorf("%s: %w", logp, err) @@ -17,33 +17,12 @@ type Script struct { rawLines [][]byte } -// NewScriptForLocal load the content of awwan script (".aww"), apply the -// value of session and environment variables into the script content, and -// split it into Statements. -func NewScriptForLocal(ses *Session, path string) (script *Script, err error) { - var ( - logp = "NewScriptForLocal" - content []byte - ) - - content, err = os.ReadFile(path) - if err != nil { - return nil, fmt.Errorf("%s: %w", logp, err) - } - - script, err = ParseScriptForLocal(ses, content) - if err != nil { - return nil, fmt.Errorf("%s: %w", logp, err) - } - return script, nil -} - -// NewScriptForRemote load the content of awwan script (".aww"), apply the +// NewScript load the content of awwan script (".aww"), apply the // value of session variables into the script content, and split it into // Statements. -func NewScriptForRemote(ses *Session, path string) (script *Script, err error) { +func NewScript(ses *Session, path string) (script *Script, err error) { var ( - logp = "NewScriptForRemote" + logp = `NewScript` content []byte ) @@ -52,28 +31,18 @@ func NewScriptForRemote(ses *Session, path string) (script *Script, err error) { return nil, fmt.Errorf("%s: %w", logp, err) } - script, err = ParseScriptForRemote(ses, content) + script, err = ParseScript(ses, content) if err != nil { return nil, fmt.Errorf("%s: %w", logp, err) } return script, nil } -// ParseScriptForLocal parse the script content by applying the session and -// environment variables and splitting it into Statement. -func ParseScriptForLocal(ses *Session, content []byte) (s *Script, err error) { - return parseScript(ses, content) -} - -// ParseScriptForRemote parse the script content by applying the session +// ParseScript parse the script content by applying the session // variables and splitting it into Statement. -func ParseScriptForRemote(ses *Session, content []byte) (s *Script, err error) { - return parseScript(ses, content) -} - -func parseScript(ses *Session, content []byte) (script *Script, err error) { +func ParseScript(ses *Session, content []byte) (script *Script, err error) { var ( - logp = "parseScript" + logp = `ParseScript` tmpl *template.Template buf bytes.Buffer diff --git a/script_example_test.go b/script_example_test.go index def544a..e0156af 100644 --- a/script_example_test.go +++ b/script_example_test.go @@ -8,7 +8,7 @@ import ( "log" ) -func ExampleParseScriptForLocal() { +func ExampleParseScript() { var ( envContent = ` [section] @@ -33,7 +33,7 @@ end; log.Fatal(err) } - s, err = ParseScriptForLocal(ses, []byte(scriptContent)) + s, err = ParseScript(ses, []byte(scriptContent)) if err != nil { log.Fatal(err) } |
