Your message dated Mon, 9 Nov 2020 11:10:55 +0100 (CET)
with message-id <alpine.DEB.2.21.2011091110290.16843@hier>
and subject line duplicate of 973994
has caused the Debian Bug report #973993,
regarding ITP: golang-github-profclems-go-dotenv -- A minimalist library for
reading and atomically writing .env configuration files in Go
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
973993: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973993
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: wnpp
Severity: wishlist
Owner: TODO <TODO>
* Package name : golang-github-profclems-go-dotenv
Version : 0.1.0-1
Upstream Author : Clement Sam
* URL : https://github.com/profclems/go-dotenv
* License : Expat
Programming Lang: Go
Description : A minimalist library for reading and atomically writing
.env configuration files in Go
Dotenv Go Report Card
(https://goreportcard.com/report/github.com/profclems/go-dotenv) PkgGoDev
(https://pkg.go.dev/mod/github.com/profclems/go-dotenv) Dotenv is a
minimal Go Library for reading and writing .env configuration files.
It uses renameio (https://github.com/google/renameio) to perform atomic
write operations making sure applications never see unexpected file
content (a half-written file, or a 0-byte file).
.
Dotenv reads config in the following order. Each item takes precedence
over the item below it: • env• key-value config cache/store• config
The config cache store is set on first read operation. Installation sh
go get -u github.com/joho/godotenv
.
Usage Assuming you have a .env file in the current directory with the
following values env S3_BUCKET=yours3bucket SECRET_KEY=yoursecretKey
PRIORITY_LEVEL=2
.
Reading .env files ```go package main
.
import (
"log"
"github.com/profclems/go-dotenv"
.
)
.
func main() {
// .env - It will search for the .env file in the current
directory and load it. // You can explicitly set config file with
dotenv.SetConfigFile("path/to/file.env") err := dotenv.LoadConfig()
if err != nil {
log.Fatalf("Error loading .env file: %v", err)
}
.
s3Bucket := dotenv.GetString("S3BUCKET")
secretKey := dotenv.GetString("SECRETKEY") priorityLevel :=
dotenv.GetInt("PRIORITY_LEVEL")
.
// now do something with s3 or whatever } ``` Writing .env files ```go
import (
"fmt" "github.com/profclems/go-dotenv" "log"
)
.
func main() {
// SetConfigFile explicitly defines the path, name and extension
of the config file. dotenv.SetConfigFile("config/.env")
dotenv.LoadConfig()
dotenv.Set("STRONGEST_AVENGER", "Hulk") dotenv.Set("PLAYER_NAME", "Anon")
.
err := dotenv.Save() if err != nil {
log.Fatal(err)
}
.
value := dotenv.GetString("STRONGEST_AVENGER") fmt.Printf("%s = %s \n",
"STRONGEST_AVENGER", value)
.
value = dotenv.GetString("PLAYER_NAME") fmt.Printf("%s = %s \n",
"PLAYER_NAME", value)
.
}
.
```
.
All the above examples use the global DotEnv instance. You can instantiate
a new Dotenv instance:
.
```go cfg := dotenv.Init() // This will create a Dotenv instance using
.env from the current dir
.
or
.
cfg := dotenv.Init("path/to/.env") cfg.LoadConfig()
.
val := cfg.GetString("SOME_ENV") ``` Getting Values From DotEnv
The following functions and methods exist to get a value depending
the Type: • Get(key string) : interface{}• GetBool(key string)
: bool• GetFloat64(key string) : float64• GetInt(key string)
: int• GetIntSlice(key string) : []int• GetString(key string)
: string• GetStringMap(key string) : map[string]interface{}•
GetStringMapString(key string) : map[string]string• GetStringSlice(key
string) : []string• GetTime(key string) : time.Time• GetDuration(key
string) : time.Duration• isSet(key string) : bool• LookUp(key string)
: (interface, bool)Contributing Contributions are most welcome! It could
be a new feature, bug fix, refactoring or even reporting an issue. •
Fork it• Create your feature branch (git checkout -b my-new-feature)•
Commit your changes (git commit -am 'Added some feature')• Push to the
branch (git push origin my-new-feature)• Create new Pull RequestLicense
Copyright © Clement Sam (http://twitter.com/clems_dev)
.
glab is open-sourced software licensed under the MIT (LICENSE) license.
TODO: perhaps reasoning
--- End Message ---
--- Begin Message ---
X-CrossAssassin-Score: 20659
--- End Message ---