def define_jobs_context(self, context): logger.setLevel(logging.DEBUG) options = self.get_options() src_dir = options.src out_dir = options.output generate_pdf = options.pdf output_file = options.output_file remove = options.remove stylesheet = options.stylesheet bibfile = os.path.join(src_dir, 'bibliography/bibliography.html') if out_dir is None: out_dir = os.path.join('out', 'mcdp_render_manual') manual_jobs( context, src_dir=src_dir, output_file=output_file, generate_pdf=generate_pdf, bibfile=bibfile, stylesheet=stylesheet, remove=remove, )
def define_jobs_context(self, context): ifilename = self.options.filename output_dir = self.options.output_dir mathjax = self.options.mathjax preamble = self.options.preamble # disqus = self.options.disqus logger.setLevel(logging.DEBUG) if self.options.workers != 0: n = self.options.workers else: n = max(1, cpu_count() - 2) self.debug("Using n = %d workers" % n) data = open(ifilename).read() h = get_md5(data)[-4:] jobs = [] for i in range(n): promise = context.comp_dynamic(go, i, n, ifilename, mathjax, preamble, output_dir, job_id='worker-%d-of-%d-%s' % (i, n, h)) jobs.append(promise.job_id)
def define_jobs_context(self, context): from mcdp import logger logger.setLevel(logging.DEBUG) options = self.get_options() params = options.get_extra() if len(params) < 1: seeds = None #raise ValueError('Please specify some model names to be used as seeds.') else: seeds = params config_dirs = options.config_dirs.split(":") maindir = options.maindir res = context.comp(find_dependencies, config_dirs=config_dirs, maindir=maindir, seeds=seeds) print('config_dirs: {}'.format(config_dirs)) print('maindir: {}'.format(maindir)) context.comp_dynamic(other_jobs, maindir=maindir, config_dirs=config_dirs, outdir=options.output, res=res) r = context.comp(draw_depgraph, res) context.add_report(r, 'draw') r = context.comp(draw_libdepgraph, res) context.add_report(r, 'libdepgraph')
def go(self): logger.setLevel(logging.DEBUG) options = self.get_options() if not options.contracts: logger.debug('Disabling PyContrats. Use --contracts to enable.') disable_all() if options.expect_nimp is not None: options.imp = True params = options.get_extra() if len(params) < 1: raise ValueError('Please specify model name.') model_name = params[0] # drop the extension if '.mcdp' in model_name or '/' in model_name: msg = 'The model name should not contain extension or /.' raise UserError(msg) max_steps = options.max_steps _exp_advanced = options.advanced expect_nres = options.expect_nres lower = options.lower upper = options.upper out_dir = options.out query_strings = params[1:] intervals = options.intervals imp = options.imp expect_nimp = options.expect_nimp make = options.make if make: imp = True plot = options.plot do_movie = options.movie expect_res = None config_dirs = options.config_dirs.split(":") maindir = options.maindir if options.cache: if out_dir is None: out_dir = 'out-mcdp_solve' cache_dir = os.path.join(out_dir, '_cached', 'solve') else: cache_dir = None solve_main(logger, config_dirs, maindir, cache_dir, model_name, lower, upper, out_dir, max_steps, query_strings, intervals, _exp_advanced, expect_nres, imp, expect_nimp, plot, do_movie, expect_res, make)
def define_jobs_context(self, context): options = self.get_options() if options.mcdp_settings: MCDPManualConstants.activate_tilde_as_nbsp = False MCDPConstants.softy_mode = False logger.setLevel(logging.DEBUG) src = options.src src_dirs = [_.strip() for _ in src.split(":") if _ and _.strip()] self.info("Src dirs: \n" + "\n -".join(src_dirs)) raise_errors = options.raise_errors out_dir = options.output generate_pdf = options.pdf output_file = options.output_file remove = options.remove stylesheet = options.stylesheet symbols = options.symbols do_last_modified = options.last_modified use_mathjax = True if options.mathjax else False logger.info('use mathjax: %s' % use_mathjax) logger.info('use symbols: %s' % symbols) if symbols is not None: symbols = open(symbols).read() if out_dir is None: out_dir = os.path.join('out', 'mcdp_render_manual') for s in src_dirs: check_bad_input_file_presence(s) resolve_references = not options.no_resolve_references manual_jobs(context, src_dirs=src_dirs, output_file=output_file, generate_pdf=generate_pdf, stylesheet=stylesheet, remove=remove, use_mathjax=use_mathjax, raise_errors=raise_errors, symbols=symbols, resolve_references=resolve_references, do_last_modified=do_last_modified)
def define_jobs_context(self, context): ifilename = self.options.filename output_dir = self.options.output_dir mathjax = self.options.mathjax preamble = self.options.preamble nworkers = self.options.workers logger.setLevel(logging.DEBUG) self.debug("Using n = %d workers" % nworkers) data = open(ifilename).read() data_aug = AugmentedResult() data_aug.set_result(data) create_split_jobs(context, data_aug, mathjax, preamble, output_dir, nworkers=nworkers)
def go(self): from mcdp import logger logger.setLevel(logging.DEBUG) options = self.get_options() if not options.contracts: disable_all() params = options.get_extra() if len(params) < 1: raise ValueError('Please specify name.') name = params[0] config_dirs = options.config_dirs.split(":") maindir = options.maindir out_dir = options.out if out_dir is None: out_dir = os.path.join('out', 'mcdp_eval') if options.cache: cache_dir = os.path.join(out_dir, '_cached', 'solve') else: cache_dir = None librarian = Librarian() for e in config_dirs: librarian.find_libraries(e) library = librarian.get_library_by_dir(maindir) if cache_dir is not None: library.use_cache_dir(cache_dir) context = library._generate_context_with_hooks() c = library.load_constant(name, context) print(c)
def go(self): logger.setLevel(logging.DEBUG) options = self.get_options() symbols = self.options.symbols if symbols is not None: symbols = open(symbols).read() else: symbols = '' if not options.contracts: disable_all() stylesheet = options.stylesheet # make sure it exists get_css_filename('compiled/%s' % stylesheet) params = options.get_extra() if len(params) < 1: raise ValueError('Please specify name.') config_dirs = options.config_dirs.split(":") maindir = options.maindir out_dir = options.out if options.cache: cache_dir = os.path.join(out_dir, '_cached', 'solve') else: cache_dir = None librarian = Librarian() for e in config_dirs: librarian.find_libraries(e) library = librarian.get_library_by_dir(maindir) if cache_dir is not None: library.use_cache_dir(cache_dir) docs = params if not docs: msg = 'At least one argument required.' raise_desc(UserError, msg) for docname in docs: if '/' in docname: docname0 = os.path.split(docname)[-1] logger.info("Using %r rather than %r" % (docname0, docname)) docname = docname0 suffix = '.' + MCDPConstants.ext_doc_md if docname.endswith(suffix): docname = docname.replace(suffix, '') basename = docname + suffix f = library._get_file_data(basename) data = f['data'] realpath = f['realpath'] generate_pdf = options.pdf_figures if out_dir is None: use_out_dir = os.path.dirname(realpath) else: use_out_dir = os.path.join('out', 'mcdp_render') raise_errors = not options.forgiving use_mathjax = bool(options.mathjax) html_filename = render(library, docname, data, realpath, use_out_dir, generate_pdf, stylesheet=stylesheet, symbols=symbols, raise_errors=raise_errors, use_mathjax=use_mathjax) if options.pdf: run_prince(html_filename)
def define_jobs_context(self, context): options = self.get_options() logger.info(" ".join(sys.argv)) if options.mcdp_settings: MCDPManualConstants.activate_tilde_as_nbsp = False MCDPConstants.softy_mode = False logger.setLevel(logging.DEBUG) def split_colons(x): return [_.strip() for _ in x.split(":") if _ and _.strip()] src_dirs = split_colons(options.src) resources_dirs = split_colons(options.resources) self.info("Src dirs: \n" + "\n -".join(src_dirs)) self.info("Resources dirs: \n" + "\n -".join(resources_dirs)) raise_errors = options.raise_errors # out_dir = options.output generate_pdf = options.generate_pdf out_split_dir = options.split out_pdf = options.pdf output_file = options.output_file remove = options.remove stylesheet = options.stylesheet stylesheet_pdf = options.stylesheet_pdf symbols = options.symbols do_last_modified = options.last_modified permalink_prefix = options.permalink_prefix compose_config = options.compose output_crossref = options.output_crossref wordpress_integration = options.wordpress_integration ignore_ref_errors = options.ignore_ref_errors only_refs = options.only_refs likebtn = options.likebtn extra_crossrefs = options.extra_crossrefs use_mathjax = True if options.mathjax else False logger.info('use mathjax: %s' % use_mathjax) logger.info('use symbols: %s' % symbols) if symbols is not None: symbols = open(symbols).read() for s in src_dirs: check_bad_input_file_presence(s) resolve_references = not options.no_resolve_references manual_jobs(context, src_dirs=src_dirs, resources_dirs=resources_dirs, out_split_dir=out_split_dir, output_file=output_file, generate_pdf=generate_pdf, stylesheet=stylesheet, stylesheet_pdf=stylesheet_pdf, remove=remove, use_mathjax=use_mathjax, raise_errors=raise_errors, symbols=symbols, out_pdf=out_pdf, resolve_references=resolve_references, do_last_modified=do_last_modified, permalink_prefix=permalink_prefix, compose_config=compose_config, output_crossref=output_crossref, wordpress_integration=wordpress_integration, likebtn=likebtn, ignore_ref_errors=ignore_ref_errors, extra_crossrefs=extra_crossrefs, only_refs=only_refs)