/usr/lib/python2.7/dist-packages/tegaki/engine.py is in python-tegaki 0.3.1-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | # -*- coding: utf-8 -*-
# Copyright (C) 2009 The Tegaki project contributors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import platform
from tegaki.dictutils import SortedDict
class Engine(object):
"""
Base class for Recognizer and Trainer.
"""
@classmethod
def _get_search_path(cls, what):
"""
Return a list of search path.
@typ what: str
@param what: "models" or "engines"
"""
libdir = os.path.dirname(os.path.abspath(__file__))
try:
# UNIX
homedir = os.environ['HOME']
homeengines = os.path.join(homedir, ".tegaki", what)
except KeyError:
# Windows
homedir = os.environ['USERPROFILE']
homeengines = os.path.join(homedir, "tegaki", what)
search_path = [# For Unix
"/usr/local/share/tegaki/%s/" % what,
"/usr/share/tegaki/%s/" % what,
# for Maemo
"/media/mmc1/tegaki/%s/" % what,
"/media/mmc2/tegaki/%s/" % what,
# personal directory
homeengines,
# lib dir
os.path.join(libdir, what)]
# For Windows
try:
search_path += [os.path.join(os.environ["APPDATA"], "tegaki",
what),
r"C:\Python25\share\tegaki\%s" % what,
r"C:\Python26\share\tegaki\%s" % what]
except KeyError:
pass
# For OSX
if platform.system() == "Darwin":
search_path += [os.path.join(homedir, "Library",
"Application Support", "tegaki", what),
os.path.join("/Library", "Application Support",
"tegaki", what)]
try:
env = {"engines": "TEGAKI_ENGINE_PATH",
"models" : "TEGAKI_MODEL_PATH"}[what]
if env in os.environ and \
os.environ[env].strip() != "":
search_path += os.environ[env].strip().split(os.path.pathsep)
except KeyError:
pass
return search_path
@classmethod
def read_meta_file(cls, meta_file):
"""
Read a .meta file.
@type meta_file: str
@param meta_file: meta file file to read
@rtype: dict
"""
f = open(meta_file)
ret = SortedDict()
for line in f.readlines():
try:
key, value = [s.strip() for s in line.strip().split("=")]
ret[key] = value
except ValueError:
continue
f.close()
return ret
|