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