Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
792 B
36 lines
792 B
// Copyright 2014 The Gogs Authors. All rights reserved. |
|
// Use of this source code is governed by a MIT-style |
|
// license that can be found in the LICENSE file. |
|
|
|
package user |
|
|
|
import ( |
|
"os" |
|
"os/user" |
|
"runtime" |
|
"strings" |
|
) |
|
|
|
// CurrentUsername return current login OS user name |
|
func CurrentUsername() string { |
|
userinfo, err := user.Current() |
|
if err != nil { |
|
return fallbackCurrentUsername() |
|
} |
|
username := userinfo.Username |
|
if runtime.GOOS == "windows" { |
|
parts := strings.Split(username, "\\") |
|
username = parts[len(parts)-1] |
|
} |
|
return username |
|
} |
|
|
|
// Old method, used if new method doesn't work on your OS for some reason |
|
func fallbackCurrentUsername() string { |
|
curUserName := os.Getenv("USER") |
|
if len(curUserName) > 0 { |
|
return curUserName |
|
} |
|
|
|
return os.Getenv("USERNAME") |
|
}
|
|
|