[Cherokee-commits] [3272] cherokee/trunk/admin:

SVN at cherokee-project.com SVN at cherokee-project.com
Thu May 28 10:18:27 CEST 2009


Revision: 3272
          http://svn.cherokee-project.com/changeset/3272
Author:   alo
Date:     2009-05-28 10:18:27 +0200 (Thu, 28 May 2009)

Log Message:
-----------


Modified Paths:
--------------
    cherokee/trunk/admin/Wizard_Django.py
    cherokee/trunk/admin/validations.py

Modified: cherokee/trunk/admin/Wizard_Django.py
===================================================================
--- cherokee/trunk/admin/Wizard_Django.py	2009-05-28 01:00:10 UTC (rev 3271)
+++ cherokee/trunk/admin/Wizard_Django.py	2009-05-28 08:18:27 UTC (rev 3272)
@@ -1,3 +1,5 @@
+import validations
+
 from config import *
 from util import *
 from Page import *
@@ -3,7 +5,10 @@
 from Wizard import *
 
-NOTE_DJANGO_DIR = "Local path to the Django based project."
-NOTE_NEW_HOST   = "Name of the new domain that will be created."
+NOTE_DJANGO_DIR = _("Local path to the Django based project.")
+NOTE_NEW_HOST   = _("Name of the new domain that will be created.")
 
+ERROR_NO_DJANGO = _("It does not look like a Django based project directory.")
+ERROR_NO_DROOT  = _("The document root directory does not exist.")
+
 CONFIG_VSRV = """
 %(vsrv_pre)s!nick = %(new_host)s
@@ -28,6 +33,19 @@
 %(vsrv_pre)s!rule!1!handler!balancer!source!1 = %(src_num)d
 """
 
+def is_django_dir (path, cfg, nochroot):
+    path = validations.is_local_dir_exists (path, cfg, nochroot)
+    manage = os.path.join (path, "manage.py")
+    if not os.path.exists (manage):
+        raise ValueError, _("Directory doesn't look like a Django based project.")
+    return path
+
+DATA_VALIDATION = [
+    ("tmp!wizard_django!django_dir",    (is_django_dir, 'cfg')),
+    ("tmp!wizard_django!new_host",      (validations.is_new_host, 'cfg')),
+    ("tmp!wizard_django!document_root", (validations.is_local_dir_exists, 'cfg'))
+]
+
 class Wizard_VServer_Django (WizardPage):
     ICON = "django.png"
     DESC = "New virtual server based on a Django project."
@@ -59,14 +77,16 @@
         return txt
 
     def _op_apply (self, post):
+        # Validation
+        self._ValidateChanges (post, DATA_VALIDATION)
+        if self.has_errors():
+            return
+
         # Incoming info
         django_dir    = post.pop('tmp!wizard_django!django_dir')
         new_host      = post.pop('tmp!wizard_django!new_host')
         document_root = post.pop('tmp!wizard_django!document_root')
 
-        if not new_host or not django_dir or not document_root:
-            return 
-
         # Locals
         vsrv_pre = cfg_vsrv_get_next (self._cfg)
         src_num, src_pre  = cfg_source_get_next (self._cfg)

Modified: cherokee/trunk/admin/validations.py
===================================================================
--- cherokee/trunk/admin/validations.py	2009-05-28 01:00:10 UTC (rev 3271)
+++ cherokee/trunk/admin/validations.py	2009-05-28 08:18:27 UTC (rev 3272)
@@ -307,3 +307,10 @@
 
     return value
 
+def is_new_host (value, cfg, nochroot):
+    for h in cfg.keys('vserver'):
+        if value == cfg.get_val('vserver!%s!nick'%(h)):
+            raise ValueError, _('Virtual host nick is already being used.')
+    return value
+
+            

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.octality.com/pipermail/cherokee-commits/attachments/20090528/42d36b62/attachment.htm 


More information about the Cherokee-commits mailing list