Repository: bokeh/bokeh

Issue:
bokeh/serverconfig.py is very verbose
For example:

```
$ examples/test server/bollinger
>>> Testing examples/plotting/server/bollinger.py ...
found config for http://localhost:5006/
{}
loading it!
if you don't wish to load this config, please pass load_from_config=False
Using plot server at http://localhost:5006/bokeh; Docname: bollinger
[OK]
```



Discussion:

Resolving patch:
diff --git a/bokeh/session.py b/bokeh/session.py
--- a/bokeh/session.py
+++ b/bokeh/session.py
@@ -122,10 +122,8 @@ def load(self):
         """loads server configuration information from disk
         """
         config_info = self.load_dict().get(self.name, {})
-        print("found config for %s" % self.name)
-        print(str(config_info))
-        print("loading it!")
-        print("if you don't wish to load this config, please pass load_from_config=False")
+        print("Using saved session configuration for %s" % self.name)
+        print("To override, pass 'load_from_config=False' to Session")
         self.root_url = config_info.get('root_url', self.root_url)
         self.userapikey = config_info.get('userapikey', self.userapikey)
         self.username = config_info.get('username', self.username)
@@ -178,7 +176,7 @@ def login(self, username, password):
         self.save()
 
     def browser_login(self):
-        """Opens a web browser with a token that logs you 
+        """Opens a web browser with a token that logs you
         in to a bokeh server (for multi-user mode)
         """
         controller = browserlib.get_browser_controller()
@@ -284,7 +282,7 @@ def get_api_key(self, docid):
             apikey = apikey['readonlyapikey']
             logger.info('got read only apikey')
         return apikey
-        
+
     def find_doc(self, name):
         """Finds the document with a title matching name and returns the docid
         Creates a document with the given title if one is not found
@@ -293,7 +291,7 @@ def find_doc(self, name):
         Returns:
             docid (string)
         """
-        
+
         docs = self.userinfo.get('docs')
         matching = [x for x in docs if x.get('title') == name]
         if len(matching) == 0:
@@ -307,7 +305,7 @@ def find_doc(self, name):
 
     def use_doc(self, name=None, docid=None):
         """configures the session to use a document.  you can pass in
-        a title, or a docid, but not both.  Creates a document for 
+        a title, or a docid, but not both.  Creates a document for
         title if one is not present on the server
         """
         if docid:
@@ -325,7 +323,7 @@ def make_doc(self, title):
         self.userinfo = self.post_json(url, data=data)
 
     def pull(self, typename=None, objid=None):
-        """lowever level function for pulling json objects, 
+        """lowever level function for pulling json objects,
         you need to call this with either typename AND objid
         or leave out both
         """
@@ -348,7 +346,7 @@ def pull(self, typename=None, objid=None):
         return attrs
 
     def push(self, *jsonobjs):
-        """Lower level function for pushing raw json objects 
+        """Lower level function for pushing raw json objects
         to the server
         """
         data = protocol.serialize_json(jsonobjs)
@@ -373,7 +371,6 @@ def load_document(self, doc):
         doc._plotcontext._id = plot_context_json['id']
         doc.load(plot_context_json, *other_objects)
 
-        
     def load_object(self, obj, document):
         """pulls an objects json from the server,
         loads it into the document. the object should be updated
@@ -408,7 +405,7 @@ def store_objects(self, *objs, **kwargs):
         for obj in objs:
             models.update(obj.references())
         if dirty_only:
-            models = list(models)            
+            models = list(models)
 
         json_objs = utils.dump(models, self.docid)
         self.push(*json_objs)


Test patch: