Changeset 1784
- Timestamp:
- 08/12/08 17:01:28 (3 months ago)
- Files:
-
- cherokee/trunk/ChangeLog (modified) (1 diff)
- cherokee/trunk/admin/CherokeeManagement.py (modified) (3 diffs)
- cherokee/trunk/admin/Page.py (modified) (3 diffs)
- cherokee/trunk/admin/pyscgi.py (modified) (3 diffs)
- cherokee/trunk/admin/server.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
cherokee/trunk/ChangeLog
r1782 r1784 1 1 2008-08-12 Alvaro Lopez Ortega <alvaro@alobbs.com> 2 3 * admin/pyscgi.py, admin/server.py, admin/Page.py, 4 admin/CherokeeManagement.py: Adds a option in the left hand menu 5 bar to allow users to reset the server at the same time that the 6 new configuration is written. 2 7 3 8 * admin/server.py (main): It should only bind to localhost. Fixes cherokee/trunk/admin/CherokeeManagement.py
r1715 r1784 44 44 cherokee_management = None 45 45 46 47 46 # Cherokee Management class 48 47 # … … 56 55 # 57 56 58 def save (self, restart= True):57 def save (self, restart=None): 59 58 self._cfg.save() 60 if restart: 59 60 if not restart: 61 return 62 if restart.lower() == 'graceful': 63 self._restart (graceful=True) 64 else: 61 65 self._restart() 62 66 … … 146 150 return self.__read_pid_file (pid_file) 147 151 148 def _restart (self ):152 def _restart (self, graceful): 149 153 if not self._pid: 150 154 return 151 155 try: 152 os.kill (self._pid, signal.SIGUSR1) 156 if graceful: 157 os.kill (self._pid, signal.SIGHUP) 158 else: 159 os.kill (self._pid, signal.SIGUSR1) 153 160 except: 154 161 pass cherokee/trunk/admin/Page.py
r1104 r1784 3 3 from Entry import * 4 4 from configured import * 5 from CherokeeManagement import * 5 6 6 7 PAGE_BASIC_LAYOUT = """ … … 45 46 46 47 <br /> 48 49 <h2>Save Changes</h2> 50 51 <div style="padding-top: 2px;"> 52 <p>%(menu_save_desc)s</p> 53 </div> 54 47 55 <form id="form-apply" action="/apply" method="post"> 48 <div style="float: center;"> 49 <a class="button" href="#" onclick="this.blur(); $('#form-apply').submit(); return false;"><span>Apply</span></a> 56 %(menu_save_dropdown)s 57 58 <div style="float: center; padding-top: 4px;"> 59 <a class="button" href="#" onclick="this.blur(); $('#form-apply').submit(); return false;"><span>Save</span></a> 50 60 </div> 51 61 </form> 62 63 """ 64 65 MENU_SAVE_IS_ALIVE = """ 66 <div style="padding-top: 2px;"> 67 <select name="restart"> 68 <option value="graceful">Graceful restart</option> 69 <option value="hard">Hard restart</option> 70 <option value="no">Do not restart</option> 71 </select> 72 </div> 52 73 """ 53 74 … … 76 97 Page.__init__ (self, id, cfg) 77 98 99 manager = cherokee_management_get (cfg) 100 if manager.is_alive(): 101 self.AddMacroContent ('menu_save_dropdown', MENU_SAVE_IS_ALIVE) 102 self.AddMacroContent ('menu_save_desc', 'Commit to disk and apply changes to the running server') 103 else: 104 self.AddMacroContent ('menu_save_dropdown', '') 105 self.AddMacroContent ('menu_save_desc', 'Commit all the changes permanently') 106 78 107 self.AddMacroContent ('body', PAGE_MENU_LAYOUT) 79 108 self.AddMacroContent ('menu', PAGE_MENU_MENU) 80 cherokee/trunk/admin/pyscgi.py
r1326 r1784 42 42 import sys 43 43 44 __version__ = '1. 6'44 __version__ = '1.7' 45 45 __author__ = 'Alvaro Lopez Ortega' 46 46 … … 54 54 def __safe_read (self, lenght): 55 55 while True: 56 try: 57 return self.rfile.read(lenght) 58 except socket.error, (err, strerr): 59 if err == errno.EAGAIN or \ 60 err == errno.EWOULDBLOCK or \ 61 err == errno.EINPROGRESS: 62 continue 63 raise 56 try: 57 chunk = self.rfile.read(lenght) 58 return chunk 59 except socket.error, (err, strerr): 60 if err == errno.EAGAIN or \ 61 err == errno.EWOULDBLOCK or \ 62 err == errno.EINPROGRESS: 63 if chunk: 64 return chunk 65 continue 66 raise 64 67 65 68 def send(self, buf): … … 111 114 if not self.env.has_key('CONTENT_LENGTH'): 112 115 return 116 if self.post: 117 return 113 118 length = int(self.env['CONTENT_LENGTH']) 114 119 self.post = self.__safe_read(length) cherokee/trunk/admin/server.py
r1782 r1784 95 95 page = PageVServer(cfg) 96 96 elif uri.startswith('/apply'): 97 manager = cherokee_management_get (cfg) 98 manager.save() 97 self.handle_post() 98 post = Post(self.post) 99 100 manager = cherokee_management_get (cfg) 101 manager.save (restart = post.get_val('restart')) 99 102 cherokee_management_reset() 100 103 body = "/" … … 141 144 content = 'Status: %s\r\n' % (status) + \ 142 145 headers + '\r\n' + body 143 144 146 return self.send (content) 145 147 … … 172 174 cfg = Config(cfg_file) 173 175 174 print ("Server %s running.. PID=%d " % (VERSION, os.getpid()))176 print ("Server %s running.. PID=%d Port=%d" % (VERSION, os.getpid(), scgi_port)) 175 177 176 178 # Iterate until the user exists