"""Generic error class for this module."""
pass
+class NonfatalFailure(Error):
+ """Bad parameters given to installer."""
+ pass
+
class NoRepositoryError(Error):
"""
:class:`Application` does not appear to have a Git repository
import re
import distutils.version
import os
+import lxml.cssselect
+import lxml.etree
+import StringIO
from wizard import app, install, resolve, shell, util
from wizard.app import php
'SysopPass2': options.admin_password,
}
result = install.fetch(options, '/config/index.php', post=postdata)
+ result_etree = lxml.etree.parse(StringIO.StringIO(result), lxml.etree.HTMLParser())
+ selector = lxml.cssselect.CSSSelector(".error")
+ error_messages = [e.text for e in selector(result_etree)]
if options.verbose or options.debug: print result
if result.find("Installation successful") == -1:
- raise install.Failure()
+ if not error_messages:
+ raise install.Failure()
+ raise app.NonfatalFailure(error_messages)
os.rename('config/LocalSettings.php', 'LocalSettings.php')
def upgrade(self, d, version, options):
sh = shell.Shell()