# Path: l5r/util/log.py
# def log_setup(base_path, base_name):
# 
# Path: l5r/util/settings.py
# class L5RCMSettings(object):
#     """A QSettings wrapper for easy access to application settings"""
# 
#     def __init__(self):
#         self._qsettings = QSettings()
# 
#         # Application settings
#         self._app = L5RCMSettings_App(self._qsettings)
#         # UI settings
#         self._ui = L5RCMSettings_UI(self._qsettings)
#         # PC export PDF generation settings
#         self._pc_export = L5RCMSettings_PcExport(self._qsettings)
#         # NPC export PDF generation settings
#         self._npc_export = L5RCMSettings_NpcExport(self._qsettings)
# 
#     @property
#     def app(self):
#         return self._app
# 
#     @property
#     def ui(self):
#         return self._ui
# 
#     @property
#     def pc_export(self):
#         return self._pc_export
# 
#     @property
#     def npc_export(self):
#         return self._npc_export
# 
#     def sync(self):
#         self._qsettings.sync()
# 
#     def load_defaults(self):
#         self._app.load_defaults()
#         self._ui.load_defaults()
#         self._pc_export.load_defaults()
#         self._npc_export.load_defaults()


from PyQt5 import QtCore, QtGui
from l5r.util import log
from l5r.util.settings import L5RCMSettings
import l5r.api as api
import l5r.api.rules
import l5r.api.data
import l5r.api.data.skills
import l5r.api.character.skills
        self.beginInsertRows(QtCore.QModelIndex(), row, row)
        self.items.append(item)
        self.endInsertRows()

    def clean(self):
        self.beginResetModel()
        self.items = []
        self.endResetModel()

    def build_item_model(self, sk):
        itm = SkillItemModel()
        itm.skill_id = sk.id
        itm.name = sk.name

        trait = api.data.get_trait_or_ring(sk.trait)

        if trait:
            itm.trait = trait.text
        else:
            itm.trait = sk.trait

        return itm

    def update_from_model(self, model):

        self.clean()
        for s in api.character.skills.get_all():

            sk = api.data.skills.get(s)


# Path: l5r/util/log.py
# def log_setup(base_path, base_name):
# 
# Path: l5r/util/settings.py
# class L5RCMSettings(object):
#     """A QSettings wrapper for easy access to application settings"""
# 
#     def __init__(self):
#         self._qsettings = QSettings()
# 
#         # Application settings
#         self._app = L5RCMSettings_App(self._qsettings)
#         # UI settings
#         self._ui = L5RCMSettings_UI(self._qsettings)
#         # PC export PDF generation settings
#         self._pc_export = L5RCMSettings_PcExport(self._qsettings)
#         # NPC export PDF generation settings
#         self._npc_export = L5RCMSettings_NpcExport(self._qsettings)
# 
#     @property
#     def app(self):
#         return self._app
# 
#     @property
#     def ui(self):
#         return self._ui
# 
#     @property
#     def pc_export(self):
#         return self._pc_export
# 
#     @property
#     def npc_export(self):
#         return self._npc_export
# 
#     def sync(self):
#         self._qsettings.sync()
# 
#     def load_defaults(self):
#         self._app.load_defaults()
#         self._ui.load_defaults()
#         self._pc_export.load_defaults()
#         self._npc_export.load_defaults()


# Path: l5r/models/skillmodel.py
from PyQt5 import QtCore, QtGui
from l5r.util import log
from l5r.util.settings import L5RCMSettings
import l5r.api as api
import l5r.api.rules
import l5r.api.data
import l5r.api.data.skills
import l5r.api.character.skills

        self.beginInsertRows(QtCore.QModelIndex(), row, row)
        self.items.append(item)
        self.endInsertRows()

    def clean(self):
        self.beginResetModel()
        self.items = []
        self.endResetModel()

    def build_item_model(self, sk):
        itm = SkillItemModel()
        itm.skill_id = sk.id
        itm.name = sk.name

        trait = api.data.get_trait_or_ring(sk.trait)

        if trait:
            itm.trait = trait.text
        else:
            itm.trait = sk.trait

        return itm

    def update_from_model(self, model):

        self.clean()
        for s in api.character.skills.get_all():

            sk = api.data.skills.get(s)


            if not sk: