<s> from datetime import datetime , time <EOL> from django . contrib . gis . db import models <EOL> from django . utils . translation import ugettext_lazy as _ <EOL> PTYPE_OBSERVATION = '<STR_LIT:o>' <EOL> PTYPE_FORECAST = '<STR_LIT:f>' <EOL> PTYPE_CHOICES = ( <EOL> ( PTYPE_OBSERVATION , _ ( '<STR_LIT>' ) ) , <EOL> ( PTYPE_FORECAST , _ ( '<STR_LIT>' ) ) , <EOL> ) <EOL> PRESSURE_STATE_CHOICES = ( <EOL> ( '<STR_LIT:+>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:->' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:c>' , _ ( '<STR_LIT>' ) ) , <EOL> ) <EOL> VISIBILITY_CHOICES = ( <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:p>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:g>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:f>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:e>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:m>' , _ ( '<STR_LIT>' ) ) , <EOL> ) <EOL> OUTLOOK_CHOICES = ( <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:s>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:f>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:m>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:d>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:h>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT>' , _ ( '<STR_LIT>' ) ) , <EOL> ) <EOL> OUTLOOK_TO_ICON = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:s>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:f>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:m>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:d>' : '<STR_LIT>' , <EOL> '<STR_LIT:h>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> SCALE_CHOICES = ( <EOL> ( '<STR_LIT:l>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:m>' , _ ( '<STR_LIT>' ) ) , <EOL> ( '<STR_LIT:h>' , _ ( '<STR_LIT>' ) ) , <EOL> ) <EOL> class Weather ( models . Model ) : <EOL> location_id = models . CharField ( max_length = <NUM_LIT:16> ) <EOL> ptype = models . CharField ( max_length = <NUM_LIT:1> , choices = PTYPE_CHOICES ) <EOL> name = models . TextField ( null = True ) <EOL> outlook = models . CharField ( null = True , max_length = <NUM_LIT:3> , choices = OUTLOOK_CHOICES ) <EOL> published_date = models . DateTimeField ( null = True ) <EOL> observed_date = models . DateTimeField ( null = True ) <EOL> modified_date = models . DateTimeField ( auto_now = True ) <EOL> temperature = models . IntegerField ( null = True ) <EOL> wind_direction = models . CharField ( null = True , max_length = <NUM_LIT:3> ) <EOL> wind_speed = models . IntegerField ( null = True ) <EOL> humidity = models . IntegerField ( null = True ) <EOL> pressure = models . PositiveIntegerField ( null = True ) <EOL> pressure_state = models . CharField ( null = True , max_length = <NUM_LIT:1> , <EOL> choices = PRESSURE_STATE_CHOICES ) <EOL> visibility = models . CharField ( null = True , max_length = <NUM_LIT:2> , <EOL> choices = VISIBILITY_CHOICES ) <EOL> location = models . PointField ( srid = <NUM_LIT> , null = True ) <EOL> min_temperature = models . IntegerField ( null = True ) <EOL> max_temperature = models . IntegerField ( null = True ) <EOL> uv_risk = models . CharField ( max_length = <NUM_LIT:1> , choices = SCALE_CHOICES , null = True ) <EOL> pollution = models . CharField ( max_length = <NUM_LIT:1> , choices = SCALE_CHOICES , null = True ) <EOL> sunset = models . TimeField ( null = True ) <EOL> sunrise = models . TimeField ( null = True ) <EOL> @ property <EOL> def icon ( self ) : <EOL> now = datetime . now ( ) . time ( ) <EOL> if now < time ( <NUM_LIT:7> ) or now > time ( <NUM_LIT> ) : <EOL> night = '<STR_LIT>' <EOL> else : <EOL> night = '<STR_LIT>' <EOL> return OUTLOOK_TO_ICON . get ( self . outlook , '<STR_LIT>' ) % { '<STR_LIT>' : night } </s>
