mirror of
https://github.com/j3ssie/osmedeus.git
synced 2026-09-27 20:14:54 +02:00
107 lines
3.5 KiB
Go
107 lines
3.5 KiB
Go
package execution
|
|
|
|
//
|
|
//// RunRequire is main function for generator
|
|
//func RunRequire(script string, options libs.Options) bool {
|
|
// // @NOTE: for some reason < auto translate to < in golang template
|
|
// if strings.Contains(script, "<") {
|
|
// script = strings.Replace(script, "<", "<", -1)
|
|
// }
|
|
// utils.DebugF("[Run-Require] %v", script)
|
|
// vm := otto.New()
|
|
//
|
|
// vm.Set("EmptyDir", func(call otto.FunctionCall) otto.Value {
|
|
// result, _ := vm.ToValue(utils.EmptyDir(call.Argument(0).String()))
|
|
// return result
|
|
// })
|
|
//
|
|
// vm.Set("NotEmptyDir", func(call otto.FunctionCall) otto.Value {
|
|
// result, _ := vm.ToValue(!utils.EmptyDir(call.Argument(0).String()))
|
|
// return result
|
|
// })
|
|
//
|
|
// vm.Set("NotEmptyFile", func(call otto.FunctionCall) otto.Value {
|
|
// result, _ := vm.ToValue(!utils.EmptyFile(call.Argument(0).String(), 0))
|
|
// if len(call.ArgumentList) > 1 {
|
|
// num, _ := call.Argument(0).ToInteger()
|
|
// result, _ = vm.ToValue(!utils.EmptyFile(call.Argument(0).String(), int(num)))
|
|
// }
|
|
// return result
|
|
// })
|
|
//
|
|
// vm.Set("EmptyFile", func(call otto.FunctionCall) otto.Value {
|
|
// result, _ := vm.ToValue(utils.EmptyFile(call.Argument(0).String(), 0))
|
|
// if len(call.ArgumentList) > 1 {
|
|
// num, _ := call.Argument(0).ToInteger()
|
|
// result, _ = vm.ToValue(utils.EmptyFile(call.Argument(0).String(), int(num)))
|
|
// }
|
|
// return result
|
|
// })
|
|
//
|
|
// vm.Set("ExecContain", func(call otto.FunctionCall) otto.Value {
|
|
// var validate bool
|
|
// args := call.ArgumentList
|
|
// cmd := args[0].String()
|
|
// search := args[1].String()
|
|
// out, _ := Execution(cmd, options)
|
|
// if strings.Contains(out, search) {
|
|
// validate = true
|
|
// }
|
|
// result, _ := vm.ToValue(validate)
|
|
// return result
|
|
// })
|
|
//
|
|
// vm.Set("ExecMatch", func(call otto.FunctionCall) otto.Value {
|
|
// var validate bool
|
|
// args := call.ArgumentList
|
|
// cmd := args[0].String()
|
|
// search := args[1].String()
|
|
// out, _ := Execution(cmd, options)
|
|
// validate = RegexCount(out, search)
|
|
// result, _ := vm.ToValue(validate)
|
|
// return result
|
|
// })
|
|
//
|
|
// vm.Set("DirLength", func(call otto.FunctionCall) otto.Value {
|
|
// validate := utils.DirLength(call.Argument(0).String())
|
|
// result, err := vm.ToValue(validate)
|
|
// if err != nil {
|
|
// return otto.FalseValue()
|
|
// }
|
|
// return result
|
|
// })
|
|
//
|
|
// vm.Set("FileLength", func(call otto.FunctionCall) otto.Value {
|
|
// validate := utils.FileLength(call.Argument(0).String())
|
|
// result, err := vm.ToValue(validate)
|
|
// if err != nil {
|
|
// return otto.FalseValue()
|
|
// }
|
|
// return result
|
|
// })
|
|
//
|
|
// result, serr := vm.Run(script)
|
|
// if serr != nil {
|
|
// return false
|
|
// }
|
|
// analyzeResult, err := result.Export()
|
|
// if err != nil || analyzeResult == nil {
|
|
// return false
|
|
// }
|
|
// utils.DebugF("Required: %v -- %v", script, result)
|
|
// return analyzeResult.(bool)
|
|
//}
|
|
//
|
|
//// RegexCount count regex string in component
|
|
//func RegexCount(component string, analyzeString string) bool {
|
|
// r, err := regexp.Compile(analyzeString)
|
|
// if err != nil {
|
|
// return false
|
|
// }
|
|
// matches := r.FindAllStringIndex(component, -1)
|
|
// if len(matches) > 0 {
|
|
// return true
|
|
// }
|
|
// return false
|
|
//}
|