#!/usr/bin/env python # -*- coding: utf-8 -*- import os import logging import utils # Output to file logfilepath = utils.toolkitdir("Pinyin Toolkit.log") try: # Try to use a rotating file if possible: import logging.handlers loghandler = logging.handlers.RotatingFileHandler(logfilepath, encoding="UTF-8", maxBytes=40000, backupCount=0) except ImportError: # Delete the log file first to make sure it doesn't grow /too/ much try: os.remove(logfilepath) except IOError, e: # Happens in event of some quite serious problem, I guess :-) pass except OSError, e: # Happens in event of file not existing pass # Fall back on non-rotating handler loghandler = logging.FileHandler(logfilepath, encoding="UTF-8")
import sys import os # Set up the path Python uses to look for import packages to # include the 3rd-party dependencies we have folded in import utils # Sanity prevails from this point: sys.path.append(utils.toolkitdir("pinyin", "vendor", "python27")) sys.path.append(utils.toolkitdir("pinyin", "vendor", "cjklib")) sys.path.append(utils.toolkitdir("pinyin", "vendor", "sqlalchemy", "lib")) import config import db import dictionary import languages import logger import media import meanings import mocks import model import numberutils import statistics import transformations #import anki # Don't import the anki submodule because it imports lots of anki stuff, # and if we're running from the command line it won't be available #import forms # Same goes for this guy # Expose package metadata via the quasi-standard __version__ # attribute: http://www.python.org/dev/peps/pep-0008/
import sys import os # Set up the path Python uses to look for import packages to # include the 3rd-party dependencies we have folded in import utils # cjklib uses standard library functions from Python 2.5: we emulate # them until Anki upgrades if sys.version_info[0:2] < (2, 5): sys.path.append(utils.toolkitdir("pinyin", "vendor", "python25")) # Anki excludes some standard Python modules from its new 2.6 distribution. Why God, why? try: import ConfigParser except ImportError: sys.path.append(utils.toolkitdir("pinyin", "vendor", "perverseness")) # Sanity prevails from this point: for vendor_package in ["cjklib"]: sys.path.append(utils.toolkitdir("pinyin", "vendor", vendor_package)) import config import db import dictionary import languages import logger import media import meanings import mocks import model
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import logging import utils # Output to file logfilepath = utils.toolkitdir("Pinyin Toolkit.log") try: # Try to use a rotating file if possible: import logging.handlers loghandler = logging.handlers.RotatingFileHandler(logfilepath, encoding="UTF-8", maxBytes=40000, backupCount=0) except ImportError: # Delete the log file first to make sure it doesn't grow /too/ much try: os.remove(logfilepath) except IOError, e: # Happens in event of some quite serious problem, I guess :-) pass except OSError, e: # Happens in event of file not existing pass # Fall back on non-rotating handler loghandler = logging.FileHandler(logfilepath, encoding="UTF-8") # Format quite verbosely, so we can grep for WARN loghandler.setFormatter(logging.Formatter(u"%(asctime)s - %(levelname)s - %(message)s"))