import json import os import sys import requests FILENAME = os.environ.get('FILENAME', 'product_ids.json') OWS_PRICING_URL = os.environ.get('OWS_PRICING_URL', 'https://qa-ows-pricing.theorchard.io') def get_product_ids(): path = os.path.dirname(os.path.realpath(__file__)) + \ '/data/' + FILENAME with open(path, 'r') as input_file: return json.load(input_file) def remigrate_product(product_id): print('About to unmigrate product {0}'.format(product_id)) unmigrate_url = '{0}/legacy/product/{1}/unmigrate'.format( OWS_PRICING_URL, product_id) unmigrate_response = requests.delete(unmigrate_url) if unmigrate_response.status_code != 200: unmigrate_response.raise_for_status() print('Unmigrated product {0}'.format(product_id)) print('About to migrate product {0}'.format(product_id)) migrate_url = '{0}/legacy/music/product/{1}/execute'.format( OWS_PRICING_URL, product_id) migrate_response = requests.get(migrate_url) if migrate_response.status_code == 400: print('Product {0} has already been migrated'.format(product_id)) elif migrate_response.status_code != 200: migrate_response.raise_for_status() print('Migrated product {0}'.format(product_id)) try: print('About to fetch products to remigrate from {0}'.format(FILENAME)) product_ids = get_product_ids() print('Fetched {0} products to migrate'.format(len(product_ids))) for product_id in product_ids: remigrate_product(product_id) print('Done remigrating {0} products'.format(len(product_ids))) sys.exit() except Exception as e: sys.exit(e)