Skip to content

Commit

Permalink
BCDA-2384 Feature: Updated regex for cclf zip files (#426)
Browse files Browse the repository at this point in the history
* Updated regex for cclf zip files

* modified regex
  • Loading branch information
tbellj authored Nov 27, 2019
1 parent 4e57c84 commit 3f10adc
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
2 changes: 1 addition & 1 deletion bcda/cclf/cclf.go
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ func importCCLF(fileMetadata *cclfFileMetadata, importFunc func(uint, []byte, *g
func getCCLFArchiveMetadata(filePath string) (cclfFileMetadata, error) {
var metadata cclfFileMetadata
// CCLF filename convention for SSP with BCD identifier: P.BCD.ACO.ZC0Yyy.Dyymmdd.Thhmmsst (timestamp will include the ACO ID value)
filenameRegexp := regexp.MustCompile(`(T|P)\.BCD\.ACO\.ZC(0|8)Y(\d{2})\.(D\d{6})\.T(\d{4})\d{3}`)
filenameRegexp := regexp.MustCompile(`(T|P)\.BCD\.ACOB?\.ZC(0|8)Y(\d{2})\.(D\d{6})\.T(\d{4})\d{3}`)
filenameMatches := filenameRegexp.FindStringSubmatch(filePath)
if len(filenameMatches) < 5 {
fmt.Printf("Invalid zipped filename for file: %s.\n", filePath)
Expand Down
14 changes: 13 additions & 1 deletion bcda/cclf/cclf_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,18 @@ func (s *CCLFTestSuite) TestGetCCLFArchiveMetadata() {
assert.Equal(18, metadata.perfYear)
assert.Nil(err)

//CMS EFT file format with ACOB identifier
metadata, err = getCCLFArchiveMetadata("/BCD/T.BCD.ACOB.ZC0Y18.D181120.T0001000")
expDate, _ = time.Parse("2006-01-02", "2018-11-20")
assert.Equal("test", metadata.env)
assert.Equal("A0001", metadata.acoID)
assert.Equal(0, metadata.cclfNum)
assert.Equal(expDate.Year(), metadata.timestamp.Year())
assert.Equal(expDate.Month(), metadata.timestamp.Month())
assert.Equal(expDate.Day(), metadata.timestamp.Day())
assert.Equal(18, metadata.perfYear)
assert.Nil(err)

metadata, err = getCCLFArchiveMetadata("/BCD/T.BCD.ACO.ZC8Y18.D190112.T0012000")
expDate, _ = time.Parse("2006-01-02", "2019-01-12")
assert.Equal("test", metadata.env)
Expand Down Expand Up @@ -377,7 +389,7 @@ func (s *CCLFTestSuite) TestSortCCLFArchives() {
filePath := BASE_FILE_PATH + "cclf/archives/valid/"
err := filepath.Walk(filePath, sortCCLFArchives(&cclfmap, &skipped))
assert.Nil(err)
assert.Equal(2, len(cclfmap["A0001"][18]))
assert.Equal(3, len(cclfmap["A0001"][18]))
assert.Equal(1, skipped)
testUtils.ResetFiles(s.Suite, filePath)

Expand Down
Binary file not shown.

0 comments on commit 3f10adc

Please sign in to comment.