osutil.go 972 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright 2020 The Gogs Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package osutil
  5. import (
  6. "os"
  7. )
  8. // IsFile returns true if given path exists as a file (i.e. not a directory).
  9. func IsFile(path string) bool {
  10. f, e := os.Stat(path)
  11. if e != nil {
  12. return false
  13. }
  14. return !f.IsDir()
  15. }
  16. // IsDir returns true if given path is a directory, and returns false when it's
  17. // a file or does not exist.
  18. func IsDir(dir string) bool {
  19. f, e := os.Stat(dir)
  20. if e != nil {
  21. return false
  22. }
  23. return f.IsDir()
  24. }
  25. // IsExist returns true if a file or directory exists.
  26. func IsExist(path string) bool {
  27. _, err := os.Stat(path)
  28. return err == nil || os.IsExist(err)
  29. }
  30. // CurrentUsername returns the current system user via environment variables.
  31. func CurrentUsername() string {
  32. username := os.Getenv("USER")
  33. if len(username) > 0 {
  34. return username
  35. }
  36. return os.Getenv("USERNAME")
  37. }