MCPcopy Create free account
hub / github.com/aptly-dev/aptly / WriteTo

Method WriteTo

deb/format.go:166–208  ·  view source on GitHub ↗

WriteTo saves stanza back to stream, modifying itself on the fly

(w *bufio.Writer, isSource, isRelease, isInstaller bool)

Source from the content-addressed store, hash-verified

164
165// WriteTo saves stanza back to stream, modifying itself on the fly
166func (s Stanza) WriteTo(w *bufio.Writer, isSource, isRelease, isInstaller bool) error {
167 canonicalOrder := canonicalOrderBinary
168 if isSource {
169 canonicalOrder = canonicalOrderSource
170 }
171 if isRelease {
172 canonicalOrder = canonicalOrderRelease
173 }
174 if isInstaller {
175 canonicalOrder = canonicalOrderInstaller
176 }
177
178 for _, field := range canonicalOrder {
179 value, ok := s[field]
180 if ok {
181 delete(s, field)
182 err := writeField(w, field, value, isRelease)
183 if err != nil {
184 return err
185 }
186 }
187 }
188
189 // no extra fields in installer
190 if !isInstaller {
191 // Print extra fields in deterministic order (alphabetical)
192 keys := make([]string, len(s))
193 i := 0
194 for field := range s {
195 keys[i] = field
196 i++
197 }
198 sort.Strings(keys)
199 for _, field := range keys {
200 err := writeField(w, field, s[field], isRelease)
201 if err != nil {
202 return err
203 }
204 }
205 }
206
207 return nil
208}
209
210// Parsing errors
211var (

Callers 5

TestReadWriteStanzaMethod · 0.45
PublishMethod · 0.45
aptlyPackageShowFunction · 0.45

Calls 2

writeFieldFunction · 0.85
StringsMethod · 0.45

Tested by 3

TestReadWriteStanzaMethod · 0.36