X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=json.go;h=4cb295e840c5a7b153cb83890bc7be1ce4e13607;hb=cde8c8c45d508bf29d24365298f3c40c1729514c;hp=7ccb14287ab77cbddd63ba5631544918a7076e03;hpb=60834a0713d5dcc6a9911511cb8618ce7358c824;p=gocheese.git diff --git a/json.go b/json.go index 7ccb142..4cb295e 100644 --- a/json.go +++ b/json.go @@ -1,6 +1,6 @@ /* GoCheese -- Python private package repository and caching proxy -Copyright (C) 2019-2021 Sergey Matveev +Copyright (C) 2019-2022 Sergey Matveev This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,68 +30,68 @@ import ( "go.cypherpunks.ru/recfile" ) -func getMetadata(pkgName, version string) (*PkgMeta, []*PkgReleaseInfo, error) { +func getMD(pkgName, version string) (*PkgMeta, []*PkgReleaseInfo, error) { serial, releases, err := listDir(pkgName, true) if err != nil { return nil, nil, err } - metadata, err := ioutil.ReadFile(filepath.Join(*Root, pkgName, MetadataFile)) + md, err := ioutil.ReadFile(filepath.Join(Root, pkgName, MDFile)) if err != nil { if !os.IsNotExist(err) { return nil, nil, err } } info := PkgInfo{Name: pkgName} - if len(metadata) == 0 { + if len(md) == 0 { info.Version = releases[len(releases)-1].Version } else { - m, err := recfile.NewReader(bytes.NewReader(metadata)).NextMapWithSlice() + m, err := recfile.NewReader(bytes.NewReader(md)).NextMapWithSlice() if err != nil { return nil, nil, err } - if v, ok := m[metadataFieldToRecField(MetadataFieldVersion)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldVersion]]; ok { info.Version = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldSummary)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldSummary]]; ok { info.Summary = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldDescriptionContentType)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldDescriptionContentType]]; ok { info.DescriptionContentType = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldKeywords)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldKeywords]]; ok { info.Keywords = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldHomePage)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldHomePage]]; ok { info.HomePage = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldAuthor)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldAuthor]]; ok { info.Author = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldAuthorEmail)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldAuthorEmail]]; ok { info.AuthorEmail = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldMaintainer)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldMaintainer]]; ok { info.Maintainer = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldMaintainerEmail)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldMaintainerEmail]]; ok { info.MaintainerEmail = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldLicense)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldLicense]]; ok { info.License = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldRequiresPython)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldRequiresPython]]; ok { info.RequiresPython = v[0] } - if v, ok := m[metadataFieldToRecField(MetadataFieldDescription)]; ok { + if v, ok := m[MDFieldToRecField[MDFieldDescription]]; ok { info.Description = v[0] } - info.Classifier = m[metadataFieldToRecField(MetadataFieldClassifier)] - info.Platform = m[metadataFieldToRecField(MetadataFieldPlatform)] - info.SupportedPlatform = m[metadataFieldToRecField(MetadataFieldSupportedPlatform)] - info.RequiresDist = m[metadataFieldToRecField(MetadataFieldRequiresDist)] - info.RequiresExternal = m[metadataFieldToRecField(MetadataFieldRequiresExternal)] - info.ProjectURL = m[metadataFieldToRecField(MetadataFieldProjectURL)] - info.ProvidesExtra = m[metadataFieldToRecField(MetadataFieldProvidesExtra)] + info.Classifier = m[MDFieldToRecField[MDFieldClassifier]] + info.Platform = m[MDFieldToRecField[MDFieldPlatform]] + info.SupportedPlatform = m[MDFieldToRecField[MDFieldSupportedPlatform]] + info.RequiresDist = m[MDFieldToRecField[MDFieldRequiresDist]] + info.RequiresExternal = m[MDFieldToRecField[MDFieldRequiresExternal]] + info.ProjectURL = m[MDFieldToRecField[MDFieldProjectURL]] + info.ProvidesExtra = m[MDFieldToRecField[MDFieldProvidesExtra]] } meta := PkgMeta{ Info: info, @@ -126,7 +126,7 @@ func serveJSON(w http.ResponseWriter, r *http.Request) { } pkgName := parts[0] - meta, _, err := getMetadata(pkgName, version) + meta, _, err := getMD(pkgName, version) if err != nil { if os.IsNotExist(err) { http.NotFound(w, r)