Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. import inspect
  2. from urllib.parse import urlparse
  3.  
  4.  
  5. class ParameterSet:
  6. pass
  7.  
  8.  
  9. class Field:
  10. def __init__(self, description, **kwargs):
  11. self.params = kwargs
  12. self.params['description'] = description
  13.  
  14. def __str__(self):
  15. return str(self.params)
  16.  
  17.  
  18. class URL:
  19. def __init__(self, url):
  20. self.original_url = url
  21. self.url = urlparse(url)
  22.  
  23.  
  24. class IntegerField(Field):
  25. pass
  26.  
  27.  
  28. class FloatField(Field):
  29. pass
  30.  
  31.  
  32. class VHF(ParameterSet):
  33. url = URL('file:///tmp/vhf/')
  34. threshold_level = FloatField('Threshold level in V when VHF triggers',
  35. min_value=0.0, max_value=600.0, default_value=55.3)
  36. rms_integator_time = IntegerField('Integrator time in ms',
  37. min_value=0, max_value=20000)
  38.  
  39.  
  40. vhf_members = inspect.getmembers(VHF, lambda x: isinstance(x, Field))
  41. print([(name, str(obj)) for name, obj in vhf_members])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement