<s> from wq . io import NetLoader , TupleMapper , BaseIO <EOL> from climata . base import WebserviceLoader , FilterOpt , DateOpt , ChoiceOpt <EOL> from climata . parsers import RdbParser , WaterMlParser <EOL> from . constants import SITE_TYPES <EOL> class NwisLoader ( WebserviceLoader ) : <EOL> """<STR_LIT>""" <EOL> start_date = DateOpt ( url_param = '<STR_LIT>' ) <EOL> end_date = DateOpt ( url_param = '<STR_LIT>' ) <EOL> state = FilterOpt ( url_param = '<STR_LIT>' ) <EOL> county = FilterOpt ( url_param = '<STR_LIT>' , multi = True ) <EOL> basin = FilterOpt ( url_param = '<STR_LIT>' , multi = True ) <EOL> station = FilterOpt ( url_param = '<STR_LIT>' , multi = True ) <EOL> parameter = FilterOpt ( url_param = '<STR_LIT>' , multi = True ) <EOL> sitetype = ChoiceOpt ( <EOL> url_param = '<STR_LIT>' , <EOL> multi = True , <EOL> choices = list ( SITE_TYPES . keys ( ) ) , <EOL> ) <EOL> service = None <EOL> @ property <EOL> def url ( self ) : <EOL> return "<STR_LIT>" % self . service <EOL> class NwisWaterMlIO ( NwisLoader , WaterMlParser , TupleMapper , BaseIO ) : <EOL> """<STR_LIT>""" <EOL> default_params = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> class ParameterIO ( NetLoader , RdbParser , TupleMapper , BaseIO ) : <EOL> """<STR_LIT>""" <EOL> query = None <EOL> params = { '<STR_LIT>' : '<STR_LIT>' } <EOL> @ property <EOL> def url ( self ) : <EOL> return "<STR_LIT>" % self . query <EOL> class SiteIO ( NwisLoader , RdbParser , TupleMapper , BaseIO ) : <EOL> """<STR_LIT>""" <EOL> service = "<STR_LIT>" <EOL> default_params = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:all>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> class DailyValueIO ( NwisWaterMlIO ) : <EOL> """<STR_LIT>""" <EOL> service = '<STR_LIT>' <EOL> class InstantValueIO ( NwisWaterMlIO ) : <EOL> """<STR_LIT>""" <EOL> service = '<STR_LIT>' <EOL> class FixedParameterIO ( ParameterIO ) : <EOL> """<STR_LIT>""" <EOL> query = "<STR_LIT>" <EOL> class NumericParameterIO ( ParameterIO ) : <EOL> """<STR_LIT>""" <EOL> query = "<STR_LIT>" <EOL> params = { '<STR_LIT>' : '<STR_LIT>' , '<STR_LIT>' : '<STR_LIT:%>' } </s>
