本文整理汇总了Python中domogik.common.database.DbHelper.update_plugin方法的典型用法代码示例。如果您正苦于以下问题:Python DbHelper.update_plugin方法的具体用法?Python DbHelper.update_plugin怎么用?Python DbHelper.update_plugin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类domogik.common.database.DbHelper
的用法示例。
在下文中一共展示了DbHelper.update_plugin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PackageData
# 需要导入模块: from domogik.common.database import DbHelper [as 别名]
# 或者: from domogik.common.database.DbHelper import update_plugin [as 别名]
class PackageData():
""" Tool to insert necessary data in database
"""
def __init__(self, json_path):
""" Init tool
@param plugin_name : plugin name
"""
self._db = DbHelper()
try:
self.pkg = PackageJson(path = json_path).json
except PackageException as exp:
print("Error in json file:")
print( exp.value )
exit()
except:
print(str(traceback.format_exc()))
return
print("Json file OK")
# check type == plugin
if self.pkg["identity"]["type"] not in ["plugin", "external"]:
print("Error : this package type is not recognized")
exit()
# check if json version is at least 2
if self.pkg['json_version'] < 2:
print("Error : this package is to old for this version of domogik")
exit()
def insert(self):
""" Insert data for plugin
"""
### Plugin
print("plugin %s" % self.pkg["identity"]["id"])
if self._db.get_plugin(self.pkg["identity"]["id"]) == None:
# add if not exists
print("add...")
self._db.add_plugin(self.pkg["identity"]["id"],
self.pkg["identity"]["description"],
self.pkg["identity"]["version"])
else:
# update if exists
print("update...")
self._db.update_plugin(self.pkg["identity"]["id"],
self.pkg["identity"]["description"],
self.pkg["identity"]["version"])
### Device types
for device_type in self.pkg["device_types"].keys():
print("Device type %s" % device_type)
device_type = self.pkg["device_types"][device_type]
if self._db.get_device_type_by_id(device_type["id"]) == None:
# add if not exists
print("add...")
self._db.add_device_type(device_type["id"],
device_type["name"],
self.pkg["identity"]["id"],
device_type["description"])
else:
# update if exists
print("update...")
self._db.update_device_type(device_type["id"],
device_type["name"],
self.pkg["identity"]["id"],
device_type["description"])