Esempio n. 1
0
# Filename: db.py
# Version : 0.1
# Author  : Lisa Esselink
# Purpose : DB access functions
# Usage   : Database functions to store and retrieve data
#
# Copyright (c) Lisa Esselink. All rights reserved.
# Licensend under the Creative Commons Attribution-NonCommercial 4.0 International License.
# See LICENSE file in the project root for full license information.
#

import filedb as uorm, os, sys
from ucollections import OrderedDict
from . import core

_dbc = uorm.DB(core.working_dir + "config")
_config = {}


class configTable(uorm.Model):

    # Create config table
    __db__ = _dbc
    __table__ = "config"
    __schema__ = OrderedDict([
        ("timestamp", uorm.now),
        ("name", "uPyEasy"),
        ("unit", 0),
        ("port", 80),
        ("ssl", "off"),
        ("password", ""),
Esempio n. 2
0
import os
import sys
from ucollections import OrderedDict, namedtuple
import ujson
import utime
import uos

import filedb
from . import shared

db = filedb.DB(shared.farm_dir+"db")

class BaseModel(filedb.Model):
    __db__ = db
    __table__ = None
    __schema__ = None
    __fields__ = None


    @classmethod
    def row(cls):
        try:
            return next(cls.rows())
        except StopIteration:
            return None
    
    @classmethod
    def json2row(cls, obj):
        return {k: obj.get(k) for k in cls.__fields__}
    
    @classmethod
Esempio n. 3
0
from ucollections import OrderedDict
import filedb as uorm

db = uorm.DB("notes-db")


class Note(uorm.Model):

    __db__ = db
    __table__ = "note"
    __schema__ = OrderedDict([
        ("timestamp", ("TIMESTAMP", uorm.now)),
        ("archived", ("INT", 0)),
        ("content", ("TEXT", "")),
    ])

    @classmethod
    def mapkeys(cls, obj):
        return [obj.get(k) for k in cls.__schema__.keys()]

    @classmethod
    def public(cls):
        res = [x for x in cls.scan() if x.archived == 0]
        res.sort(key=lambda x: x.timestamp, reverse=True)
        return res
Esempio n. 4
0
from ucollections import OrderedDict
import filedb as uorm

db = uorm.DB("login-db")


class LoginData(uorm.Model):

    __db__ = db
    __table__ = "login"
    __schema__ = OrderedDict([
        ("timestamp", ("TIMESTAMP", uorm.now)),
        ("archived", ("INT", 0)),
        ("username", ("TEXT", "")),
        ("password", ("TEXT", "")),
        ("email", ("TEXT", "")),
        ("street", ("TEXT", "")),
        ("city", ("TEXT", "")),
        ("postcode", ("TEXT", "")),
        ("country", ("TEXT", "")),
        ("mobile", ("TEXT", "")),
        ("content", ("TEXT", "")),
    ])

    @classmethod
    def mapkeys(cls, obj):
        return [obj.get(k) for k in cls.__schema__.keys()]

    @classmethod
    def public(cls):
        res = [x for x in cls.scan() if x.archived == 0]