github.com/tompreston/snapd@v0.0.0-20210817193607-954edfcb9611/snap/errors.go (about) 1 // -*- Mode: Go; indent-tabs-mode: t -*- 2 3 /* 4 * Copyright (C) 2014-2016 Canonical Ltd 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 3 as 8 * published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 package snap 21 22 import "fmt" 23 24 type AlreadyInstalledError struct { 25 Snap string 26 } 27 28 func (e AlreadyInstalledError) Error() string { 29 return fmt.Sprintf("snap %q is already installed", e.Snap) 30 } 31 32 type NotInstalledError struct { 33 Snap string 34 Rev Revision 35 } 36 37 func (e NotInstalledError) Error() string { 38 if e.Rev.Unset() { 39 return fmt.Sprintf("snap %q is not installed", e.Snap) 40 } 41 return fmt.Sprintf("revision %s of snap %q is not installed", e.Rev, e.Snap) 42 } 43 44 type NotSnapError struct { 45 Path string 46 } 47 48 func (e NotSnapError) Error() string { 49 return fmt.Sprintf("%q is not a snap or snapdir", e.Path) 50 }