105 print_mode <- JSON.strings_default(json, "print_mode") |
105 print_mode <- JSON.strings_default(json, "print_mode") |
106 } |
106 } |
107 yield Args(build = build, print_mode = print_mode) |
107 yield Args(build = build, print_mode = print_mode) |
108 |
108 |
109 def command(args: Args, progress: Progress = No_Progress, log: Logger = No_Logger) |
109 def command(args: Args, progress: Progress = No_Progress, log: Logger = No_Logger) |
110 : (JSON.Object.T, (UUID, Thy_Resources.Session)) = |
110 : (JSON.Object.T, (UUID, Headless.Session)) = |
111 { |
111 { |
112 val base_info = |
112 val base_info = |
113 try { Session_Build.command(args.build, progress = progress)._3 } |
113 try { Session_Build.command(args.build, progress = progress)._3 } |
114 catch { case exn: Server.Error => error(exn.message) } |
114 catch { case exn: Server.Error => error(exn.message) } |
115 |
115 |
116 val session = |
116 val session = |
117 Thy_Resources.start_session( |
117 Headless.start_session( |
118 base_info.options, |
118 base_info.options, |
119 base_info.session, |
119 base_info.session, |
120 session_dirs = base_info.dirs, |
120 session_dirs = base_info.dirs, |
121 session_base = Some(base_info.check_base), |
121 session_base = Some(base_info.check_base), |
122 print_mode = args.print_mode, |
122 print_mode = args.print_mode, |
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: Time = Thy_Resources.default_check_delay, |
161 check_delay: Time = Headless.default_check_delay, |
162 check_limit: Int = 0, |
162 check_limit: Int = 0, |
163 watchdog_timeout: Time = Thy_Resources.default_watchdog_timeout, |
163 watchdog_timeout: Time = Headless.default_watchdog_timeout, |
164 nodes_status_delay: Time = Thy_Resources.default_nodes_status_delay) |
164 nodes_status_delay: Time = Headless.default_nodes_status_delay) |
165 |
165 |
166 def unapply(json: JSON.T): Option[Args] = |
166 def unapply(json: JSON.T): Option[Args] = |
167 for { |
167 for { |
168 session_id <- JSON.uuid(json, "session_id") |
168 session_id <- JSON.uuid(json, "session_id") |
169 theories <- JSON.strings(json, "theories") |
169 theories <- JSON.strings(json, "theories") |
170 master_dir <- JSON.string_default(json, "master_dir") |
170 master_dir <- JSON.string_default(json, "master_dir") |
171 pretty_margin <- JSON.double_default(json, "pretty_margin", Pretty.default_margin) |
171 pretty_margin <- JSON.double_default(json, "pretty_margin", Pretty.default_margin) |
172 unicode_symbols <- JSON.bool_default(json, "unicode_symbols") |
172 unicode_symbols <- JSON.bool_default(json, "unicode_symbols") |
173 export_pattern <- JSON.string_default(json, "export_pattern") |
173 export_pattern <- JSON.string_default(json, "export_pattern") |
174 check_delay <- JSON.seconds_default(json, "check_delay", Thy_Resources.default_check_delay) |
174 check_delay <- JSON.seconds_default(json, "check_delay", Headless.default_check_delay) |
175 check_limit <- JSON.int_default(json, "check_limit") |
175 check_limit <- JSON.int_default(json, "check_limit") |
176 watchdog_timeout <- |
176 watchdog_timeout <- |
177 JSON.seconds_default(json, "watchdog_timeout", Thy_Resources.default_watchdog_timeout) |
177 JSON.seconds_default(json, "watchdog_timeout", Headless.default_watchdog_timeout) |
178 nodes_status_delay <- |
178 nodes_status_delay <- |
179 JSON.seconds_default(json, "nodes_status_delay", Thy_Resources.default_nodes_status_delay) |
179 JSON.seconds_default(json, "nodes_status_delay", Headless.default_nodes_status_delay) |
180 } |
180 } |
181 yield { |
181 yield { |
182 Args(session_id, theories, master_dir = master_dir, pretty_margin = pretty_margin, |
182 Args(session_id, theories, master_dir = master_dir, pretty_margin = pretty_margin, |
183 unicode_symbols = unicode_symbols, export_pattern = export_pattern, |
183 unicode_symbols = unicode_symbols, export_pattern = export_pattern, |
184 check_delay = check_delay, check_limit = check_limit, watchdog_timeout = watchdog_timeout, |
184 check_delay = check_delay, check_limit = check_limit, watchdog_timeout = watchdog_timeout, |
185 nodes_status_delay = nodes_status_delay) |
185 nodes_status_delay = nodes_status_delay) |
186 } |
186 } |
187 |
187 |
188 def command(args: Args, |
188 def command(args: Args, |
189 session: Thy_Resources.Session, |
189 session: Headless.Session, |
190 id: UUID = UUID(), |
190 id: UUID = UUID(), |
191 progress: Progress = No_Progress): (JSON.Object.T, Thy_Resources.Theories_Result) = |
191 progress: Progress = No_Progress): (JSON.Object.T, Headless.Theories_Result) = |
192 { |
192 { |
193 val result = |
193 val result = |
194 session.use_theories(args.theories, master_dir = args.master_dir, |
194 session.use_theories(args.theories, master_dir = args.master_dir, |
195 check_delay = args.check_delay, check_limit = args.check_limit, |
195 check_delay = args.check_delay, check_limit = args.check_limit, |
196 watchdog_timeout = args.watchdog_timeout, |
196 watchdog_timeout = args.watchdog_timeout, |
261 master_dir <- JSON.string_default(json, "master_dir") |
261 master_dir <- JSON.string_default(json, "master_dir") |
262 all <- JSON.bool_default(json, "all") |
262 all <- JSON.bool_default(json, "all") |
263 } |
263 } |
264 yield { Args(session_id, theories = theories, master_dir = master_dir, all = all) } |
264 yield { Args(session_id, theories = theories, master_dir = master_dir, all = all) } |
265 |
265 |
266 def command(args: Args, session: Thy_Resources.Session) |
266 def command(args: Args, session: Headless.Session) |
267 : (JSON.Object.T, (List[Document.Node.Name], List[Document.Node.Name])) = |
267 : (JSON.Object.T, (List[Document.Node.Name], List[Document.Node.Name])) = |
268 { |
268 { |
269 val (purged, retained) = |
269 val (purged, retained) = |
270 session.purge_theories( |
270 session.purge_theories( |
271 theories = args.theories, master_dir = args.master_dir, all = args.all) |
271 theories = args.theories, master_dir = args.master_dir, all = args.all) |