Compare commits
No commits in common. "main" and "1.0.11" have entirely different histories.
@ -1 +0,0 @@
|
|||||||
nim 1.6.20
|
|
@ -22,18 +22,10 @@ const ISO_TIME_FORMAT* = "yyyy-MM-dd'T'HH:mm:ss"
|
|||||||
## The canonical time format used by PTK.
|
## The canonical time format used by PTK.
|
||||||
|
|
||||||
const TIME_FORMATS* = @[
|
const TIME_FORMATS* = @[
|
||||||
(fmtStr: "yyyy-MM-dd'T'HH:mm:sszzz", offsetFrom: OffsetFrom.None),
|
|
||||||
(fmtStr: "yyyy-MM-dd HH:mm:sszzz", offsetFrom: OffsetFrom.None),
|
|
||||||
(fmtStr: "yyyy-MM-dd'T'HH:mm:sszz", offsetFrom: OffsetFrom.None),
|
|
||||||
(fmtStr: "yyyy-MM-dd HH:mm:sszz", offsetFrom: OffsetFrom.None),
|
|
||||||
(fmtStr: "yyyy-MM-dd'T'HH:mm:ssz", offsetFrom: OffsetFrom.None),
|
|
||||||
(fmtStr: "yyyy-MM-dd HH:mm:ssz", offsetFrom: OffsetFrom.None),
|
|
||||||
(fmtStr: "yyyy-MM-dd'T'HH:mm:ss", offsetFrom: OffsetFrom.None),
|
(fmtStr: "yyyy-MM-dd'T'HH:mm:ss", offsetFrom: OffsetFrom.None),
|
||||||
(fmtStr: "yyyy-MM-dd HH:mm:ss", offsetFrom: OffsetFrom.None),
|
(fmtStr: "yyyy-MM-dd HH:mm:ss", offsetFrom: OffsetFrom.None),
|
||||||
(fmtStr: "yyyy-MM-dd'T'HH:mm", offsetFrom: OffsetFrom.None),
|
(fmtStr: "yyyy-MM-dd'T'HH:mm", offsetFrom: OffsetFrom.None),
|
||||||
(fmtStr: "yyyy-MM-dd HH:mm", offsetFrom: OffsetFrom.None),
|
(fmtStr: "yyyy-MM-dd HH:mm", offsetFrom: OffsetFrom.None),
|
||||||
(fmtStr: "yyyy-MM-dd", offsetFrom: OffsetFrom.None),
|
|
||||||
(fmtStr: "yyyy-MM", offsetFrom: OffsetFrom.None),
|
|
||||||
(fmtStr: "MM-dd'T'HH:mm:ss", offsetFrom: OffsetFrom.Year),
|
(fmtStr: "MM-dd'T'HH:mm:ss", offsetFrom: OffsetFrom.Year),
|
||||||
(fmtStr: "MM-dd HH:mm:ss", offsetFrom: OffsetFrom.Year),
|
(fmtStr: "MM-dd HH:mm:ss", offsetFrom: OffsetFrom.Year),
|
||||||
(fmtStr: "MM-dd'T'HH:mm", offsetFrom: OffsetFrom.Year),
|
(fmtStr: "MM-dd'T'HH:mm", offsetFrom: OffsetFrom.Year),
|
||||||
@ -56,16 +48,15 @@ proc getIfExists*(n: JsonNode, key: string): JsonNode =
|
|||||||
|
|
||||||
proc parseTime*(timeStr: string): DateTime =
|
proc parseTime*(timeStr: string): DateTime =
|
||||||
## Helper to parse time strings trying multiple known formats.
|
## Helper to parse time strings trying multiple known formats.
|
||||||
let now = now()
|
|
||||||
|
|
||||||
for fmt in TIME_FORMATS:
|
for fmt in TIME_FORMATS:
|
||||||
try:
|
try:
|
||||||
|
let now = now()
|
||||||
let parsed = parse(timeStr, fmt.fmtStr)
|
let parsed = parse(timeStr, fmt.fmtStr)
|
||||||
case fmt.offsetFrom:
|
case fmt.offsetFrom:
|
||||||
of OffsetFrom.None:
|
of OffsetFrom.None:
|
||||||
return parsed
|
return parsed
|
||||||
of OffsetFrom.Year:
|
of OffsetFrom.Year:
|
||||||
return dateTime(now.year, parsed.month, parsed.monthday,
|
return initDateTime(parsed.monthday, parsed.month, now.year,
|
||||||
parsed.hour, parsed.minute, parsed.second, parsed.nanosecond,
|
parsed.hour, parsed.minute, parsed.second, parsed.nanosecond,
|
||||||
now.timezone)
|
now.timezone)
|
||||||
of OffsetFrom.Month:
|
of OffsetFrom.Month:
|
||||||
|
@ -1 +1 @@
|
|||||||
const PTK_VERSION* = "1.0.14"
|
const PTK_VERSION* = "1.0.11"
|
24
ptk.nim
24
ptk.nim
@ -307,21 +307,27 @@ Options:
|
|||||||
quit()
|
quit()
|
||||||
|
|
||||||
# Find and parse the .ptkrc file
|
# Find and parse the .ptkrc file
|
||||||
let ptkrcLocations =
|
let ptkrcLocations = @[
|
||||||
if args["--config"]: @[$args["--config"]]
|
if args["--config"]: $args["--config"] else:"",
|
||||||
else: @[".ptkrc", $getEnv("PTKRC"), $getEnv("HOME") & "/.ptkrc"]
|
".ptkrc", $getEnv("PTKRC"), $getEnv("HOME") & "/.ptkrc"]
|
||||||
|
|
||||||
let foundPtkrcLocations =
|
var ptkrcFilename: string =
|
||||||
ptkrcLocations.filterIt(it.len > 0 and fileExists(it))
|
foldl(ptkrcLocations, if len(a) > 0: a elif fileExists(b): b else: "")
|
||||||
|
|
||||||
var cfg: JsonNode
|
var cfg: JsonNode
|
||||||
if foundPtkrcLocations.len < 1:
|
var cfgFile: File
|
||||||
|
if not fileExists(ptkrcFilename):
|
||||||
warn "ptk: could not find .ptkrc file."
|
warn "ptk: could not find .ptkrc file."
|
||||||
debug "ptk: considered the following locations:\n\t" & ptkrcLocations.join("\n\t")
|
ptkrcFilename = $getEnv("HOME") & "/.ptkrc"
|
||||||
|
try:
|
||||||
|
cfgFile = open(ptkrcFilename, fmWrite)
|
||||||
|
cfgFile.write("{\"timelineLogFile\": \"timeline.log.json\"}")
|
||||||
|
except: warn "ptk: could not write default .ptkrc to " & ptkrcFilename
|
||||||
|
finally: close(cfgFile)
|
||||||
|
|
||||||
try: cfg = parseFile(foundPtkrcLocations[0])
|
try: cfg = parseFile(ptkrcFilename)
|
||||||
except: raise newException(IOError,
|
except: raise newException(IOError,
|
||||||
"unable to read config file: " & foundPtkrcLocations[0] &
|
"unable to read config file: " & ptkrcFilename &
|
||||||
"\x0D\x0A" & getCurrentExceptionMsg())
|
"\x0D\x0A" & getCurrentExceptionMsg())
|
||||||
|
|
||||||
# Find the time log file
|
# Find the time log file
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Package
|
# Package
|
||||||
|
|
||||||
version = "1.0.14"
|
version = "1.0.11"
|
||||||
author = "Jonathan Bernard"
|
author = "Jonathan Bernard"
|
||||||
description = "Personal Time Keeper"
|
description = "Personal Time Keeper"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user