mirror of https://github.com/perkeep/perkeep.git
index: unreverse time
Change-Id: I1ae6a0c0695e0dfa6626999879dfbb9a05c787df
This commit is contained in:
parent
5ea8cf8d26
commit
7ffb3fb66c
|
@ -21,9 +21,14 @@ import (
|
|||
)
|
||||
|
||||
func TestReverseTimeString(t *testing.T) {
|
||||
got := reverseTimeString("2011-11-27T01:23:45Z")
|
||||
in := "2011-11-27T01:23:45Z"
|
||||
got := reverseTimeString(in)
|
||||
want := "rt7988-88-72T98:76:54Z"
|
||||
if got != want {
|
||||
t.Errorf("reverseTimeString = %q, want %q", got, want)
|
||||
t.Fatalf("reverseTimeString = %q, want %q", got, want)
|
||||
}
|
||||
back := unreverseTimeString(got)
|
||||
if back != in {
|
||||
t.Fatalf("unreverseTimeString = %q, want %q", back, in)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,12 +16,29 @@ limitations under the License.
|
|||
|
||||
package index
|
||||
|
||||
import ()
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func unreverseTimeString(s string) string {
|
||||
if !strings.HasPrefix(s, "rt") {
|
||||
panic(fmt.Sprintf("can't unreverse time string: %q", s))
|
||||
}
|
||||
b := make([]byte, 0, len(s)-2)
|
||||
b = appendReverseString(b, s[2:])
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func reverseTimeString(s string) string {
|
||||
b := make([]byte, 0, len(s)+2)
|
||||
b = append(b, 'r')
|
||||
b = append(b, 't')
|
||||
b = appendReverseString(b, s)
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func appendReverseString(b []byte, s string) []byte {
|
||||
for i := 0; i < len(s); i++ {
|
||||
c := s[i]
|
||||
if c >= '0' && c <= '9' {
|
||||
|
@ -30,5 +47,7 @@ func reverseTimeString(s string) string {
|
|||
b = append(b, c)
|
||||
}
|
||||
}
|
||||
return string(b)
|
||||
return b
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue