class PointInfo(db.Model): date = db.DateProperty() competitor = db.ReferenceProperty(Competitor) league = db.ReferenceProperty(League) perfect = db.FloatProperty(default=0.) goal_difference = db.FloatProperty(default=0.) goals = db.FloatProperty(default=0.) result = db.FloatProperty(default=0.) count = db.FloatProperty(default=0.) totals = db.BooleanProperty(default=False) def __str__(self): return '%s %s %5.0f %5.0f %5.0f %5.0f %5.0f %s' % ( str(self.date), str( self.totals), self.count, self.perfect, self.goals, self.goal_difference, self.result, self.competitor.nickname) def reset(self): self.perfect = 0. self.goal_difference = 0. self.goals = 0. self.result = 0. self.count = 0. def add(self, points): self.perfect += points.perfect self.goal_difference += points.goal_difference self.goals += points.goals self.result += points.result self.count += points.count def subtract(self, points): self.perfect -= points.perfect self.goal_difference -= points.goal_difference self.goals -= points.goals self.result -= points.result self.count -= points.count def initialise(self, points): self.perfect = points.perfect self.goal_difference = points.goal_difference self.goals = points.goals self.result = points.result self.count = points.count def to_points(self): points = Points(self.league.competition.name) points.initialise(self) points.set_total() return points
class Transporter(db.Model): user=db.ReferenceProperty(User, collection_name= 'current_transporter') from_=db.StringProperty() destination= db.StringProperty() arrival_date=db.DateTimeProperty() arrival_time=db.DateTimeProperty() max_weight = db.FloatProperty() max_dimension= db.FloatProperty() transport_means = db.StringProperty()
class Place(db.Model): num = db.IntegerProperty(required=False, indexed=True) ip = db.StringProperty(required=False, indexed=True) name = db.StringProperty(required=False, indexed=False) visitors = db.IntegerProperty(required=False, default=0, indexed=True) longitude = db.FloatProperty(required=False, default=0.0, indexed=True) latitude = db.FloatProperty(required=False, default=0.0, indexed=True) created = db.DateTimeProperty(auto_now_add=True) last_modified = db.DateTimeProperty(auto_now=True)
class Point(db.Model): journey = db.ReferenceProperty(Journey) latitude = db.FloatProperty() longitude = db.FloatProperty() # In kilometers per hour speed = db.FloatProperty() time = db.DateTimeProperty(auto_now_add=True) # In kilometers distance = db.FloatProperty()
class Marker(db.Model): ''' classdocs ''' type = db.StringProperty(choices=('start', 'dest', 'waypoint', 'normal'), required=True) latitude = db.FloatProperty(required=True) longitude = db.FloatProperty(required=True) description = db.TextProperty()
class Betlin(db.Model): #key = db.Key.from_path('Persons','root','Person','%s' % (Nr), 'Betlin', '%s' % (Id)) Id = db.IntegerProperty() Betref = db.ReferenceProperty(Bet, collection_name='listBetlin') Pbssektionnr = db.StringProperty() Pbstranskode = db.StringProperty() Nr = db.IntegerProperty() Faknr = db.IntegerProperty() Debitorkonto = db.StringProperty() Aftalenr = db.IntegerProperty() Betalingsdato = db.DateProperty() Belob = db.FloatProperty() Indbetalingsdato = db.DateProperty() Bogforingsdato = db.DateProperty() Indbetalingsbelob = db.FloatProperty() Pbskortart = db.StringProperty() Pbsgebyrbelob = db.FloatProperty() Pbsarkivnr = db.StringProperty() Fakref = db.ReferenceProperty(Fak, collection_name='listBetlin') def linkFak(self): if not self.Fakref: qry = Fak.all().filter('Faknr =', self.Faknr) for fakrec in qry: if fakrec.Nr == self.Nr: self.Fakref = fakrec.key() self.put() break def addMedlog(self): if self.Pbstranskode in ['0236','0237','0297']: fakroot = db.Key.from_path('Persons','root','Person','%s' % (self.Nr), 'Betlin', '%s' % (self.Id)) medlog = Medlog.get_or_insert('%s' % (self.Id), parent=fakroot) medlog.Id = self.Id medlog.Source = 'Betlin' medlog.Source_id = self.Id medlog.Nr = self.Nr try: medlog.Logdato = self.Betref.Frapbsref.Udtrukket except: pass if self.Pbstranskode in ['0236','0297']: qry = Fak.all().filter('Faknr =', self.Faknr) for fakrec in qry: if fakrec.Nr == self.Nr: medlog.Akt_dato = fakrec.Tildato medlog.Akt_id = 30 medlog.put() return elif self.Pbstranskode in ['0237']: medlog.Akt_id = 40 medlog.Akt_dato = self.Betalingsdato medlog.put() return medlog.delete() return
class Passenger(db.Model): name = db.StringProperty() fullname = db.StringProperty() contact = db.StringProperty() location = db.StringProperty() lat = db.FloatProperty() lng = db.FloatProperty() ride = db.ReferenceProperty() """
class DeviceProperties(db.Model): """Represents the dynamic properties of a given device.""" # Reference to the corresponding DeviceInfo device_info = db.ReferenceProperty(DeviceInfo) # Mobiperf app version app_version = db.StringProperty() # Timestamp timestamp = db.DateTimeProperty(auto_now_add=True) # OS version os_version = db.StringProperty() # Location location = db.GeoPtProperty() # How location was acquired (e.g., GPS) location_type = db.StringProperty() # Network type (e.g., WiFi, UMTS, etc.) network_type = db.StringProperty() # Carrier carrier = db.StringProperty() # Battery level battery_level = db.IntegerProperty() # Battery charging status is_battery_charging = db.BooleanProperty() # Cell information represented as a string in the form of # 'LAC,CID,RSSI;LAC,CID,RSSI;...', where each semicolon separated # triplet 'LAC,CID,RSSI' are the Location Area Code, cell ID, and RSSI for # one of the cell towers in range cell_info = db.StringProperty() # Receive signal strength of the current cellular connection rssi = db.IntegerProperty() # SmartMobilyzer-specific properties # See https://cloud.google.com/appengine/docs/python/datastore/typesandpropertyclasses?hl=en cpurace_type = db.FloatProperty() memrace_type = db.FloatProperty() networkrace_type = db.FloatProperty() def JSON_DECODE_location(self, inputval): lat = float(inputval['latitude']) lon = float(inputval['longitude']) self.location = db.GeoPt(lat, lon) def JSON_DECODE_timestamp(self, inputval): try: self.timestamp = util.MicrosecondsSinceEpochToTime(int(inputval)) except ValueError: logging.exception( 'Error occurs while converting timestamp ' '%s to integer', inputval) self.timestamp = None def isOld(self): d = datetime.now() - self.timestamp return d.total_seconds() > 60 def __str__(self): return 'DeviceProperties <device %s>' % self.device_info
class Treasure(db.Model): name = db.StringProperty(required=True) lat = db.FloatProperty(required=True) lon = db.FloatProperty(required=True) description = db.StringProperty(default="") game = db.ReferenceProperty(Game, collection_name="treasures") def __eq__(self, other): return isinstance(other, Treasure) and other.key() == self.key()
class SourceFile(db.Model): short = db.StringProperty() project = db.ReferenceProperty(Project) name = db.StringProperty() source = db.BlobProperty() metrix = db.ReferenceProperty(Metrix, default=None) vulnerability = db.ReferenceProperty(Vulnerability, default=None) potential = db.FloatProperty() p = db.FloatProperty()
class Station(db.Model): name = db.StringProperty(required=True) latitude = db.FloatProperty() longitude = db.FloatProperty() @classmethod def distance(cls, a, b): return calc_distance(stations[a][1], stations[a][2], stations[b][1], stations[b][2])
class Member(db.Model): fn = db.StringProperty() ln = db.StringProperty() dpt = db.StringProperty() sec = db.StringProperty() loc = db.StringProperty() faddr = db.StringProperty() lat = db.FloatProperty() lng = db.FloatProperty()
class Sender(db.Model): user=db.ReferenceProperty(User, collection_name= 'current_sender') from_=db.StringProperty() destination= db.StringProperty() urgent = db.BooleanProperty() from_date=db.DateTimeProperty() until_date = db.DateTimeProperty() max_weight = db.FloatProperty() max_dimension= db.FloatProperty()
class Grade(db.Model): student=db.StringProperty(required=True) name=db.StringProperty(required=True) subject=db.StringProperty(required=True) variety=db.StringProperty(required=True) total_points=db.FloatProperty(required=True) points_obtained=db.FloatProperty(required=True) percentage=db.FloatProperty(required=True) date=db.DateTimeProperty(auto_now_add=True)
class ControlbotConfig(db.Model): """Description for the config table. It will be a singleton for simplicity.""" # Whether the controlbot is running or not. last_reported = db.DateTimeProperty() should_stop = db.BooleanProperty() target_temperature = db.FloatProperty() room_temperature = db.FloatProperty() # TODO(ravi): Add ability to do view and edit schedules. schedules = db.TextProperty()
class AnnualSolarPotential(db.Model): lat = db.FloatProperty(required=True) lng = db.FloatProperty(required=True) last_updated = db.DateTimeProperty(auto_now=True, auto_now_add=True) country = db.StringProperty() region = db.StringProperty() city = db.StringProperty() potential = db.FloatProperty() actual = db.FloatProperty()
class Journal(db.Model): ENTRIES_PER_PAGE = 5 MAX_JOURNALS = 10 name = db.StringProperty(required=True) created_date = db.DateTimeProperty(auto_now_add=True) last_entry = db.DateTimeProperty() first_entry = db.DateTimeProperty() last_modified = db.DateTimeProperty(auto_now=True) entry_count = db.IntegerProperty(required=True, default=0) entry_days = db.IntegerProperty(required=True, default=0) chars = db.IntegerProperty(required=True, default=0) words = db.IntegerProperty(required=True, default=0) sentences = db.IntegerProperty(required=True, default=0) # all frequencies are per week freq_entries = db.FloatProperty(required=True, default=0.) freq_chars = db.FloatProperty(required=True, default=0.) freq_words = db.FloatProperty(required=True, default=0.) freq_sentences = db.FloatProperty(required=True, default=0.) def count(self): if self.entry_count: self.entry_days = (self.last_entry - self.first_entry).days + 1 weeks = self.entry_days / 7. self.freq_entries = self.entry_count / weeks self.freq_chars = self.chars / weeks self.freq_words = self.words / weeks self.freq_sentences = self.sentences / weeks else: self.entry_days = 0 self.freq_entries = 0. self.freq_chars = 0. self.freq_words = 0. self.freq_sentences = 0. def __unicode__(self): return unicode(self.name) @property def pages(self): if self.entry_count == 0: return 1 return (self.entry_count + self.ENTRIES_PER_PAGE - 1) / self.ENTRIES_PER_PAGE def url(self, page=1): if page > 1: return webapp2.uri_for('view-journal', username=self.key().parent().name(), journal_name=self.name, page=page) else: return webapp2.uri_for('view-journal', username=self.key().parent().name(), journal_name=self.name)
class gContributions(db.Model): owner=db.StringProperty(required=True) recipeName=db.StringProperty(required=True) ingredientType=db.StringProperty(required=False) ingredient=db.StringProperty(required=False) hopAddAt=db.FloatProperty(required=False) ibu=db.FloatProperty(required=False) srm=db.FloatProperty(required=False) gravity=db.FloatProperty(required=False)
class TestResult(db.Model): name = db.StringProperty(required=True) build = db.ReferenceProperty(Build, required=True) value = db.FloatProperty(required=True) valueMedian = db.FloatProperty() valueStdev = db.FloatProperty() valueMin = db.FloatProperty() valueMax = db.FloatProperty() values = db.ListProperty(float) @staticmethod def key_name(build, test_name): return build.key().name() + ':' + test_name @classmethod def get_or_insert_from_parsed_json(cls, test_name, build, result): key_name = cls.key_name(build, test_name) def _float_or_none(dictionary, key): value = dictionary.get(key) if value: return float(value) return None if not isinstance(result, dict): return cls.get_or_insert(key_name, name=test_name, build=build, value=float(result)) # Skip malformed entries. if 'avg' not in result: return None return cls.get_or_insert(key_name, name=test_name, build=build, value=float(result['avg']), valueMedian=_float_or_none(result, 'median'), valueStdev=_float_or_none(result, 'stdev'), valueMin=_float_or_none(result, 'min'), valueMax=_float_or_none(result, 'max'), values=result.get('values', [])) def replace_to_change_test_name(self, new_name): clone = TestResult(key_name=TestResult.key_name(self.build, new_name), name=new_name, build=self.build, value=self.value, valueMedian=self.valueMedian, valueStdev=self.valueMin, valueMin=self.valueMin, valueMax=self.valueMax) clone.put() self.delete() return clone
class bills(EntityModel): """ bills that contains reports """ customer = db.ReferenceProperty(customers, collection_name="bills") member = db.ReferenceProperty(members, collection_name="bills") time = db.DateTimeProperty() paid = db.FloatProperty() rest = db.FloatProperty() discount = db.FloatProperty() total = db.FloatProperty() notes = db.TextProperty()
class Tally(db.Model): productId = db.StringProperty(required=True) productName = db.StringProperty(required=True) brandName = db.StringProperty(required=True) defaultProductUrl = db.LinkProperty(required=True) defaultImageUrl = db.LinkProperty(required=True) blue_votes = db.FloatProperty(required=True) red_votes = db.FloatProperty(required=True) ratio = db.FloatProperty(required=True) difference = db.FloatProperty()
class DataPoint(GeoModel): time = db.DateTimeProperty() weight = db.FloatProperty() range = db.FloatProperty() category = db.IntegerProperty() neighborhood = db.IntegerProperty() placeName = db.StringProperty() rating = db.FloatProperty() url = db.LinkProperty() metro = db.IntegerProperty()
class ArtElem(db.Model): """Models navigation data store.""" title = db.StringProperty(required=True) date = db.StringProperty(required=True) mainPic = db.BlobProperty(default=None, required=True) thumb = db.BlobProperty(default=None, required=True) price = db.FloatProperty(required=True) dimension = db.FloatProperty(required=True) category = db.CategoryProperty(required=True) closeUps = db.ReferenceProperty(ImgElem)
class Track(db.Model): uuid = db.StringProperty() uploadtime = db.DateTimeProperty() distance = db.IntegerProperty() raw = db.TextProperty() avg_dist = db.FloatProperty() avg_acc = db.FloatProperty() max_diff = db.IntegerProperty() nr = db.IntegerProperty() ok = db.BooleanProperty()
class StockData(db.Model): sTicker = db.StringProperty() oCreationDateTime = db.DateTimeProperty( auto_now_add=True) # It auto populates oDateTime = db.DateTimeProperty() fPriceOpen = db.FloatProperty() fPriceMidDay = db.FloatProperty() fPriceClose = db.FloatProperty() fDayAvg = db.FloatProperty() fPreDayAvg = db.FloatProperty()
class Pedometer(Measurement): number_steps = db.IntegerProperty() suff_steps = db.IntegerProperty() ex_steps = db.IntegerProperty() distance = db.FloatProperty() walk_mins = db.IntegerProperty() suff_mins = db.IntegerProperty() ex = db.FloatProperty() cal = db.IntegerProperty() bodyfat_quantity = db.FloatProperty()
class EngineData(db.Model): email = db.StringProperty(default='') test_date = db.StringProperty(default='') engine_type = db.StringProperty(default='') propellant = db.StringProperty(default='') specific_impulse = db.FloatProperty(default=0) power = db.FloatProperty(default=0) thrust = db.FloatProperty() efficiency = db.FloatProperty() url = db.StringProperty(default='')
class ExcST7B(ExcitationSystem): """ IEEE (2005) ST7B Model The model ST7B is representative of static potential-source excitation systems. In this system, the AVR consists of a PI voltage regulator. A phase lead-lag filter in series allows introduction of a derivative function, typically used with brushless excitation systems. In that case, the regulator is of the PID type. In addition, the terminal voltage channel includes a phase lead-lag filter. The AVR includes the appropriate inputs on its reference for overexcitation limiter (OEL1), underexcitation limiter (UEL), stator current limiter (SCL), and current compensator (DROOP). All these limitations, when they work at voltage reference level, keep the PSS (VS signal from Type PSS1A, PSS2A, or PSS2B) in operation. However, the UEL limitation can also be transferred to the high value (HV) gate acting on the output signal. In addition, the output signal passes through a low value (LV) gate for a ceiling overexcitation limiter (OEL2). """ # <<< exc_st7_b.attributes # @generated # Input lead-lag numerator time constant (>= 0.) tg = Seconds # Regulator proportional gain (> 0.) kpa = db.FloatProperty() # Minimum voltage reference signal (> 0.) vmin = db.FloatProperty() # Maximum field voltage output (> 0.) vrmax = db.FloatProperty() # Low-value gate feedback gain (>= 0.) kl = db.FloatProperty() # Filter time constant tr = Seconds # High-value gate feedback gain (>= 0.) kh = db.FloatProperty() # Rectifier firing time constant (>= 0.) (not in IEEE model) ts = Seconds # Minimum field voltage output (< 0.) vrmin = db.FloatProperty() # OEL input selector: 1 ? add to Vref, 2 ? input LV gate, 2 ? output LV gate, 0 ? no OEL input oelin = db.FloatProperty() # UEL input selector: 1 ? add to Vref, 2 ? input HV gate, 3 ? output HV gate, 0 ? no UEL input uelin = db.FloatProperty() # Feedback time constant (>= 0.) tia = Seconds # Lead-lag denominator time constant (>= 0.) tb = Seconds # Lead-lag numerator time constant (>= 0.) tc = Seconds # Input lead-lag denominator time constant (>= 0.) tf = Seconds # Feedback gain (>= 0.) kia = db.FloatProperty() # Maximum voltage reference signal (> 0.) vmax = db.FloatProperty()
class Point(db.Model): location = db.GeoPtProperty(required=True) # GPS locations bearing = db.FloatProperty(required=True) # Direction of movement speed = db.FloatProperty(required=True) # Speed of movement accuracy = db.FloatProperty(required=True) # Accuracy of GPS movement wifi_power_levels = db.StringProperty( required=True ) # wifi power levels (first one is the point's own power level) timestamp = db.IntegerProperty( required=True) # the timestamp (time since 1970) in ms user_id = db.StringProperty(required=True) # Unique ID for each user
class Milestone(db.Model): latitude = db.FloatProperty() longitude = db.FloatProperty() location = db.StringProperty() time = db.IntegerProperty() description = db.StringProperty() image = db.StringProperty() journey_id = db.StringProperty(required=True)