summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndinus <andinus@nand.sh>2020-04-24 20:19:39 +0530
committerAndinus <andinus@nand.sh>2020-04-24 20:19:39 +0530
commit6edb082db54d48eb5ff6f5f6203c198ce3fd7a89 (patch)
tree9a43642679e6c54be9e0a08353f481a9f6fea907
parent76468d2f514677e2f3a490b6b493d32badfca986 (diff)
downloadcetus-6edb082db54d48eb5ff6f5f6203c198ce3fd7a89.tar.gz
Change APOD timezone to UTC - 8
Subtract 8 hours from UTC to ensure program doesn't fail. This still
doesn't mean anything, I've emailed them asking about timezone on
server but no response :(

The server returns "400 Bad Request" when you request future date, so
if I request 2020-04-25 on 2020-04-24 23:59 UTC it will return "400
Bad Request" but if I re-request it on 2020-04-25 00:04 UTC it returns
"500 Internal Server Error", I think the API server runs on UTC but
the program that is responsible for syncing the images is running on a
different timezone, which is why it returns "500 Internal Server
Error" instead of "400 Bad Request".

Hopefully this should work, it will work if the program responsible
for syncing images is in or before UTC-8.
-rw-r--r--parseargs.go25
1 files changed, 24 insertions, 1 deletions
diff --git a/parseargs.go b/parseargs.go
index d47d30d..a8b68a3 100644
--- a/parseargs.go
+++ b/parseargs.go
@@ -54,7 +54,30 @@ func parseArgs() {
 
 	switch os.Args[2] {
 	case "apod", "nasa":
-		defDate := time.Now().UTC().Format("2006-01-02")
+		defDate := time.Now().UTC().
+			// Subtract 8 hours from UTC to ensure program
+			// doesn't fail. This still doesn't mean
+			// anything, I've emailed them asking about
+			// timezone on server but no response :(
+			//
+			// The server returns "400 Bad Request" when
+			// you request future date, so if I request
+			// 2020-04-25 on 2020-04-24 23:59 UTC it will
+			// return "400 Bad Request" but if I
+			// re-request it on 2020-04-25 00:04 UTC it
+			// returns "500 Internal Server Error", I
+			// think the API server runs on UTC but the
+			// program that is responsible for syncing the
+			// images is running on a different timezone,
+			// which is why it returns "500 Internal
+			// Server Error" instead of "400 Bad Request".
+			//
+			// Hopefully this should work, it will work if
+			// the program responsible for syncing images
+			// is in or before UTC-8.
+			Add(time.Duration(-8) * time.Hour).
+			Format("2006-01-02")
+
 		cetus.StringVar(&apodDate, "date", defDate, "Date of NASA APOD to retrieve")
 		cetus.Parse(os.Args[3:])