Интеграция программного обеспечения Sitemap в компрессор gzip - PullRequest
2 голосов
/ 06 февраля 2020

Я пытаюсь интегрировать компрессор gzip в программное обеспечение карты сайта, но не могу его интегрировать, поскольку не могу найти, где именно генерируются файлы XML и где находится целевое местоположение после сжатия gzip.

func BuildAllSitemapsForDomain(host string, domain Domain, db *sql.DB, buildChildren int) (string, error) {

    fname := domain.Protocol + "-sitemap_index.xml"
    lname := domain.Protocol + "-latest.xml"
    log.Println("domain folder", domain.Folder)
    indexTargetLocation := domain.Folder + fname
    indexURLLocation := domain.Protocol + "://" + domain.Name + "/" + fname
    if useLocal == "1" {
        indexURLLocation = domain.Protocol + "://" + domain.Name + "/sitemap/" + fname // add sitemap to end of url
    }
    indexURLLatestLocation := domain.Protocol + "://" + domain.Name + "/" + lname
    var index Writable
    index, err := FileCreate(indexTargetLocation)

    if buildChildren == DONTBUILD {
        // This means we should return instead of writing on disk.
        index = BufferCreate()

    }
    //defer f.Close()
    if err != nil {
        log.Println("Unable to create" + indexTargetLocation)
        //return "Cannot create temp_index.xml file"
        return "", err
    }
func main() {
    indexTargetLocation, err := ioutil.ReadFile("*.xml")
    if err != nil {
        log.Fatal(err)
    }

    file, err := os.Create("new.gz")
    if err != nil {
        log.Fatal(err)
    }

    err = gzipWrite(file,indexTargetLocation )
    if err != nil {
        log.Fatal(err)
    }


...