U go@sddlZGdddZdS)Nc@seZdZdZddZeddZejddZeddZejd dZed d Z e jd d Z ed dZ e jddZ eddZ e jddZ eddZ e jddZ eddZ e jddZ eddZejddZddZddZd d!Zd"d#Zd$S)% RFC_Sitesz0 Store RFC site information c Cs||_g|_g|_g|_g|_g|_g|_g|_t|dd}t |}d}|D]}|dkrvt dd ||d7}|j |d|j |d|j |d |j |d |j |d |j |d |j d |d7}qPt dt|dW5QRXdS)z^ Initialize the RFC_Sites object with a given filename r)moderzColumn names are z, ZgageZ gagedFlowlineNHDWaterbodyComIDlakeLinkSiteNameRFCz Not present!z Processed z lines.N)sourcegaugegaugedFlowlinerrrr commentsopencsv DictReaderprintjoinappendstr)selfZ csvSitefileZ csvsite_fileZcsvsite_readerZ line_countrowrD/lfs/h1/ops/prod/packages/nwm.v3.0.13/ush/rfc_ingestion/RFC_Sites.py__init__s0   zRFC_Sites.__init__cCs|jSN_sourcerrrrr 5szRFC_Sites.sourcecCs ||_dSrrrsrrrr 9scCs|jSrZ_gaugerrrrr =szRFC_Sites.gaugecCs ||_dSrr rgrrrr AscCs|jSrZ_gaugedFlowlinerrrrr EszRFC_Sites.gaugedFlowlinecCs ||_dSrr#r!rrrr IscCs|jSrZ_NHDWaterbodyComIDrrrrrMszRFC_Sites.NHDWaterbodyComIDcCs ||_dSrr$)rnrrrrQscCs|jSrZ _lakeLinkrrrrrUszRFC_Sites.lakeLinkcCs ||_dSrr&)rlrrrrYscCs|jSrZ _SiteNamerrrrr]szRFC_Sites.SiteNamecCs ||_dSrr(rrrrrascCs|jSrZ_RFCrrrrr esz RFC_Sites.RFCcCs ||_dSrr))rrrrrr iscCs|jSr _commentsrrrrr mszRFC_Sites.commentscCs ||_dSrr*)rcrrrr qscCs ||jkSr)r rrrr siteExistuszRFC_Sites.siteExistc CsJz|j|}||j|<Wn*tk rD}z t|W5d}~XYnXdSr)r indexr+ ValueError RuntimeError)rstamessageinderrr addCommentxs  zRFC_Sites.addCommentcCs2g}t|j|jD]\}}||kr||q|Sr)zipr r r)rrfcnamesitesrrfcrrr getSitesByRFCs  zRFC_Sites.getSitesByRFCcCs,t|j|jD]\}}||kr|SqdSr)r6r r )rr1rr9rrr getRFCBySites zRFC_Sites.getRFCBySiteN)__name__ __module__ __qualname____doc__rpropertyr setterr r rrrr r r-r5r:r;rrrrrsL!                r)rrrrrrs