Add get_vm_config_from_stripe_id stripe util function
This commit is contained in:
		
					parent
					
						
							
								0b99a0cbec
							
						
					
				
			
			
				commit
				
					
						21eb88ef62
					
				
			
		
					 1 changed files with 27 additions and 0 deletions
				
			
		|  | @ -1,4 +1,5 @@ | ||||||
| import logging | import logging | ||||||
|  | import re | ||||||
| import stripe | import stripe | ||||||
| from django.conf import settings | from django.conf import settings | ||||||
| from datacenterlight.models import StripePlan | from datacenterlight.models import StripePlan | ||||||
|  | @ -376,6 +377,32 @@ class StripeUtils(object): | ||||||
|         else: |         else: | ||||||
|             return stripe_plan_id_string |             return stripe_plan_id_string | ||||||
| 
 | 
 | ||||||
|  |     @staticmethod | ||||||
|  |     def get_vm_config_from_stripe_id(stripe_id): | ||||||
|  |         """ | ||||||
|  |         Given a string like "dcl-v1-cpu-2-ram-5gb-ssd-10gb" return different | ||||||
|  |         configuration params as a dict | ||||||
|  | 
 | ||||||
|  |         :param stripe_id|str | ||||||
|  |         :return: dict | ||||||
|  |         """ | ||||||
|  |         pattern = re.compile(r'^dcl-v(\d+)-cpu-(\d+)-ram-(\d+\.?\d*)gb-ssd-(\d+)gb-?(\d*\.?\d*)(chf)?$') | ||||||
|  |         match_res = pattern.match(stripe_id) | ||||||
|  |         if match_res is not None: | ||||||
|  |             price = None | ||||||
|  |             try: | ||||||
|  |                 price=match_res.group(5) | ||||||
|  |             except IndexError as ie: | ||||||
|  |                 logger.debug("Did not find price in {}".format(stripe_id)) | ||||||
|  |             return { | ||||||
|  |                 'version': match_res.group(1), | ||||||
|  |                 'cores': match_res.group(2), | ||||||
|  |                 'ram': match_res.group(3), | ||||||
|  |                 'ssd': match_res.group(4), | ||||||
|  |                 'price': price | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     @staticmethod |     @staticmethod | ||||||
|     def get_stripe_plan_name(cpu, memory, disk_size, price): |     def get_stripe_plan_name(cpu, memory, disk_size, price): | ||||||
|         """ |         """ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue