Last active
February 21, 2018 15:12
-
-
Save squeedee/62504de635b57f3af028347dde3d70dc to your computer and use it in GitHub Desktop.
Refactoring with extract method Vs Comments
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def pivnet_products(product_pattern=""): | |
""" | |
gets all pivnet products that match exactly with the product pattern, or partial matches | |
when there are no exact matches. | |
""" | |
url = 'https://network.pivotal.io/api/v2/products' | |
all_products = json.load(pivnet_get(url)) | |
products = [p for p in all_products["products"] if product_pattern == p["name"]] | |
if len(products) == 0: | |
products = [p for p in all_products["products"] if product_pattern in p["name"]] | |
return products |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def exact_matches(all_products, product_name_filter): | |
return [p for p in all_products["products"] if product_name_filter == p["name"]] | |
def fuzzy_matches(all_products, product_name_filter): | |
return [p for p in all_products["products"] if product_name_filter in p["name"]] | |
def exact_or_fuzzy_match(all_products, product_name_filter): | |
matching_products = exact_matches(all_products, product_name_filter) | |
if len(matching_products) == 0: | |
matching_products = fuzzy_matches(all_products, product_name_filter) | |
return matching_products | |
def pivnet_products(product_name_filter=""): | |
url = 'https://network.pivotal.io/api/v2/products' | |
all_products = json.load(pivnet_get(url)) | |
matching_products = exact_or_fuzzy_match(all_products, product_name_filter) | |
return matching_products |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def pivnet_products(product_pattern=""): | |
url = 'https://network.pivotal.io/api/v2/products' | |
all_products = json.load(pivnet_get(url)) | |
products = [p for p in all_products["products"] if product_pattern == p["name"]] | |
if len(products) == 0: | |
products = [p for p in all_products["products"] if product_pattern in p["name"]] | |
return products | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment