Browse Source

Add new Config Parameter via cbpi api

tags/3.0
Manuel83 8 years ago
parent
commit
c07e3f4d79
2 changed files with 35 additions and 10 deletions
  1. +8
    -0
      modules/core/core.py
  2. +27
    -10
      modules/core/db.py

+ 8
- 0
modules/core/core.py View File

@@ -9,6 +9,8 @@ from flask_classy import FlaskView, route

from time import localtime, strftime
from functools import wraps, update_wrapper


from props import *

from hardware import *
@@ -246,6 +248,12 @@ class CraftBeerPi(ActorAPI, SensorAPI):
else:
return cfg.value

def add_config_parameter(self, name, value, type, description, options=None):
from modules.config import Config
with self.app.app_context():
Config.insert(**{"name":name, "value": value, "type": type, "description": description, "options": options})


def clear_cache(self, key, is_array=False):
if is_array:
self.cache[key] = []


+ 27
- 10
modules/core/db.py View File

@@ -76,18 +76,35 @@ class DBModel(object):
def insert(cls, **kwargs):
cur = get_db().cursor()

query = 'INSERT INTO %s (%s) VALUES (%s)' % (
cls.__table_name__,
', '.join("'%s'" % str(x) for x in cls.__fields__),
', '.join(['?'] * len(cls.__fields__)))

data = ()
for f in cls.__fields__:
if f in cls.__json_fields__:
data = data + (json.dumps(kwargs.get(f)),)
else:
data = data + (kwargs.get(f),)
if cls.__priamry_key__ is not None and kwargs.has_key(cls.__priamry_key__):
query = "INSERT INTO %s (%s, %s) VALUES (?, %s)" % (
cls.__table_name__,
cls.__priamry_key__,
', '.join("'%s'" % str(x) for x in cls.__fields__),
', '.join(['?'] * len(cls.__fields__)))
data = ()
data = data + (kwargs.get(cls.__priamry_key__),)
for f in cls.__fields__:
if f in cls.__json_fields__:
data = data + (json.dumps(kwargs.get(f)),)
else:
data = data + (kwargs.get(f),)
else:

query = 'INSERT INTO %s (%s) VALUES (%s)' % (
cls.__table_name__,
', '.join("'%s'" % str(x) for x in cls.__fields__),
', '.join(['?'] * len(cls.__fields__)))

data = ()
for f in cls.__fields__:
if f in cls.__json_fields__:
data = data + (json.dumps(kwargs.get(f)),)
else:
data = data + (kwargs.get(f),)

print query, data
cur.execute(query, data)
get_db().commit()
i = cur.lastrowid


Loading…
Cancel
Save