grokify/mogo

View on GitHub
examples/uptime/uptime.go

Summary

Maintainability
A
0 mins
Test Coverage
package main

import (
    "fmt"
    "time"

    "github.com/grokify/mogo/fmt/fmtutil"
    "github.com/grokify/mogo/time/timeutil"
)

func getIncident(t0s, t1s, format string, durRange time.Duration, impactNum, totalNum int) {
    durPct := timeutil.DurationPct{DurationRange: durRange}
    t0, err := time.Parse(format, t0s)
    if err != nil {
        panic(err)
    }
    t1, err := time.Parse(format, t1s)
    if err != nil {
        panic(err)
    }
    durPct.DurationStartTime = t0
    durPct.DurationEndTime = t1

    fmt.Println(durPct.DurationRange.String())

    impPct := timeutil.ImpactPct{
        ImpactNum: impactNum,
        TotalNum:  totalNum}

    inc := timeutil.Event{
        DurationPct: durPct,
        ImpactPct:   impPct}
    err = inc.Inflate()
    if err != nil {
        panic(err)
    }

    fmtutil.PrintJSON(inc)

}

func main() {
    dt, err := time.Parse(time.RFC3339, "2017-08-08T00:00:00Z")
    if err != nil {
        panic(err)
    }
    rangeDur := timeutil.NewTimeMore(dt, 0).QuarterDuration()
    fmt.Println(rangeDur.String())

    getIncident(
        "2017-09-04T09:15:00-0700",
        "2017-09-05T12:11:04-0600",
        timeutil.ISO8601, rangeDur, 140, 6577)

    getIncident(
        "2017-09-29T17:09:00Z",
        "2017-10-02T07:02:00Z",
        time.RFC3339, rangeDur, 180, 6577)

    fmt.Println("DONE")
}

/*
func getInc1(t0, t1 string, format string, rangeDur time.Duration, impactNum int) (timeutil.Incident, error) {
    t10, err := time.Parse(format, t0)
    if err != nil {
        return timeutil.Incident{}, err
    }
    t11, err := time.Parse(format, t1)
    if err != nil {
        return timeutil.Incident{}, err
    }
    inc1 := timeutil.Incident{
        StartTime:     t10,
        EndTime:       t11,
        ImpactNum:     impactNum,
        TotalNum:      6577,
        RangeDuration: rangeDur,
    }

    err = inc1.Inflate()
    if err != nil {
        return timeutil.Incident{}, err
    }

    return inc1, nil
}

func main() {
    dt, err := time.Parse(time.RFC3339, "2017-08-08T00:00:00Z")
    if err != nil {
        panic(err)
    }
    rangeDur, err := timeutil.QuarterDuration(dt)
    if err != nil {
        panic(err)
    }
    fmt.Println(rangeDur.String())

    inc1, err := getInc1(
        "2017-09-04T09:15:00-0700",
        "2017-09-05T12:11:04-0600",
        timeutil.ISO8601Z4, rangeDur, 142)
    if err != nil {
        panic(err)
    }
    fmtutil.PrintJSON(inc1)
    fmt.Println(inc1.Duration.String())

    inc2, err := getInc1(
        "2017-09-29T17:09:00Z",
        "2017-10-02T07:02:00Z",
        time.RFC3339, rangeDur, 180)
    if err != nil {
        panic(err)
    }
    fmtutil.PrintJSON(inc2)
    fmt.Println(inc2.Duration.String())

    fmt.Println("DONE")
}

*/