当前位置: 首页>>代码示例>>Python>>正文


Python Database.update_tables_for_module方法代码示例

本文整理汇总了Python中skarphedcore.database.Database.update_tables_for_module方法的典型用法代码示例。如果您正苦于以下问题:Python Database.update_tables_for_module方法的具体用法?Python Database.update_tables_for_module怎么用?Python Database.update_tables_for_module使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在skarphedcore.database.Database的用法示例。


在下文中一共展示了Database.update_tables_for_module方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: update_module

# 需要导入模块: from skarphedcore.database import Database [as 别名]
# 或者: from skarphedcore.database.Database import update_tables_for_module [as 别名]
    def update_module(cls,module):
        """
        updates the given module
        """
        # - neueste versionsnummer holen
        # - pruefen ob bereits auf fs vorhanden
        #   - wenn nein, holen
        # - neues modul laden
        # - tabellen aendern
        # - permissions aendern
        # - datenbank-versionseintraege updaten
        if module.__class__.__name__ != "Module":
            nr = cls._get_module_id_from_name(module_meta["name"])
            module = cls.get_module(nr)

        modpath = Configuration().get_entry('global.modpath')

        repo = cls.get_repository()
        latest_version = repo.get_latest_version(module)

        latest_path = modpath+"/"+latest_version["name"]+"/v"+\
                              str(latest_version["version_major"])+"_"+ \
                              str(latest_version["version_minor"])+"_"+ \
                              str(latest_version["revision"])

        if cls.compare_versions(latest_version, module) == 1:
            if not os.path.exists(latest_path):
                datapath = repo.download_module(latest_version)
                os.mkdir(latest_path)
                tar = tarfile.open(datapath, "r:gz")
                tar.extractall(latest_path)
            nr = cls._get_module_id_from_name(latest_version["name"])

            db = Database()
            stmnt = "UPDATE MODULES SET MOD_VERSIONMAJOR = ?, \
                                        MOD_VERSIONMINOR = ?, \
                                        MOD_VERSIONREV = ? \
                        WHERE MOD_ID = ? ;"
            db.query(stmnt,(latest_version["version_major"],
                                       latest_version["version_minor"],
                                       latest_version["revision"], 
                                       nr),commit=True)
            updated_module = cls.get_module(nr)
            db.update_tables_for_module(updated_module)
            Permission.update_permissions_for_module(updated_module)

        PokeManager.add_activity(ActivityType.MODULE)
开发者ID:skarphed,项目名称:skarphed,代码行数:49,代码来源:module.py


注:本文中的skarphedcore.database.Database.update_tables_for_module方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。