"""Worked examples demonstrating all transfer calculation types.""" from contract import Contract from transfer import Transfer def main(): print("=" * 80) print("TRANSFER OF EARNINGS EXAMPLES") print("=" * 80) # 1. Percentage of net revenue print("\n1. PERCENTAGE-BASED REVENUE TRANSFER") print("-" * 80) contract_a = Contract( contract_id="123456", name="Various Artists Agreement", projected_balance=7538.79, net_revenue=7522.83, is_recouped=True ) contract_b = Contract( contract_id="123457", name="Round2Media", projected_balance=13172.11, ) transfer_1 = Transfer( transfer_id="T001", from_contract_id="123456", to_contract_id="123457", calculation_type="percentage_revenue", calculation_params={"percentage": 100, "base": "net_revenue"} ) amount = transfer_1.calculate_amount(contract_a) print(f"Transfer: {transfer_1}") print(f"From: {contract_a}") print(f"To: {contract_b}") print(f"Calculated Amount: ${amount}") # 2. Percentage of closing balance print("\n2. PERCENTAGE-BASED BALANCE TRANSFER") print("-" * 80) contract_c = Contract( contract_id="255365", name="Duars Entertainment", projected_balance=53.87, is_recouped=True ) contract_d = Contract( contract_id="552038", name="Business Music LLC", projected_balance=2384.52, ) transfer_2 = Transfer( transfer_id="T002", from_contract_id="255365", to_contract_id="552038", calculation_type="percentage_balance", calculation_params={"percentage": 85} ) amount = transfer_2.calculate_amount(contract_c) print(f"Transfer: {transfer_2}") print(f"From: {contract_c}") print(f"To: {contract_d}") print(f"Calculated Amount: ${amount}") # 3. Fixed amount print("\n3. FIXED AMOUNT TRANSFER") print("-" * 80) contract_e = Contract( contract_id="552079", name="MAFY, Inc.", projected_balance=14139.97, is_recouped=True ) contract_f = Contract( contract_id="552047", name="City Marshal", projected_balance=0.00, ) transfer_3 = Transfer( transfer_id="T003", from_contract_id="552079", to_contract_id="552047", calculation_type="fixed_amount", calculation_params={"amount": 6300.00} ) amount = transfer_3.calculate_amount(contract_e) print(f"Transfer: {transfer_3}") print(f"From: {contract_e}") print(f"To: {contract_f}") print(f"Calculated Amount: ${amount}") # 4. All recouped earnings (triggered — contract IS recouped) print("\n4. ALL RECOUPED EARNINGS TRANSFER") print("-" * 80) contract_g = Contract( contract_id="547243", name="Bitters Agreement", projected_balance=-4786.64, net_revenue=4.77, is_recouped=True ) contract_h = Contract( contract_id="544821", name="Creative Futures Collective", projected_balance=12.77, ) transfer_4 = Transfer( transfer_id="T004", from_contract_id="547243", to_contract_id="544821", calculation_type="all_recouped", calculation_params={"base": "net_revenue"} ) amount = transfer_4.calculate_amount(contract_g) print(f"Transfer: {transfer_4}") print(f"From: {contract_g}") print(f"To: {contract_h}") print(f"Calculated Amount: ${amount}") print(f"Note: Transfer occurs because from_contract.is_recouped = True") # 5. All recouped earnings (NOT triggered — contract is NOT recouped) print("\n5. ALL RECOUPED EARNINGS (NOT TRIGGERED)") print("-" * 80) contract_i = Contract( contract_id="538377", name="Hemlocke Springs Recordings", projected_balance=-876293.60, net_revenue=500.00, is_recouped=False ) contract_j = Contract( contract_id="545427", name="Hemlocke Springs Artist", projected_balance=390.97, ) transfer_5 = Transfer( transfer_id="T005", from_contract_id="538377", to_contract_id="545427", calculation_type="all_recouped", calculation_params={"base": "net_revenue"} ) amount = transfer_5.calculate_amount(contract_i) print(f"Transfer: {transfer_5}") print(f"From: {contract_i}") print(f"To: {contract_j}") print(f"Calculated Amount: ${amount}") print(f"Note: No transfer because from_contract.is_recouped = False") print("\n" + "=" * 80) print("EXAMPLES COMPLETE") print("=" * 80) if __name__ == "__main__": main()