MCPcopy Create free account
hub / github.com/CoolProp/CoolProp / Python

Class Python

dev/scripts/examples/example_generator.py:632–681  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

630
631
632class Python(BaseParser):
633
634 function_name_mapping = dict(Props1SI='PropsSI',
635 factory='AbstractState')
636 type_name_mapping = {'vector': None,
637 'AbstractState': None}
638 enum_name_mapping = {'input_pairs': "CoolProp", 'parameters': "CoolProp"}
639 indentation = ''
640
641 def parse_arguments(self, arguments):
642 out = []
643 for arg in arguments:
644 if isinstance(arg, str) and arg[0] == "'" and arg[-1] == "'":
645 out.append('\"' + arg[1:-1] + '\"')
646 elif isinstance(arg, dict):
647 out.append(self.dict2string(arg))
648 else:
649 out.append(arg)
650 return out
651
652 def dict2string(self, d):
653 if d['type'] == 'comment':
654 return '# ' + d['comment']
655 elif d['type'] == 'function':
656 return self.map_function(d['function']) + '(' + ', '.join(self.parse_arguments(d['arguments'])) + ')'
657 elif d['type'] == 'print':
658 return 'print(' + ', '.join(self.parse_arguments(d['arguments'])) + ')'
659 elif d['type'] == 'vector':
660 return '[' + ', '.join(self.parse_arguments(d['arguments'])) + ']'
661 elif d['type'] == 'enum':
662 return self.enum_name_mapping[d['enum']] + '.' + d['key']
663 elif d['type'] == 'class_dereference':
664 return d['name'] + '.' + self.dict2string(d['RHS'])
665 elif d['type'] == 'custom_assignment':
666 type_name = self.type_name_mapping[d['variable_type']]
667 if type_name:
668 LHS = type_name + ' ' + d['variable_name']
669 else:
670 LHS = d['variable_name']
671 return ' '.join([LHS, '=', self.dict2string(d['RHS'])])
672 else:
673 return '??????????????????????????????'
674
675 def header(self):
676 return '\n'.join(['from __future__ import print_function',
677 'from CoolProp import AbstractState',
678 'from CoolProp.CoolProp import PhaseSI, PropsSI, get_global_param_string',
679 'import CoolProp.CoolProp as CoolProp',
680 'from CoolProp.HumidAirProp import HAPropsSI',
681 'from math import sin\n'])
682
683
684class Octave(BaseParser):

Callers 3

win64run.pyFile · 0.85
OSXRun.pyFile · 0.85
LinuxRun.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected