package asaModels import "regexp" var ( VERIFYSHA = regexp.MustCompile(`(?i)sha-512\s+\((.*?:/.*?)\)\s+=\s+(\S+)`) VERIFYMD5RE = regexp.MustCompile(`(?i)md5\s+\((.*?:/.*?)\)\s+=\s+(\S+)`) ) type ( Verify struct { Md5 *string `json:"md5,omitempty"` SHA *string `json:"sha_512,omitempty"` FileName *string `json:"filename"` } ) func (v *Verify) Parse(s string) { if sha := VERIFYSHA.FindStringSubmatch(s); len(sha) != 0 { v.FileName = &sha[1] v.SHA = &sha[2] return } if md5 := VERIFYMD5RE.FindStringSubmatch(s); len(md5) != 0 { v.FileName = &md5[1] v.Md5 = &md5[2] return } }