MCPcopy Create free account
hub / github.com/brasilcep/api / loadLocalities

Method loadLocalities

zipcodes/zipcodes.go:186–227  ·  view source on GitHub ↗
(file string)

Source from the content-addressed store, hash-verified

184}
185
186func (i *ZipCodeImporter) loadLocalities(file string) error {
187 f, err := os.Open(file)
188 if err != nil {
189 return err
190 }
191 defer f.Close()
192
193 decoder := transform.NewReader(f, charmap.ISO8859_1.NewDecoder())
194 reader := csv.NewReader(decoder)
195 reader.Comma = '@'
196 reader.LazyQuotes = true
197
198 for {
199 record, err := reader.Read()
200 if err == io.EOF {
201 break
202 }
203 if err != nil {
204 continue
205 }
206 // 0 LOC_NU, 1 UFE_SG, 2 LOC_NO, 3 CEP, 4 LOC_IN_SIT, 5 LOC_IN_TIPO_LOC,
207 // 6 LOC_NU_SUB, 7 LOC_NO_ABREV, 8 MUN_NU
208 if len(record) < 9 {
209 continue
210 }
211 loc := &Localidade{
212 Codigo: strings.TrimSpace(record[0]),
213 UF: strings.TrimSpace(record[1]),
214 Nome: strings.TrimSpace(record[2]),
215 CEP: i.normalizeCEP(strings.TrimSpace(record[3])),
216 Situacao: strings.TrimSpace(record[4]),
217 TipoLocalidade: strings.TrimSpace(record[5]),
218 CodigoSub: strings.TrimSpace(record[6]),
219 NomeAbreviado: strings.TrimSpace(record[7]),
220 CodigoIBGE: strings.TrimSpace(record[8]),
221 }
222 if loc.Codigo != "" {
223 localities[loc.Codigo] = loc
224 }
225 }
226 return nil
227}
228
229func (i *ZipCodeImporter) loadDistricts(file string) error {
230 f, err := os.Open(file)

Callers 2

PopulateZipcodesMethod · 0.95
TestLoadLocalitiesFunction · 0.80

Calls 1

normalizeCEPMethod · 0.95

Tested by 1

TestLoadLocalitiesFunction · 0.64