156 theories: List[String], |
156 theories: List[String], |
157 master_dir: String = "", |
157 master_dir: String = "", |
158 pretty_margin: Double = Pretty.default_margin, |
158 pretty_margin: Double = Pretty.default_margin, |
159 unicode_symbols: Boolean = false, |
159 unicode_symbols: Boolean = false, |
160 export_pattern: String = "", |
160 export_pattern: String = "", |
161 check_delay: Double = Thy_Resources.default_use_theories_check_delay, |
161 check_delay: Double = Thy_Resources.default_check_delay, |
162 check_limit: Int = 0) |
162 check_limit: Int = 0, |
|
163 nodes_status_delay: Double = Thy_Resources.default_nodes_status_delay) |
163 |
164 |
164 def unapply(json: JSON.T): Option[Args] = |
165 def unapply(json: JSON.T): Option[Args] = |
165 for { |
166 for { |
166 session_id <- JSON.uuid(json, "session_id") |
167 session_id <- JSON.uuid(json, "session_id") |
167 theories <- JSON.strings(json, "theories") |
168 theories <- JSON.strings(json, "theories") |
168 master_dir <- JSON.string_default(json, "master_dir") |
169 master_dir <- JSON.string_default(json, "master_dir") |
169 pretty_margin <- JSON.double_default(json, "pretty_margin", Pretty.default_margin) |
170 pretty_margin <- JSON.double_default(json, "pretty_margin", Pretty.default_margin) |
170 unicode_symbols <- JSON.bool_default(json, "unicode_symbols") |
171 unicode_symbols <- JSON.bool_default(json, "unicode_symbols") |
171 export_pattern <- JSON.string_default(json, "export_pattern") |
172 export_pattern <- JSON.string_default(json, "export_pattern") |
172 check_delay <- |
173 check_delay <- JSON.double_default(json, "check_delay", Thy_Resources.default_check_delay) |
173 JSON.double_default(json, "check_delay", Thy_Resources.default_use_theories_check_delay) |
|
174 check_limit <- JSON.int_default(json, "check_limit") |
174 check_limit <- JSON.int_default(json, "check_limit") |
|
175 nodes_status_delay <- |
|
176 JSON.double_default(json, "nodes_status_delay", Thy_Resources.default_nodes_status_delay) |
175 } |
177 } |
176 yield { |
178 yield { |
177 Args(session_id, theories, master_dir = master_dir, pretty_margin = pretty_margin, |
179 Args(session_id, theories, master_dir = master_dir, pretty_margin = pretty_margin, |
178 unicode_symbols = unicode_symbols, export_pattern = export_pattern, |
180 unicode_symbols = unicode_symbols, export_pattern = export_pattern, |
179 check_delay = check_delay, check_limit = check_limit) |
181 check_delay = check_delay, check_limit = check_limit, |
|
182 nodes_status_delay = nodes_status_delay) |
180 } |
183 } |
181 |
184 |
182 def command(args: Args, |
185 def command(args: Args, |
183 session: Thy_Resources.Session, |
186 session: Thy_Resources.Session, |
184 id: UUID = UUID(), |
187 id: UUID = UUID(), |
185 progress: Progress = No_Progress): (JSON.Object.T, Thy_Resources.Theories_Result) = |
188 progress: Progress = No_Progress): (JSON.Object.T, Thy_Resources.Theories_Result) = |
186 { |
189 { |
187 val result = |
190 val result = |
188 session.use_theories(args.theories, master_dir = args.master_dir, |
191 session.use_theories(args.theories, master_dir = args.master_dir, |
189 check_delay = Time.seconds(args.check_delay), check_limit = args.check_limit, |
192 check_delay = Time.seconds(args.check_delay), check_limit = args.check_limit, |
|
193 nodes_status_delay = Time.seconds(args.nodes_status_delay), |
190 id = id, progress = progress) |
194 id = id, progress = progress) |
191 |
195 |
192 def output_text(s: String): String = |
196 def output_text(s: String): String = |
193 if (args.unicode_symbols) Symbol.decode(s) else Symbol.encode(s) |
197 if (args.unicode_symbols) Symbol.decode(s) else Symbol.encode(s) |
194 |
198 |