From bf1b685839d2b35f1859bc1e3e8c56c2e0bbf863 Mon Sep 17 00:00:00 2001
From: Anton Tetov <anton@tetov.se>
Date: Tue, 14 Jun 2022 17:07:51 +0200
Subject: [PATCH] tweaks, formatting and pathlib

---
 src/farmbot_yolo/download.py      | 15 +++++++++------
 src/farmbot_yolo/request_token.py | 25 +++++++++++++++----------
 2 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/src/farmbot_yolo/download.py b/src/farmbot_yolo/download.py
index cc13be7..28cec20 100644
--- a/src/farmbot_yolo/download.py
+++ b/src/farmbot_yolo/download.py
@@ -1,16 +1,14 @@
 """Download images from Farmbot instance."""
 import argparse
+import json
 import os
 from pathlib import Path
 from typing import List
-import json
 
 import requests
 
-from farmbot_yolo import creds
 from farmbot_yolo import TMPDIR
-
-
+from farmbot_yolo import creds
 
 IMG_FILE_SUFFIX = ".jpg"
 
@@ -50,7 +48,7 @@ def download_images(directory: os.PathLike, delete_after=False) -> List[str]:
     if len(json_response) < 1:
         return []
 
-    img_paths = []
+    created_files = []
 
     for img_dict in json_response:
         if "placehold.it" in img_dict["attachment_url"]:
@@ -89,7 +87,8 @@ def download_images(directory: os.PathLike, delete_after=False) -> List[str]:
             }
         }
 
-        with filepath.with_suffix(".json").open(mode="w") as fp:
+        metadata_filepath = filepath.with_suffix(".json")
+        with metadata_filepath.open(mode="w") as fp:
             json.dump(img_metadata_dict, fp)
 
         # post delete from cloud storage
@@ -99,6 +98,10 @@ def download_images(directory: os.PathLike, delete_after=False) -> List[str]:
                 headers=REQUEST_HEADERS,
             )
 
+        created_files.append((filepath, metadata_filepath))
+
+    return created_files
+
 
 if __name__ == "__main__":
     parser = argparse.ArgumentParser(description="Farmbot YOLO image downloader")
diff --git a/src/farmbot_yolo/request_token.py b/src/farmbot_yolo/request_token.py
index ef793f9..4c9e726 100644
--- a/src/farmbot_yolo/request_token.py
+++ b/src/farmbot_yolo/request_token.py
@@ -6,23 +6,28 @@ import argparse
 import json
 from urllib import request
 
+from farmbot_yolo import HERE
+
 parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
-parser.add_argument('--email', type=str, help="user email for token request")
-parser.add_argument('--password', type=str, help="user password for token request")
+parser.add_argument("--email", type=str, help="user email for token request")
+parser.add_argument("--password", type=str, help="user password for token request")
 opts = parser.parse_args()
 print("opts %s" % opts)
 
-auth_info = {'user': {'email': opts.email, 'password': opts.password }}
+auth_info = {"user": {"email": opts.email, "password": opts.password}}
 
-req = request.Request('https://my.farmbot.io/api/tokens')
-req.add_header('Content-Type', 'application/json')
-response = request.urlopen(req, data=json.dumps(auth_info).encode('utf-8'))
+req = request.Request("https://my.farmbot.io/api/tokens")
+req.add_header("Content-Type", "application/json")
+response = request.urlopen(req, data=json.dumps(auth_info).encode("utf-8"))
 
 token_info = json.loads(response.read().decode())
 
-print("mqtt host [%s]" % token_info['token']['unencoded']['mqtt'])
+print("mqtt host [%s]" % token_info["token"]["unencoded"]["mqtt"])
 
 print("rewriting creds.py")
-with open("creds.py", "w") as f:
-  f.write("device_id=\"%s\"\n" % token_info['token']['unencoded']['bot'])
-  f.write("token=\"%s\"\n" % token_info['token']['encoded'])
+
+creds_py_path = HERE / "creds.py"
+
+with creds_py_path.open(mode="w") as f:
+    f.write('device_id="%s"\n' % token_info["token"]["unencoded"]["bot"])
+    f.write('token="%s"\n' % token_info["token"]["encoded"])
-- 
GitLab