Module Gnumed.pycommon.gmPrinting
GNUmed printing.
Functions
def print_files(filenames: list = None,
jobtype: str = None,
print_api: str = None,
verbose: bool = False) ‑> bool-
Expand source code
def print_files(filenames:list=None, jobtype:str=None, print_api:str=None, verbose:bool=False) -> bool: """Print files. Args: filenames: list of files to print jobtype: type of print job, passed on to print backends print_api: the print backend to use, will try all backends if None or unknown backend Returns: status """ _log.debug('printing "%s": %s', jobtype, filenames) for fname in filenames: try: open(fname, 'r').close() except Exception: _log.exception('cannot open [%s], aborting', fname) return False if jobtype not in KNOWN_PRINTJOB_TYPES: print("unregistered print job type <%s>" % jobtype) _log.warning('print job type "%s" not registered', jobtype) if print_api not in external_print_APIs: _log.warning('print API "%s" unknown, trying all', print_api) if print_api == 'os_startfile': return _print_files_by_os_startfile(filenames = filenames) if print_api == 'gm-print_doc': return _print_files_by_shellscript(filenames = filenames, jobtype = jobtype, verbose = verbose) if print_api == 'gsprint': return _print_files_by_gsprint_exe(filenames = filenames, verbose = verbose) if print_api == 'acrobat_reader': return _print_files_by_acroread_exe(filenames = filenames, verbose = verbose) if print_api == 'gtklp': return _print_files_by_gtklp(filenames = filenames, verbose = verbose) if print_api == 'Internet_Explorer': return _print_files_by_IE(filenames = filenames) if print_api == 'Mac_Preview': return _print_files_by_mac_preview(filenames = filenames, verbose = verbose) # not any single print_api explicitely requested, so try all, per-platform if (sys.platform == 'darwin') or (os.name == 'mac'): if _print_files_by_mac_preview(filenames = filenames, verbose = verbose): return True elif os.name == 'posix': if _print_files_by_gtklp(filenames = filenames, verbose = verbose): return True elif os.name == 'nt': if _print_files_by_shellscript(filenames = filenames, jobtype = jobtype, verbose = verbose): return True if _print_files_by_gsprint_exe(filenames = filenames, verbose = verbose): return True if _print_files_by_acroread_exe(filenames = filenames, verbose = verbose): return True if _print_files_by_os_startfile(filenames = filenames): return True if _print_files_by_IE(filenames = filenames): return True return False # unknown platform, or platform default list failed, so try generic script return _print_files_by_shellscript(filenames = filenames, jobtype = jobtype, verbose = verbose)
Print files.
Args
filenames
- list of files to print
jobtype
- type of print job, passed on to print backends
print_api
- the print backend to use, will try all backends if None or unknown backend
Returns
status