diff --git a/pyworkshop/day_one.py b/pyworkshop/day_one.py new file mode 100644 index 0000000..f04232c --- /dev/null +++ b/pyworkshop/day_one.py @@ -0,0 +1,40 @@ +import requests +from requests import status_codes + + +def create_query(languages, min_stars=50000): + query = f"stars:>{min_stars} " + + for language in languages: + query += f"language:{language} " + + return query + + +def repos_with_most_stars(languages, sort="stars", order="desc"): + gh_api_repo_search_url = "https://api.github.com/search/repositories" + + query = create_query(languages) + parameters = {"q": query, "sort": sort, "order": order} + response = requests.get(gh_api_repo_search_url, params=parameters) + + # status_code = response.status_code + status_code = 500 + if status_code != 200: + raise RuntimeError( + f"an error occurred. Status code was: {status_code}") + else: + response_json = response.json()["items"] + return response_json + + +if __name__ == "__main__": + languages = ["Python", "Javascript", "Ruby"] + results = repos_with_most_stars(languages) + + for result in results: + language = result["language"] + stars = result["stargazers_count"] + name = result["name"] + + print(f"-> {name} is a {language} repo with {stars} stars.") diff --git a/pyworkshop/dog.py b/pyworkshop/dog.py new file mode 100644 index 0000000..a2ddd3e --- /dev/null +++ b/pyworkshop/dog.py @@ -0,0 +1,12 @@ +import requests + +api_url = "http://shibe.online/api/shibes?count=1" + +params = {"count": 10} +response = requests.get(api_url, params=params) + +status_code = response.status_code +print("status code: ", status_code) + +response_json = response.json() +print(response_json) diff --git a/pyworkshop/exceptions.py b/pyworkshop/exceptions.py new file mode 100644 index 0000000..732f2eb --- /dev/null +++ b/pyworkshop/exceptions.py @@ -0,0 +1,7 @@ +# this will throw an error +try: + int("a") +except ValueError as e: + print("oops, you can't do that!", e) + +print("this is the end of my program") diff --git a/pyworkshop/mystery.py b/pyworkshop/mystery.py new file mode 100644 index 0000000..7363fd5 --- /dev/null +++ b/pyworkshop/mystery.py @@ -0,0 +1,15 @@ +def mystery(): + num = 10 * 3 + + if num == 10: + print("condition 10") + num = num * 10 + elif num == 30: + print("condition 30") + num = num * 30 + + print(f"num was {num}") + return num + + +print(mystery()) diff --git a/pyworkshop/name.py b/pyworkshop/name.py new file mode 100644 index 0000000..bd2bff5 --- /dev/null +++ b/pyworkshop/name.py @@ -0,0 +1,2 @@ +name = "Robyn" +print(name) diff --git a/pyworkshop/name_lib.py b/pyworkshop/name_lib.py new file mode 100644 index 0000000..3e1adc5 --- /dev/null +++ b/pyworkshop/name_lib.py @@ -0,0 +1,9 @@ +def upper_case_name(name): + return name.upper() + + +if __name__ == "__main__": + name = "Robyn" + name_upper = upper_case_name(name) + print(f"Upper case name is {name_upper}") + print("dunder name", __name__) diff --git a/pyworkshop/other_program.py b/pyworkshop/other_program.py new file mode 100644 index 0000000..adcfbee --- /dev/null +++ b/pyworkshop/other_program.py @@ -0,0 +1,6 @@ +import name_lib + +my_name = "Fred" +upper_name = name_lib.upper_case_name(my_name) + +print(f"In my own code, upper name is {upper_name}") diff --git a/pyworkshop/project.py b/pyworkshop/project.py new file mode 100644 index 0000000..33eb3c2 --- /dev/null +++ b/pyworkshop/project.py @@ -0,0 +1,4 @@ +greetings = ["Hello", "Bonjour", "Hola"] + +for greeting in greetings: + print(f"{greeting}, World!")