def __init__(self, doc, args=None, title=""): """Create a LilyPond job by first retrieving some context from the document and feeding this into job.Job's __init__().""" if isinstance(doc, QUrl): doc = document.Document(doc) self.document = doc self.document_info = docinfo = documentinfo.info(doc) self.lilypond_info = docinfo.lilypondinfo() self._d_options = {} self._backend_args = [] input, self.includepath = docinfo.jobinfo(True) directory = os.path.dirname(input) super(LilyPondJob, self).__init__( encoding='utf-8', args=args, input=input, decode_errors='replace', directory=directory, environment={ 'LD_LIBRARY_PATH': self.lilypond_info.libdir() }, title=title, priority=2) # Set default values from Preferences s = QSettings() s.beginGroup("lilypond_settings") self.set_d_option('delete-intermediate-files', s.value("delete_intermediate_files", True, bool)) self.default_output_target = s.value( "default_output_target", "pdf", str) self.embed_source_code = s.value("embed_source_code", False, bool) if s.value("no_translation", False, bool): self.environment['LANG'] = 'C' self.environment['LC_ALL'] = 'C' self.set_title("{0} {1} [{2}]".format( os.path.basename(self.lilypond_info.command), self.lilypond_info.versionString(), doc.documentName()))