mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-12 02:26:26 +05:00
59 lines
1.7 KiB
Go
59 lines
1.7 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"github.com/simonz05/godis"
|
|
"github.com/fsouza/gokabinet/kc"
|
|
"github.com/rif/cgrates/timespans"
|
|
"time"
|
|
)
|
|
|
|
var (
|
|
storage = flag.String("storage", "kyoto", "kyoto | redis")
|
|
filename = flag.String("filename", "storage.kch", "kyoto storage file (storage.kch)")
|
|
redisserver = flag.String("server", "tcp:127.0.0.1:6379", "redis server address (tcp:127.0.0.1:6379)")
|
|
redisdb = flag.Int("db", 10, "redis database number (10)")
|
|
redispass = flag.String("pass", "", "redis database password")
|
|
)
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
|
|
t1 := time.Date(2012, time.January, 1, 0, 0, 0, 0, time.UTC)
|
|
cd1 := ×pans.CallDescriptor{CstmId: "vdf", Subject: "rif", DestinationPrefix: "0256"}
|
|
ap1 := ×pans.ActivationPeriod{ActivationTime: t1}
|
|
ap1.AddInterval(×pans.Interval{
|
|
WeekDays: []time.Weekday{time.Monday, time.Tuesday, time.Wednesday, time.Thursday, time.Friday},
|
|
EndTime: "18:00:00",
|
|
ConnectFee: 0,
|
|
Price: 0.2,
|
|
BillingUnit: 1.0})
|
|
ap1.AddInterval(×pans.Interval{
|
|
WeekDays: []time.Weekday{time.Monday, time.Tuesday, time.Wednesday, time.Thursday, time.Friday},
|
|
StartTime: "18:00:00",
|
|
ConnectFee: 0,
|
|
Price: 0.1,
|
|
BillingUnit: 1.0})
|
|
ap1.AddInterval(×pans.Interval{
|
|
WeekDays: []time.Weekday{time.Saturday, time.Sunday},
|
|
ConnectFee: 0,
|
|
Price: 0.1,
|
|
BillingUnit: 1.0})
|
|
cd1.AddActivationPeriod(ap1)
|
|
key := cd1.GetKey()
|
|
|
|
value := cd1.EncodeValues()
|
|
|
|
if *storage == "kyoto" {
|
|
db, _ := kc.Open(*filename, kc.WRITE)
|
|
db.Set(key, string(value))
|
|
db.Close()
|
|
} else {
|
|
db := godis.New(*redisserver, *redisdb, *redispass)
|
|
db.Set(key, string(value))
|
|
db.Quit()
|
|
}
|
|
fmt.Println("Done!")
|
|
}
|