Update: 2026-06-11 18:22:57
This commit is contained in:
80
refactor_widget.py
Normal file
80
refactor_widget.py
Normal file
@@ -0,0 +1,80 @@
|
||||
import sys
|
||||
import re
|
||||
|
||||
def refactor_widget(filepath):
|
||||
with open(filepath, 'r') as f:
|
||||
content = f.read()
|
||||
|
||||
# Refactor _getPassengerPriceText
|
||||
price_text_pattern = re.compile(r'String _getPassengerPriceText\(\s*CarType carType, RideLifecycleController mapPassengerController\) \{.*?return formatter\.format\(roundedPrice\);\s*\}', re.DOTALL)
|
||||
|
||||
new_price_text = '''String _getPassengerPriceText(
|
||||
CarType carType, RideLifecycleController mapPassengerController) {
|
||||
String rawPrice;
|
||||
switch (carType.carType) {
|
||||
case 'Comfort':
|
||||
rawPrice = mapPassengerController.totalPassengerComfort;
|
||||
break;
|
||||
case 'Fixed Price':
|
||||
rawPrice = mapPassengerController.totalPassengerSpeed;
|
||||
break;
|
||||
case 'Electric':
|
||||
rawPrice = mapPassengerController.totalPassengerElectric;
|
||||
break;
|
||||
case 'Awfar Car':
|
||||
rawPrice = mapPassengerController.totalPassengerBalash;
|
||||
break;
|
||||
case 'Scooter':
|
||||
case 'Pink Bike':
|
||||
rawPrice = mapPassengerController.totalPassengerScooter;
|
||||
break;
|
||||
case 'Van':
|
||||
rawPrice = mapPassengerController.totalPassengerVan;
|
||||
break;
|
||||
case 'Lady':
|
||||
rawPrice = mapPassengerController.totalPassengerLady;
|
||||
break;
|
||||
case 'Rayeh Gai':
|
||||
rawPrice = mapPassengerController.totalPassengerRayehGai;
|
||||
break;
|
||||
default:
|
||||
return '...';
|
||||
}
|
||||
return rawPrice;
|
||||
}'''
|
||||
content = price_text_pattern.sub(new_price_text, content)
|
||||
|
||||
# Refactor _getOriginalPrice
|
||||
original_price_pattern = re.compile(r'double _getOriginalPrice\(\s*CarType carType, RideLifecycleController mapPassengerController\) \{.*?return 0\.0;\s*\}\s*\}', re.DOTALL)
|
||||
|
||||
new_original_price = '''String _getOriginalPrice(
|
||||
CarType carType, RideLifecycleController mapPassengerController) {
|
||||
switch (carType.carType) {
|
||||
case 'Comfort':
|
||||
return mapPassengerController.totalPassengerComfort;
|
||||
case 'Fixed Price':
|
||||
return mapPassengerController.totalPassengerSpeed;
|
||||
case 'Electric':
|
||||
return mapPassengerController.totalPassengerElectric;
|
||||
case 'Awfar Car':
|
||||
return mapPassengerController.totalPassengerBalash;
|
||||
case 'Van':
|
||||
return mapPassengerController.totalPassengerVan;
|
||||
case 'Lady':
|
||||
return mapPassengerController.totalPassengerLady;
|
||||
default:
|
||||
return '0';
|
||||
}
|
||||
}'''
|
||||
content = original_price_pattern.sub(new_original_price, content)
|
||||
|
||||
# Refactor _buildRayehGaiOption
|
||||
rayeh_gai_pattern = re.compile(r'Widget _buildRayehGaiOption\(\s*BuildContext context,\s*RideLifecycleController mapPassengerController,\s*String carTypeName,\s*double price\)')
|
||||
content = rayeh_gai_pattern.sub(r'Widget _buildRayehGaiOption(BuildContext context, RideLifecycleController mapPassengerController, String carTypeName, String price)', content)
|
||||
|
||||
with open(filepath, 'w') as f:
|
||||
f.write(content)
|
||||
print(f"Refactored {filepath}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
refactor_widget(sys.argv[1])
|
||||
Reference in New Issue
Block a user