This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from peewee import * | |
import datetime | |
db = SqliteDatabase('my_database.db') | |
class User(Model): | |
username = CharField(unique=True) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@dataclass(frozen=True, eq=True) | |
class SiteStats: | |
"""Reporting stats for a site.""" | |
last_reporting_time: datetime.datetime | |
meter_reading_count: int | |
max_wh_generated: float | |
min_wh_generated: float | |
max_capacity: float |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In [3]: import datetime | |
In [4]: now = datetime.datetime.now() | |
In [5]: stats = SiteStats(last_reporting_time=now, meter_reading_count=5, max_wh_generated=22, min_wh_generated=1, max_capacity=100) | |
In [6]: stats | |
Out[6]: SiteStats(last_reporting_time=datetime.datetime(2020, 7, 31, 15, 8, 45, 109063), meter_reading_count=5, max_wh_generated=22, min_wh_generated=1, max_capacity=100) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In [8]: data = SiteStatsSchema().dump(stats) | |
In [9]: data | |
Out[9]: | |
{'meter_reading_count': 5, | |
'min_wh_generated': 1.0, | |
'last_reporting_time': '2020-07-31T15:08:45.109063', | |
'max_wh_generated': 22.0, | |
'max_capacity': 100.0} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In [10]: stats2 = SiteStatsSchema().load(data) | |
In [11]: stats == stats2 | |
Out[11]: True |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In [13]: SiteStatsSchema().load({"meter_reading_count": "hey"}) | |
[…] | |
ValidationError: {'meter_reading_count': ['Not a valid integer.'], 'min_wh_generated': ['Missing data for required field.'], 'last_reporting_time': ['Missing data for required field.'], 'max_wh_generated': ['Missing data for required field.'], 'max_capacity': ['Missing data for required field.']} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SiteStatsSchema = marshmallow_dataclass.class_schema(SiteStats) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Moved to: https://github.com/abrookins/kant |
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<scheme name="Kant" version="142" parent_scheme="Default"> | |
<option name="FONT_SCALE" value="1.0" /> | |
<metaInfo> | |
<property name="created">2020-08-11T14:43:37</property> | |
<property name="ide">Python</property> | |
<property name="ideVersion">2020.2.0.0</property> | |
<property name="modified">2020-08-11T14:43:46</property> | |
<property name="originalScheme">Kant</property> | |
</metaInfo> | |
<option name="LINE_SPACING" value="1.0" /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Moved to: https://github.com/abrookins/kant |