Changeset 3889:d1945060338b


Ignore:
Timestamp:
04/11/07 16:56:33 (6 years ago)
Author:
William Stein <wstein@…>
Branch:
default
Message:

make it so hg and notebook auto-open browser by default; make "open browser" message more uniform. add address support for hg server

Location:
sage
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • sage/misc/hg.py

    r3631 r3889  
    3535from   misc   import tmp_filename, branch_current_hg 
    3636from   remote_file import get_remote_file 
     37from   sage.server.misc import print_open_msg 
    3738 
    3839def embedded(): 
     
    154155            return out, err 
    155156 
    156     def serve(self, port=8200, open_viewer=False): 
     157    def serve(self, port=8200, address='localhost', 
     158              open_viewer=True, options=''): 
    157159        """ 
    158160        Start a web server for this repository. 
     
    164166        INPUT: 
    165167            port -- port that the server will listen on 
    166             open_viewer -- boolean (default: False); whether to pop up the web page 
    167         """ 
    168         print('Now serving repository on port %s'%port) 
    169         print("Point your web browser at http://localhost:%s"%port) 
     168            address --  (default: 'localhost') address to listen on 
     169            open_viewer -- boolean (default: True); whether to pop up the web page 
     170            options -- a string passed directly to hg's serve command. 
     171        """ 
    170172        if open_viewer: 
    171             cmd = 'sleep 1; %s http://%s:%s 1>&2 >/dev/null'%(browser(), 'localhost', port) 
     173            cmd = 'sleep 1; %s http://%s:%s 1>&2 >/dev/null'%(browser(), 
     174                                                              address, port) 
    172175            t = tmp_filename() 
    173176            open(t,'w').write(cmd) 
    174177            P = os.path.abspath(t) 
    175178            os.system('chmod +x %s; %s &'%(P, P)) 
    176         self('serve --port %s'%port) 
     179             
     180        print_open_msg(address, port) 
     181        tries = 0 
     182        while self('serve --address %s --port %s  %s'%(address, port, options)) != 2: 
     183            port += 1 
     184            tries += 1 
     185            if tries > 100: 
     186                raise RuntimeError, "no port found after trying 100 (maybe your network is down)" 
     187            print_open_msg(address, port)             
     188         
    177189 
    178190    browse = serve 
  • sage/server/notebook/notebook.py

    r3701 r3889  
    1717\subsection{Supported Browsers} 
    1818 
    19 The SAGE notebook should fully work with Firefox (and Mozilla), 
    20 Safari, and Opera. The notebook works somewhat in Internet Explorer. 
     19The SAGE notebook should fully work with Firefox (and Mozilla).  It 
     20may work to some extent with Safari and Opera.  Internet Explorer is 
     21not supported. 
    2122 
    2223\subsection{Tutorial} 
     
    347348from   sage.misc.viewer     import browser 
    348349from   sage.misc.misc       import alarm, cancel_alarm 
     350from   sage.server.misc import print_open_msg 
    349351 
    350352# SAGE Notebook 
     
    775777                break 
    776778 
    777         s = "Open your web browser to http://%s:%s"%(address, port) 
    778         t = len(s) 
    779         if t%2: 
    780             t += 1 
    781             s += ' ' 
    782         n = max(t+4, 50) 
    783         k = n - t  - 1 
    784         j = k/2  
    785         print '*'*n 
    786         print '*'+ ' '*(n-2) + '*' 
    787         print '*' + ' '*j + s + ' '*j + '*' 
    788         print '*'+ ' '*(n-2) + '*' 
    789         print '*'*n 
    790         print "WARNING: The SAGE Notebook works best with Firefox/Mozilla, Safari, and Opera." 
     779        print_open_msg(address, port) 
     780        print "WARNING: The SAGE Notebook works best with ** Firefox/Mozilla **." 
     781         
    791782 
    792783        if open_viewer: 
     
    14751466             port        = 8000, 
    14761467             address     = 'localhost', 
    1477              open_viewer = False, 
     1468             open_viewer = True, 
    14781469             max_tries   = 10, 
    14791470             username    = None, 
     
    15021493        address -- (default: 'localhost') address that the server 
    15031494                   will listen on 
    1504         open_viewer -- bool (default:False); if True, pop up a web browser at the URL 
     1495        open_viewer -- bool (default: True); if True, pop up a web browser at the URL 
    15051496        max_tries -- (default: 10) maximum number of ports > port to try in 
    15061497                     case given port can't be opened. 
  • sage/server/wiki/moin.py

    r3475 r3889  
    1616 
    1717from   sage.misc.viewer     import browser 
     18from   sage.server.misc import print_open_msg 
    1819 
    1920# if you change the default sage_wiki, you must also change local/bin/sage-wiki 
     
    3940         port=9000, 
    4041         address='localhost', 
    41          open_viewer = False, 
    4242         threads=10): 
    4343    r""" 
     
    8383        config.close()                      
    8484 
    85         ## Open a viewer if requested 
    86         if open_viewer: 
    87             cmd = '%s http://%s:%s 1>&2 >/dev/null &'%(browser(), address, port) 
    88             os.system(cmd) 
    89  
    9085        ## Start up twisted 
     86        print_open_msg(address, port) 
    9187        e = os.system('twistd -n --python twistedconf.py') 
    9288        if not e: 
     
    9894            run(port + i) 
    9995        except socket.error: 
    100             print "Port %s is already in use.  Trying next port..."%(Config.port) 
     96            print "Port %s is already in use.  Trying next port..."%port 
    10197        else: 
    10298            break 
     
    107103def wiki_simple_http(directory='sage_wiki', 
    108104         port=9000, 
    109          address='localhost', 
    110          open_viewer = False): 
     105         address='localhost'): 
    111106    r""" 
    112107    Create (if necessary) and start up a Moin Moin wiki. 
     
    190185 
    191186 
    192     if open_viewer: 
    193         cmd = '%s http://%s:%s 1>&2 >/dev/null &'%(browser(), address, port) 
    194         os.system(cmd) 
    195  
    196187    for i in range(256):    
    197188        try: 
     189            print_open_msg(address, port) 
    198190            run(Config) 
    199191        except socket.error: 
Note: See TracChangeset for help on using the changeset viewer.