|
|
- package Filesystem
-
- import (
- "crypto/sha1"
- "regexp"
-
- "PackageManager/Variables"
- )
-
- var (
- sha1Hash = sha1.New()
-
- PruneRegex []*regexp.Regexp
- IgnoreRegex []*regexp.Regexp
- )
-
- func init() {
- var e error
-
- e = InitPruneRegex()
- if e != nil {
- panic(e)
- }
-
- e = InitIgnoreRegex()
- if e != nil {
- panic(e)
- }
- }
-
- func InitPruneRegex() error {
- var (
- r *regexp.Regexp
- s string
- e error
- )
-
- for _, s = range Variables.PruneRegexPaths {
- r, e = regexp.Compile(s)
- if e != nil {
- return e
- }
- PruneRegex = append(PruneRegex, r)
- }
- return nil
- }
-
- func InitIgnoreRegex() error {
- var (
- r *regexp.Regexp
- s string
- e error
- )
-
- for _, s = range Variables.IgnoreRegexPaths {
- r, e = regexp.Compile(s)
- if e != nil {
- return e
- }
- IgnoreRegex = append(IgnoreRegex, r)
- }
- return nil
- }
-
- func matchAny(p string, a []*regexp.Regexp) bool {
- var (
- regex *regexp.Regexp
- match bool
- )
- for _, regex = range a {
- match = regex.MatchString(p)
- if match == true {
- return true
- }
- }
- return false
- }
|