def get_n_attachments(self, page): # Calculate independent from the widget # (e.g. widget is not refreshed when hidden) n = 0 dir = self.window.ui.notebook.get_attachments_dir(page) # XXX -> page.get_ from zim.fs import isdir for name in dir.list(): # If dir is an attachment folder, sub-pages maybe filtered out already # TODO need method in zim.fs to do this count efficiently # TODO ignore hidden files here as well if not isdir(dir.path + '/' + name): # Ignore subfolders -- FIXME ? n += 1 return n
def get_n_attachments(self, page): # Calculate independent from the widget # (e.g. widget is not refreshed when hidden) n = 0 dir = self.window.ui.notebook.get_attachments_dir( page) # XXX -> page.get_ from zim.fs import isdir for name in dir.list(): # If dir is an attachment folder, sub-pages maybe filtered out already # TODO need method in zim.fs to do this count efficiently # TODO ignore hidden files here as well if not isdir(dir.path + '/' + name): # Ignore subfolders -- FIXME ? n += 1 return n
def _attachments(self, dir): for name in dir.list(): if not isdir(dir.path + '/' + name): yield name
# Windows specific environment variables # os.environ does not support setdefault() ... if not 'USER' in os.environ or not os.environ['USER']: os.environ['USER'] = os.environ['USERNAME'] if not 'HOME' in os.environ or not os.environ['HOME']: if 'USERPROFILE' in os.environ: os.environ['HOME'] = os.environ['USERPROFILE'] elif 'HOMEDRIVE' in os.environ and 'HOMEPATH' in os.environ: home = os.environ['HOMEDRIVE'] + os.environ['HOMEPATH'] os.environ['HOME'] = home if not 'APPDATA' in os.environ or not os.environ['APPDATA']: os.environ['APPDATA'] = os.environ['HOME'] + '\\Application Data' assert isdir(get_environ('HOME')), \ 'ERROR: environment variable $HOME not set correctly' if not 'USER' in os.environ or not os.environ['USER']: # E.g. Maemo doesn't define $USER os.environ['USER'] = os.path.basename(os.environ['HOME']) logger.info('Environment variable $USER was not set') ## Initialize config paths ZIM_DATA_DIR = None #: 'data' dir relative to script file (when running from source), L{Dir} or C{None} XDG_DATA_HOME = None #: L{Dir} for XDG data home XDG_DATA_DIRS = None #: list of L{Dir} objects for XDG data dirs path XDG_CONFIG_HOME = None #: L{Dir} for XDG config home
## Check environment if os.name == 'nt': # Windows specific environment variables # os.environ does not support setdefault() ... if not 'USER' in environ or not environ['USER']: environ['USER'] = environ['USERNAME'] if not 'HOME' in environ or not environ['HOME']: if 'USERPROFILE' in environ: environ['HOME'] = environ['USERPROFILE'] elif 'HOMEDRIVE' in environ and 'HOMEPATH' in environ: environ['HOME'] = \ environ['HOMEDRIVE'] + environ['HOMEPATH'] if not 'APPDATA' in environ or not environ['APPDATA']: environ['APPDATA'] = environ['HOME'] + '\\Application Data' if not isdir(environ['HOME']): logger.error( 'Environment variable $HOME does not point to an existing folder: %s', environ['HOME']) # using our own environ here to ensure encoding if not 'USER' in environ or not environ['USER']: # E.g. Maemo doesn't define $USER environ['USER'] = os.path.basename(environ['HOME']) logger.info('Environment variable $USER was not set, set to "%s"', environ['USER'])
## Check environment if os.name == 'nt': # Windows specific environment variables # os.environ does not support setdefault() ... if not 'USER' in environ or not environ['USER']: environ['USER'] = environ['USERNAME'] if not 'HOME' in environ or not environ['HOME']: if 'USERPROFILE' in environ: environ['HOME'] = environ['USERPROFILE'] elif 'HOMEDRIVE' in environ and 'HOMEPATH' in environ: environ['HOME'] = \ environ['HOMEDRIVE'] + environ['HOMEPATH'] if not 'APPDATA' in environ or not environ['APPDATA']: environ['APPDATA'] = environ['HOME'] + '\\Application Data' assert isdir(environ['HOME']), \ 'ERROR: environment variable $HOME not set correctly value is "%s"' # using our own environ here to ensure encoding if not 'USER' in environ or not environ['USER']: # E.g. Maemo doesn't define $USER environ['USER'] = os.path.basename(environ['HOME']) logger.info('Environment variable $USER was not set, set to "%s"', environ['USER'])