squeeze69 / generacodicefiscale

Generazione Codice Fiscale formato Italiano
GNU Lesser General Public License v3.0
1 stars 0 forks source link
codicefiscale golang golang-package

Generazione codice fiscale in GO

package: github.com/squeeze69/generacodicefiscale

Disponibile come modulo

--- NON si danno garanzie ---

dipende dal package codicefiscale

Uso:

package main

import (
    "github.com/squeeze69/generacodicefiscale"
    "fmt"
    "log"
)

func main() {
    codicecitta,erc := generacodicefiscale.CercaComune("Milano")
    if erc != nil {
        log.Fatal(erc)
    }
    fmt.Println(codicecitta)
    cf,erg := generacodicefiscale.Genera("Cognome","Nome","M",codicecitta.Codice,"2017-05-1")
    if erg != nil {
        log.Fatal(erg)
    }
    fmt.Println(cf)
}

Note:

//leggiCSVinZIP : legge il primo csv contenuto in uno zip file scaricato al volo in memoria
func leggiCSVinZIP(url string) (data []byte, err error) {

    r, er := http.Get(url)
    if er != nil {
        log.Fatal(er)
    }
    defer r.Body.Close()
    tutto, er := io.ReadAll(r.Body)
    if er != nil {
        log.Fatal(er)
    }
    zipR, er := zip.NewReader(bytes.NewReader(tutto), int64(len(tutto)))
    if er != nil {
        log.Fatal(er)
    }

    // cerca il CSV
    for _, zipf := range zipR.File {
        if strings.Contains(strings.ToLower(zipf.Name), ".csv") {
            zf, er := zipf.Open()
            if er != nil {
                log.Fatal(er)
            }
            defer zf.Close()
            return io.ReadAll(zf)
        }
    }
    return nil, errors.New("non è stato trovato niente")
}