-í
Û„?c       s4  d  Z  d k Z d k Z d k Z d k Z d k Z d k Z d k Z d k Z d k	 Z	 d k
 l Z d „  Z d f  d „  ƒ  YZ d e e f d „  ƒ  YZ d f  d	 „  ƒ  YZ e a d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e i e d „ Z e d „ Z e d j o e ƒ  n d S(   sC  Start the ZEO storage server.

Usage: %s [-C URL] [-a ADDRESS] [-f FILENAME] [-h]

Options:
-C/--configuration URL -- configuration file or URL
-a/--address ADDRESS -- server address of the form PORT, HOST:PORT, or PATH
                        (a PATH must contain at least one "/")
-f/--filename FILENAME -- filename for FileStorage
-t/--timeout TIMEOUT -- transaction timeout in secondes (default no timeout)
-h/--help -- print this usage message and exit
-m/--monitor ADDRESS -- address of monitor server ([HOST:]PORT or PATH)

Unless -C is specified, -a and -f are required.
N(   s	   ZDOptionsc    s&   t  i i |  ƒ } | i | i f Sd  S(   N(   s   ZConfigs	   datatypess   SocketAddresss   args   objs   familys   address(   s   args   obj(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   parse_address. s    s   ZEOOptionsMixinc      s2   t  Z e Z d „  Z d „  Z d „  Z d „  Z RS(   Nc    s   t  | ƒ \ |  _ |  _ d  S(   N(   s   parse_addresss   args   selfs   familys   address(   s   selfs   arg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_address7 s    c    s   t  | ƒ \ |  _ |  _ d  S(   N(   s   parse_addresss   args   selfs   monitor_familys   monitor_address(   s   selfs   arg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_monitor_address: s    c    sz   d k  l } d f  d „  ƒ  Y} |  i o g  |  _ n t d t |  i ƒ ƒ } | | | | ƒ ƒ } |  i i
 | ƒ d  S(   N(   s   FileStorages   FSConfigc      s   t  Z d „  Z d „  Z RS(   Nc    s:   | |  _ | |  _ d |  _ d |  _ t |  _ t |  _ d  S(   Ni    (	   s   names   selfs   _names   paths   creates	   read_onlys   Nones   stops   quota(   s   selfs   names   path(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   __init__@ s    					c    s   |  i Sd  S(   N(   s   selfs   _name(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   getSectionNameG s    (   s   __name__s
   __module__s   __init__s   getSectionName(    (    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   FSConfig? s   	i   (   s   ZODB.configs   FileStorages   FSConfigs   selfs   storagess   strs   lens   names   args   confs   append(   s   selfs   args   FSConfigs   names   confs   FileStorage(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_filename= s    
c    s  |  i t t d d |  i ƒ |  i t t d d |  i ƒ |  i d d ƒ |  i d d d	 d
 ƒ|  i d d d d ƒ|  i d d d d ƒ|  i d d d d t ƒ |  i d d d d |  i ƒ |  i d d t d d t ƒ|  i d d t d ƒ |  i d  d! t d" ƒ d  S(#   Ns   a:s   address=s   f:s	   filename=s   familys   zeo.address.familys   addresss   zeo.address.addresss   requireds)   no server address specified; use -a or -Cs	   read_onlys   zeo.read_onlys   defaulti    s   invalidation_queue_sizes   zeo.invalidation_queue_sizeid   s   transaction_timeouts   zeo.transaction_timeouts   t:s   timeout=s   monitor_addresss   zeo.monitor_addresss   m:s   monitor=s   auth_protocols   zeo.authentication_protocols   auth-protocol=s   auth_databases   zeo.authentication_databases   auth-database=s
   auth_realms   zeo.authentication_realms   auth-realm=(   s   selfs   adds   Nones   handle_addresss   handle_filenames   floats   handle_monitor_address(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   add_zeo_optionsO s$    



(   s   __name__s
   __module__s   Nones   storagess   handle_addresss   handle_monitor_addresss   handle_filenames   add_zeo_options(    (    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   ZEOOptionsMixin3 s
   			s
   ZEOOptionsc      s   t  Z d Z d „  Z RS(   Ns   eventlogc    sI   t  i i t i ƒ |  _ t i |  ƒ |  i	 ƒ  |  i
 d d d d ƒd  S(   Ns   storagess   requireds#   no storages specified; use -f or -C(   s   oss   paths   dirnames   ZEOs   __file__s   selfs	   schemadirs	   ZDOptionss   __init__s   add_zeo_optionss   add(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   __init__g s
    
(   s   __name__s
   __module__s   logsectionnames   __init__(    (    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys
   ZEOOptionsc s   s	   ZEOServerc      s   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc    s   | |  _  d  S(   N(   s   optionss   self(   s   selfs   options(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   __init__q s    c    sf   |  i ƒ  |  i ƒ  |  i ƒ  z, |  i ƒ  |  i ƒ  |  i ƒ  |  i ƒ  Wd  |  i ƒ  |  i ƒ  Xd  S(   N(	   s   selfs   setup_default_loggings   check_sockets   clear_sockets   open_storagess   setup_signalss   create_servers   loop_forevers   close_storages(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   maint s    





 
c    sh   |  i i t j	 o d  Sn t i d ƒ t j	 o d  Sn t i d ƒ t j	 o d  Sn d t i d <d  S(   Ns   EVENT_LOG_FILEs   STUPID_LOG_FILEs    (   s   selfs   optionss   config_loggers   Nones   oss   getenvs   environ(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   setup_default_logging s    c    sG   |  i |  i i |  i i ƒ o$ |  i i d t |  i i ƒ ƒ n d  S(   Ns   address %s already in use(   s   selfs   can_connects   optionss   familys   addresss   usages   repr(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   check_socketŒ s    c    sU   t  i  | t  i ƒ } y | i | ƒ Wn t  i j
 o d Sn X| i ƒ  d Sd  S(   Ni    i   (   s   sockets   familys   SOCK_STREAMs   ss   connects   addresss   errors   close(   s   selfs   familys   addresss   s(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   can_connect‘ s    	
c    sT   t  |  i i t d ƒ ƒ o4 y t i |  i i ƒ Wn t i j
 o n Xn d  S(   Ns    (   s
   isinstances   selfs   optionss   addresss   types   oss   unlinks   error(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   clear_socket› s
    c    sW   h  |  _ xG |  i i D]9 } t d | i | i i f ƒ | i ƒ  |  i | i <q Wd  S(   Ns   opening storage %r using %s(	   s   selfs   storagess   optionss   openers   infos   names	   __class__s   __name__s   open(   s   selfs   opener(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   open_storages¢ s
    	 c    s³   t  i d j o d Sn t t d ƒ o t i t i t i ƒ n t ƒ  xc t i ƒ  D]U \ } } t
 |  d | i ƒ  t ƒ } | t j	 o  | d „ } t i | | ƒ n qV Wd S(   s  Set up signal handlers.

        The signal handler for SIGFOO is a method handle_sigfoo().
        If no handler method is defined for a signal, the signal
        action is not changed from its initial value.  The handler
        method is called without additional arguments.
        s   posixNs   SIGXFSZs   handle_c    s   | ƒ  d  S(   N(   s   method(   s	   sig_dummys   frame_dummys   method(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   wrapper¹ s    (   s   oss   names   hasattrs   signals   SIGXFSZs   SIG_IGNs   init_signamess   signamess   itemss   sigs   getattrs   selfs   lowers   Nones   methods   wrapper(   s   selfs   wrappers   sigs   methods   name(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   setup_signals© s      c    s€   d k  l } | |  i i |  i d |  i i d |  i i d |  i i d |  i i	 d |  i i
 d |  i i d |  i i ƒ|  _ d  S(	   N(   s   StorageServers	   read_onlys   invalidation_queue_sizes   transaction_timeouts   monitor_addresss   auth_protocols   auth_databases
   auth_realm(   s   ZEO.StorageServers   StorageServers   selfs   optionss   addresss   storagess	   read_onlys   invalidation_queue_sizes   transaction_timeouts   monitor_addresss   auth_protocols   auth_databases
   auth_realms   server(   s   selfs   StorageServer(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   create_server½ s    c    s   d  k  } | i i ƒ  d  S(   N(   s   ThreadedAsync.LoopCallbacks   ThreadedAsyncs   LoopCallbacks   loop(   s   selfs   ThreadedAsync(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   loop_foreverÊ s    	c    s   t  d ƒ t i d ƒ d  S(   Ns   terminated by SIGTERMi    (   s   infos   syss   exit(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_sigtermÎ s    
c    s   t  d ƒ t i d ƒ d  S(   Ns   terminated by SIGINTi    (   s   infos   syss   exit(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_sigintÒ s    
c    s   t  d ƒ t i d ƒ d  S(   Ns   restarted by SIGHUPi   (   s   infos   syss   exit(   s   self(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_sighupÖ s    
c    s+   t  d ƒ d  k } | i ƒ  t  d ƒ d  S(   Ns   reinitializing zLOGs   reinitialized zLOG(   s   infos   zLOGs
   initialize(   s   selfs   zLOG(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   handle_sigusr2Ú s    
	
c    sX   xQ |  i i ƒ  D]@ \ } } t d | ƒ y | i ƒ  Wn t d | ƒ n Xq Wd  S(   Ns   closing storage %rs   failed to close storage %r(   s   selfs   storagess   itemss   names   storages   infos   closes	   exception(   s   selfs   storages   name(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   close_storagesã s     (   s   __name__s
   __module__s   __init__s   mains   setup_default_loggings   check_sockets   can_connects   clear_sockets   open_storagess   setup_signalss   create_servers   loop_forevers   handle_sigterms   handle_sigints   handle_sighups   handle_sigusr2s   close_storages(    (    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys	   ZEOServero s   					
										c    s4   t  t j o t ƒ  n t  i |  ƒ p d |  Sd S(   s‚   Return a symbolic name for a signal.

    Return "signal NNN" if there is no corresponding SIG name in the
    signal module.
    s	   signal %dN(   s   signamess   Nones   init_signamess   gets   sig(   s   sig(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   signameð s     c     sy   h  a  xl t i i ƒ  D][ \ } }  t | d t ƒ } | t j o q n | d ƒ o | d ƒ o | t  |  <n q Wd  S(   Ns
   startswiths   SIGs   SIG_(	   s   signamess   signals   __dict__s   itemss   names   sigs   getattrs   Nones   k_startswith(   s   sigs   k_startswiths   name(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   init_signamesû s      c    s   t  |  t i ƒ d S(   s   Log a critical message.N(   s   _logs   msgs   zLOGs   PANIC(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   critical	s     c    s   t  |  t i ƒ d S(   s   Log an error message.N(   s   _logs   msgs   zLOGs   ERROR(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   errors     c    s    t  |  t i d t i ƒ  ƒd S(   s>   Log an exception (an error message with a traceback attached).s   errorN(   s   _logs   msgs   zLOGs   ERRORs   syss   exc_info(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys	   exceptions     c    s   t  |  t i ƒ d S(   s   Log a warning message.N(   s   _logs   msgs   zLOGs   PROBLEM(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   warns     c    s   t  |  t i ƒ d S(   s   Log an informational message.N(   s   _logs   msgs   zLOGs   INFO(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   infos     c    s   t  |  t i ƒ d S(   s   Log a debugging message.N(   s   _logs   msgs   zLOGs   DEBUG(   s   msg(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   debugs     c    s   t  i d | |  d | ƒ d S(   s#   Internal: generic logging function.s   RUNSVRs    N(   s   zLOGs   LOGs   severitys   msgs   error(   s   msgs   severitys   error(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   _log!s     c    s0   t  ƒ  } | i |  ƒ t | ƒ } | i ƒ  d  S(   N(   s
   ZEOOptionss   optionss   realizes   argss	   ZEOServers   ss   main(   s   argss   ss   options(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   main(s    	s   __main__(   s   __doc__s   oss   syss   getopts   signals   sockets   ZConfigs   ZConfig.datatypess   zLOGs   ZEOs   zdaemon.zdoptionss	   ZDOptionss   parse_addresss   ZEOOptionsMixins
   ZEOOptionss	   ZEOServers   Nones   signamess   signames   init_signamess   criticals   errors	   exceptions   warns   infos   debugs   INFOs   _logs   mains   __name__(   s	   ZEOServers   ZConfigs   warns   debugs   _logs   ZEOOptionsMixins   sockets   infos   syss	   exceptions   signames   init_signamess	   ZDOptionss   signals   ZEOs   criticals
   ZEOOptionss   errors   zLOGs   getopts   mains   oss   parse_address(    (    s2   /usr/pkg/lib/python2.2/site-packages/ZEO/runzeo.pys   ? s4   								0								