diff --git a/in-class-project/api.py b/in-class-project/api.py deleted file mode 100644 index ae668f8..0000000 --- a/in-class-project/api.py +++ /dev/null @@ -1,23 +0,0 @@ -import sys -import requests - - -def make_api_call(currency): - - """make api call and get the latest conversion rate - return: dict - currency info - """ - - try: - res = requests.get(f'https://v6.exchangerate-api.com/v6/daa01c089871655d0660d4c8/latest/{currency}') - if res.status_code >= 400: - raise requests.exceptions.HTTPError("Unsupported currency, please make sure to type your currency correctly.") - - except requests.exceptions.HTTPError as exc: - print(exc) - sys.exit() - - else: - result_obj = res.json() - return result_obj - diff --git a/in-class-project/utils.py b/in-class-project/get_user.py similarity index 100% rename from in-class-project/utils.py rename to in-class-project/get_user.py diff --git a/in-class-project/main.py b/in-class-project/main.py deleted file mode 100644 index d0c2bae..0000000 --- a/in-class-project/main.py +++ /dev/null @@ -1,12 +0,0 @@ -from get_currency import get_currency -from api import make_api_call -from cleanup import clean_result -from save_to_file import save_file - - - - -curr = get_currency() -result_dct = make_api_call(currency=curr) -clean_dct = clean_result(dct=result_dct) -save_file(obj=clean_dct) diff --git a/main.py b/main.py new file mode 100644 index 0000000..6d41c00 --- /dev/null +++ b/main.py @@ -0,0 +1,5 @@ +from utils import clean_result, make_api_call, create_file + +result_lst = make_api_call() +clean_lst = clean_result(result_lst) +create_file(clean_lst) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..94b56f0 Binary files /dev/null and b/requirements.txt differ diff --git a/users_,10102022161852.json b/users_,10102022161852.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_,10102022161852.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022161929.json b/users_10102022161929.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022161929.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022162829.json b/users_10102022162829.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022162829.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022163905.json b/users_10102022163905.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022163905.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022164016.json b/users_10102022164016.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022164016.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022164118.json b/users_10102022164118.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022164118.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022164208.json b/users_10102022164208.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022164208.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022164259.json b/users_10102022164259.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022164259.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022164437.json b/users_10102022164437.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022164437.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/users_10102022165632.json b/users_10102022165632.json new file mode 100644 index 0000000..44bc77b --- /dev/null +++ b/users_10102022165632.json @@ -0,0 +1 @@ +[1, "Leanne Graham", "Bret", "Sincere@april.biz", 2, "Ervin Howell", "Antonette", "Shanna@melissa.tv", 3, "Clementine Bauch", "Samantha", "Nathan@yesenia.net", 4, "Patricia Lebsack", "Karianne", "Julianne.OConner@kory.org", 5, "Chelsey Dietrich", "Kamren", "Lucio_Hettinger@annie.ca", 6, "Mrs. Dennis Schulist", "Leopoldo_Corkery", "Karley_Dach@jasper.info", 7, "Kurtis Weissnat", "Elwyn.Skiles", "Telly.Hoeger@billy.biz", 8, "Nicholas Runolfsdottir V", "Maxime_Nienow", "Sherwood@rosamond.me", 9, "Glenna Reichert", "Delphine", "Chaim_McDermott@dana.io", 10, "Clementina DuBuque", "Moriah.Stanton", "Rey.Padberg@karina.biz"] \ No newline at end of file diff --git a/utils.py b/utils.py new file mode 100644 index 0000000..f72b5da --- /dev/null +++ b/utils.py @@ -0,0 +1,54 @@ +import json +import sys +import requests +from datetime import datetime + + +def make_api_call(): + + """make api call to get user information + return: list - user info + """ + + try: + res = requests.get('http://jsonplaceholder.typicode.com/users') + if res.status_code >= 400: + raise requests.exceptions.HTTPError("There is a connection error") + + except requests.exceptions.HTTPError as exc: + print(exc) + sys.exit() + + else: + result_obj = res.json() + return result_obj + + +############################################################################3 + + +def clean_result(lst): + """clean up a result obj + return: list- keeps only (id, name, username, email) + """ + new_lst = [] + for i in range (0,10): + new_lst.append(lst[i]["id"]) + new_lst.append(lst[i]["name"]) + new_lst.append(lst[i]["username"]) + new_lst.append(lst[i]["email"]) + + return new_lst + + + + ########################################################################## + +def create_file(new_lst): + """creates a file with the users data + """ + + dt_string = datetime.now().strftime("%d%m%Y%H%M%S") + + with open(f"users_{dt_string}.json", "w") as f: + json.dump(new_lst, f) \ No newline at end of file