src/Pure/Thy/sessions.scala
changeset 72716 7cef6b1a6682
parent 72715 2615b8c05337
child 72738 a4d7da18ac5c
equal deleted inserted replaced
72715:2615b8c05337 72716:7cef6b1a6682
  1194       database_server match {
  1194       database_server match {
  1195         case Some(db) => f(db)
  1195         case Some(db) => f(db)
  1196         case None => using(store.open_database(session, output = true))(f)
  1196         case None => using(store.open_database(session, output = true))(f)
  1197       }
  1197       }
  1198 
  1198 
       
  1199     def input_database[A](session: String)(f: (SQL.Database, String) => Option[A]): Option[A] =
       
  1200       database_server match {
       
  1201         case Some(db) => f(db, session)
       
  1202         case None =>
       
  1203           store.try_open_database(session) match {
       
  1204             case Some(db) => using(db)(f(_, session))
       
  1205             case None => None
       
  1206           }
       
  1207       }
       
  1208 
  1199     def read_export(session: String, theory_name: String, name: String): Option[Export.Entry] =
  1209     def read_export(session: String, theory_name: String, name: String): Option[Export.Entry] =
  1200     {
  1210     {
  1201       val hierarchy = sessions_structure.build_graph.all_preds(List(session)).view
  1211       val hierarchy = sessions_structure.build_graph.all_preds(List(session)).view
  1202       val attempts =
  1212       val attempts =
  1203         database_server match {
  1213         database_server match {
  1214     }
  1224     }
  1215 
  1225 
  1216     def get_export(session: String, theory_name: String, name: String): Export.Entry =
  1226     def get_export(session: String, theory_name: String, name: String): Export.Entry =
  1217       read_export(session, theory_name, name) getOrElse
  1227       read_export(session, theory_name, name) getOrElse
  1218         Export.empty_entry(session, theory_name, name)
  1228         Export.empty_entry(session, theory_name, name)
  1219 
       
  1220     def read_document(session_name: String, name: String): Option[Presentation.Document_Output] =
       
  1221       database_server match {
       
  1222         case Some(db) => Presentation.read_document(db, session_name, name)
       
  1223         case None =>
       
  1224           store.try_open_database(session_name) match {
       
  1225             case Some(db) => using(db)(Presentation.read_document(_, session_name, name))
       
  1226             case None => None
       
  1227           }
       
  1228       }
       
  1229 
  1229 
  1230     override def toString: String =
  1230     override def toString: String =
  1231     {
  1231     {
  1232       val s =
  1232       val s =
  1233         database_server match {
  1233         database_server match {