# 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/util/log.py
# def log_setup(base_path, base_name):


import l5r.api as api
import l5r.api.character
import l5r.api.character.schools
import l5r.api.data.powers
import l5r.api.data.schools
import l5r.api.data.spells
import l5r.api.rules
import l5r.models as models
from l5r.util.settings import L5RCMSettings
from l5r.util import log

    def split_in_parts(self, text, max_lines=6):
        try:
            words = text.split(' ')
            tl = len(text)
            avg_chars_per_line = int(tl / max_lines)

            lines = []

            cl = 0
            i = 0
            line = ''
            while True:
                if i >= len(words):
                    break
                if cl < (avg_chars_per_line - 3):
                    line += words[i] + ' '
                    cl = len(line)
                    i += 1
                else:
                    cl = 0
                    lines.append(line)
                    line = ''

            if len(line):
                lines.append(line)

            return lines

        except:

# 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/util/log.py
# def log_setup(base_path, base_name):


# Path: l5r/exporters/fdfexporter.py
import l5r.api as api
import l5r.api.character
import l5r.api.character.schools
import l5r.api.data.powers
import l5r.api.data.schools
import l5r.api.data.spells
import l5r.api.rules
import l5r.models as models
from l5r.util.settings import L5RCMSettings
from l5r.util import log


    def split_in_parts(self, text, max_lines=6):
        try:
            words = text.split(' ')
            tl = len(text)
            avg_chars_per_line = int(tl / max_lines)

            lines = []

            cl = 0
            i = 0
            line = ''
            while True:
                if i >= len(words):
                    break
                if cl < (avg_chars_per_line - 3):
                    line += words[i] + ' '
                    cl = len(line)
                    i += 1
                else:
                    cl = 0
                    lines.append(line)
                    line = ''

            if len(line):
                lines.append(line)

            return lines

        except:

            log.app.error('Text split error', ext_info=1, stack_info=True)