From 99a9b2c9874deb27eded947d42ad991206af8ae1 Mon Sep 17 00:00:00 2001 From: DanB Date: Mon, 6 Jan 2014 12:09:51 +0100 Subject: [PATCH] Fixup cdrc to support freeswitch_csv type (ignore .files ending with .csv) --- cdrc/cdrc.go | 9 ++++++--- data/conf/cgrates.cfg | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cdrc/cdrc.go b/cdrc/cdrc.go index 6b2bb3933..d36e4fbd9 100644 --- a/cdrc/cdrc.go +++ b/cdrc/cdrc.go @@ -40,6 +40,7 @@ import ( const ( CSV = "csv" + FS_CSV = "freeswitch_csv" ) func NewCdrc(config *config.CGRConfig) (*Cdrc, error) { @@ -125,8 +126,10 @@ func (self *Cdrc) processCdrDir() error { engine.Logger.Info(fmt.Sprintf(" Parsing folder %s for CDR files.", self.cgrCfg.CdrcCdrInDir)) filesInDir, _ := ioutil.ReadDir(self.cgrCfg.CdrcCdrInDir) for _, file := range filesInDir { - if err := self.processFile(path.Join(self.cgrCfg.CdrcCdrInDir, file.Name())); err != nil { - return err + if self.cgrCfg.CdrcCdrType!=FS_CSV || path.Ext(file.Name())!=".csv" { + if err := self.processFile(path.Join(self.cgrCfg.CdrcCdrInDir, file.Name())); err != nil { + return err + } } } return nil @@ -147,7 +150,7 @@ func (self *Cdrc) trackCDRFiles() (err error) { for { select { case ev := <-watcher.Event: - if ev.IsCreate() { //&& path.Ext(ev.Name) != ".csv" + if ev.IsCreate() && (self.cgrCfg.CdrcCdrType!=FS_CSV || path.Ext(ev.Name)!=".csv") { if err = self.processFile(ev.Name); err != nil { return err } diff --git a/data/conf/cgrates.cfg b/data/conf/cgrates.cfg index 61bd81c86..d2724292f 100644 --- a/data/conf/cgrates.cfg +++ b/data/conf/cgrates.cfg @@ -60,7 +60,7 @@ # cdrs = 127.0.0.1:2022 # Address where to reach CDR server # cdrs_method = http_cgr # Mechanism to use when posting CDRs on server # run_delay = 0 # Sleep interval in seconds between consecutive runs, 0 to use automation via inotify -# cdr_type = csv # CDR file format . +# cdr_type = csv # CDR file format . # cdr_in_dir = /var/log/cgrates/cdr/in/csv # Absolute path towards the directory where the CDRs are stored. # cdr_out_dir = /var/log/cgrates/cdr/out/csv # Absolute path towards the directory where processed CDRs will be moved. # cdr_source_id = freeswitch_csv # Free form field, tag identifying the source of the CDRs within CGRS database.