Fixup loader_csv to load call_url actions

This commit is contained in:
DanB
2013-12-03 11:24:50 +01:00
parent 2ffaf09ea1
commit f1e4b57b2c
2 changed files with 25 additions and 7 deletions

View File

@@ -492,11 +492,19 @@ func (cd *CallDescriptor) Debit() (cc *CallCost, err error) {
} else if userBalance == nil {
// Logger.Debug(fmt.Sprintf("<Rater> No user balance defined: %v", cd.GetUserBalanceKey()))
} else {
// Logger.Debug(fmt.Sprintf("<Rater> Attempting to debit from %v, value: %v", cd.GetUserBalanceKey(), cc.Cost+cc.ConnectFee))
Logger.Debug(fmt.Sprintf("<Rater> Attempting to debit from %v, value: %v", cd.GetUserBalanceKey(), cc.Cost+cc.ConnectFee))
defer storageGetter.SetUserBalance(userBalance)
Logger.Debug(fmt.Sprintf("<Rater> Balance before debit: %v", userBalance))
for _, blnc := range userBalance.BalanceMap["*monetary*out"] {
Logger.Debug(fmt.Sprintf("Balance: %v", blnc))
}
if cc.Cost != 0 || cc.ConnectFee != 0 {
userBalance.debitCreditBalance(cc, true)
}
Logger.Debug(fmt.Sprintf("<Rater> Balance after debit: %v", userBalance))
for _, blnc := range userBalance.BalanceMap["*monetary*out"] {
Logger.Debug(fmt.Sprintf("Balance: %v", blnc))
}
}
return
}

View File

@@ -392,13 +392,23 @@ func (csvr *CSVReader) LoadActions() (err error) {
}
for record, err := csvReader.Read(); err == nil; record, err = csvReader.Read() {
tag := record[0]
units, err := strconv.ParseFloat(record[4], 64)
if err != nil {
return errors.New(fmt.Sprintf("Could not parse action units: %v", err))
var units float64
if len(record[4]) == 0 { // Not defined
units = 0.0
} else {
units, err = strconv.ParseFloat(record[4], 64)
if err != nil {
return errors.New(fmt.Sprintf("Could not parse action units: %v", err))
}
}
balanceWeight, err := strconv.ParseFloat(record[8], 64)
if err != nil {
return errors.New(fmt.Sprintf("Could not parse action balance weight: %v", err))
var balanceWeight float64
if len(record[8]) == 0 { // Not defined
balanceWeight = 0.0
} else {
balanceWeight, err = strconv.ParseFloat(record[8], 64)
if err != nil {
return errors.New(fmt.Sprintf("Could not parse action balance weight: %v", err))
}
}
weight, err := strconv.ParseFloat(record[10], 64)
if err != nil {