Skip to content
Snippets Groups Projects
Select Git revision
  • 7ed279026166a88701dd702b90b15e33102d197a
  • main default protected
2 results

connect_new_input.py

Blame
  • Forked from Ockenden, Samuel / CiS Projekt
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    set_suffix.go 1.13 KiB
    // a utility
    package mc_work
    
    import (
    	"errors"
    	"path/filepath"
    )
    
    // setSuffix takes a name and makes sure the desired suffix is at the end
    // of the filename.
    func setSuffix(fname, suffix string) (string, error) {
    	if len(fname) == 0 {
    		return "", errors.New("setSuffix given empty fname")
    	}
    	if suffix == "" { // no suffix might not be an error. Just
    		if fname[len(fname)-1] == '.' { // remove any trailing dot
    			fname = fname[0 : len(fname)-1]
    		}
    		if len(fname) > 0 {
    			return fname, nil
    		}
    		return "", errors.New("setSuffix got empty filename")
    	}
    
    	if suffix[0] != '.' {
    		suffix = "." + suffix
    	}
    	oldExt := filepath.Ext(fname)
    	switch oldExt {
    	case suffix:
    		return fname, nil
    	case "":
    		return fname + suffix, nil
    	default:
    		return fname[0:len(fname)-len(oldExt)] + suffix, nil
    	}
    }
    
    // removeQuotes removes leading and trailing quotes from a string.
    // We do not check for single, unmatched quotes. If you want a file
    // called "fname you should use some other program.
    func removeQuotes (s string) string {
    	for ; len(s) > 0 && s[0] == '"'  ;{
    		s = s[1:]
    	}
    	for ; len(s) > 0 && s[len(s)-1] == '"' ; {
    		s = s[:len(s)-1]
    	}
    	return s
    }