def load_renderers(cls): renderers = [] # Add library path to sys.path LibraryPathManager.push_search_path(os.path.dirname(sys.executable)) LibraryPathManager.add_search_path_if_not_exists( os.path.join(__path__, './Renderers/libs/')) # Change the current directory to that of the module. It's not safe to just # add the modules directory to sys.path, as that won't accept unicode paths # on Windows renderers_path = os.path.join(__path__, 'Renderers/') oldpath = os.getcwdu() os.chdir(os.path.join(__path__, '..')) try: module_list = [ f for f in os.listdir(renderers_path) if f.endswith('Renderer.py') ] # Load each renderer for module_file in module_list: module_name = 'OmniMarkupLib.Renderers.' + module_file[:-3] cls._load_renderer(renderers, module_file, module_name) finally: # Restore the current directory os.chdir(oldpath) LibraryPathManager.pop_search_path() with cls.RW_LOCK.writelock: cls.RENDERERS = renderers
def load_renderers(cls): renderers = [] # Add library path to sys.path LibraryPathManager.push_search_path(os.path.dirname(sys.executable)) LibraryPathManager.add_search_path_if_not_exists(os.path.join(__path__, './Renderers/libs/')) # Change the current directory to that of the module. It's not safe to just # add the modules directory to sys.path, as that won't accept unicode paths # on Windows renderers_path = os.path.join(__path__, 'Renderers/') oldpath = os.getcwdu() os.chdir(os.path.join(__path__, '..')) try: module_list = [f for f in os.listdir(renderers_path) if f.endswith('Renderer.py') ] # Load each renderer for module_file in module_list: module_name = 'OmniMarkupLib.Renderers.' + module_file[:-3] cls._load_renderer(renderers, module_file, module_name) finally: # Restore the current directory os.chdir(oldpath) LibraryPathManager.pop_search_path() with cls.RW_LOCK.writelock: cls.RENDERERS = renderers
try: os.makedirs(folder) except: pass _mk_folders([USER_STATIC_FILES_DIR, USER_TEMPLATE_FILES_DIR]) LibraryPathManager.push_search_path(os.path.dirname(sys.executable)) LibraryPathManager.push_search_path(os.path.join(__path__, 'libs')) try: from cherrypy import wsgiserver import bottle from bottle import Bottle, ServerAdapter from bottle import static_file, request, template finally: LibraryPathManager.pop_search_path() LibraryPathManager.pop_search_path() bottle.TEMPLATE_PATH = [USER_TEMPLATE_FILES_DIR, DEFAULT_TEMPLATE_FILES_DIR] # Create a new app stack app = Bottle() @app.route('/public/<filepath:path>') def handler_public(filepath): """ Serving static files """ global DEFAULT_STATIC_FILES_DIR # User static files have a higher priority if os.path.exists(os.path.join(USER_STATIC_FILES_DIR, filepath)):
import mimetypes import sublime from OmniMarkupLib.Setting import Setting from OmniMarkupLib.Common import RWLock, RenderedMarkupCache, RenderedMarkupCacheEntry from OmniMarkupLib import LibraryPathManager from OmniMarkupLib import log __file__ = os.path.normpath(os.path.abspath(__file__)) __path__ = os.path.dirname(__file__) LibraryPathManager.push_search_path(os.path.dirname(sys.executable)) LibraryPathManager.push_search_path(os.path.join(__path__, 'libs')) try: from bottle import template finally: LibraryPathManager.pop_search_path() LibraryPathManager.pop_search_path() class WorkerQueueItem(object): def __init__(self, timestamp=0, fullpath='untitled', lang='', text=''): self.timestamp = timestamp self.fullpath = fullpath or 'untitled' self.lang = lang self.text = text class RendererWorker(threading.Thread): def __init__(self, mutex): threading.Thread.__init__(self) self.cond = threading.Condition(mutex)