src/Pure/Tools/server_commands.scala
changeset 68770 add44e2b8cb0
parent 68742 a6cc4302c380
child 68908 abc338d25640
equal deleted inserted replaced
68769:59fcff4f8b73 68770:add44e2b8cb0
   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