diff options
Diffstat (limited to 'tools/utils')
-rw-r--r-- | tools/utils/common.py | 13 | ||||
-rw-r--r-- | tools/utils/libconf.py | 11 |
2 files changed, 17 insertions, 7 deletions
diff --git a/tools/utils/common.py b/tools/utils/common.py index 7b7811654..06695751a 100644 --- a/tools/utils/common.py +++ b/tools/utils/common.py @@ -21,7 +21,11 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. import io -import libconf as libconf +import sys +if sys.version_info >= (3, 0): + from utils import libconf as libconf +else: + import libconf as libconf import os.path def LoadDBConsts(DBname, mode, serverpath): @@ -35,13 +39,13 @@ def LoadDBConsts(DBname, mode, serverpath): with io.open(filename) as f: config = libconf.load(f) db = config[DBname] - if DBname is 'item_db': + if DBname == 'item_db': for i, v in enumerate(db): consts[db[i].Id] = db[i].AegisName - elif DBname is 'mob_db': + elif DBname == 'mob_db': for i, v in enumerate(db): consts[db[i].Id] = db[i].SpriteName - elif DBname is 'skill_db': + elif DBname == 'skill_db': for i, v in enumerate(db): consts[db[i].Id] = db[i].Name else: @@ -55,7 +59,6 @@ def LoadDB(DBname, mode, serverpath): if os.path.isfile(serverpath + 'db/{}2.conf'.format(DBname)): filenames.append(serverpath + 'db/{}2.conf'.format(DBname)) - consts = dict() for filename in filenames: with io.open(filename) as f: config = libconf.load(f) diff --git a/tools/utils/libconf.py b/tools/utils/libconf.py index 635efd07d..7f9d6de90 100644 --- a/tools/utils/libconf.py +++ b/tools/utils/libconf.py @@ -226,8 +226,15 @@ class Tokenizer: for cls, type, regex in self.token_map: m = regex.match(string, pos=pos) if m: - yield cls(type, m.group(0), - self.filename, self.row, self.column) + try: + yield cls(type, m.group(0), + self.filename, self.row, self.column) + except ValueError as e: + print("Error parsing file " + "{0}, in line:\n{1}\n{2}".format(self.filename, + m.group(0), + self.row)) + raise self.column += len(m.group(0)) pos = m.end() break |