MCPcopy Create free account
hub / github.com/imgproxy/imgproxy / stripPS3

Function stripPS3

processing/strip_metadata.go:13–48  ·  view source on GitHub ↗
(img *vips.Image)

Source from the content-addressed store, hash-verified

11)
12
13func stripPS3(img *vips.Image) []byte {
14 ps3Data, err := img.GetBlob("iptc-data")
15 if err != nil || len(ps3Data) == 0 {
16 return nil
17 }
18
19 ps3Map := make(photoshop.PhotoshopMap)
20 photoshop.Parse(ps3Data, ps3Map)
21
22 iptcData, found := ps3Map[photoshop.IptcKey]
23 if !found {
24 return nil
25 }
26
27 iptcMap := make(iptc.IptcMap)
28 err = iptc.Parse(iptcData, iptcMap)
29 if err != nil {
30 return nil
31 }
32
33 for key := range iptcMap {
34 if key.RecordID == 2 && key.TagID != 80 && key.TagID != 110 && key.TagID != 116 {
35 delete(iptcMap, key)
36 }
37 }
38
39 if len(iptcMap) == 0 {
40 return nil
41 }
42
43 ps3Map = photoshop.PhotoshopMap{
44 photoshop.IptcKey: iptcMap.Dump(),
45 }
46
47 return ps3Map.Dump()
48}
49
50func stripXMP(img *vips.Image) []byte {
51 xmpData, err := img.GetBlob("xmp-data")

Callers 1

stripMetadataMethod · 0.85

Calls 4

ParseFunction · 0.92
ParseFunction · 0.92
GetBlobMethod · 0.80
DumpMethod · 0.45

Tested by

no test coverage detected