django.core.management.base.CommandError - python examples

Here are the examples of the python api django.core.management.base.CommandError taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

145 Examples 7

3 View Complete Implementation : dbshell.py
Copyright Apache License 2.0
Author : edisonlz
    def handle(self, **options):
        connection = connections[options.get('database')]
        try:
            connection.client.runshell()
        except OSError:
            # Note that we're astuming OSError means that the client program
            # isn't installed. There's a possibility OSError would be raised
            # for some other reason, in which case this error message would be
            # inaccurate. Still, this message catches the common case.
            raise CommandError('You appear not to have the %r program installed or on your path.' % \
                connection.client.executable_name)

3 View Complete Implementation : customdashboard.py
Copyright Apache License 2.0
Author : edisonlz
    def handle(self, file=None, **options):
        context = {}
        context['project'] = os.path.basename(os.getcwd())
        tpl = ['dashboard/dashboard.txt', 'grappelli/dashboard/dashboard.txt']
        dst = file is not None and file or DEFAULT_FILE
        if os.path.exists(dst):
            raise CommandError('file "%s" already exists' % dst)
        context['file'] = os.path.basename(dst).split('.')[0]
        open(dst, 'w').write(render_to_string(tpl, context))
        print '"%s" written.' % os.path.join(dst)

3 View Complete Implementation : __init__.py
Copyright Apache License 2.0
Author : edisonlz
def _check_permission_clashing(custom, builtin, ctype):
    """
    Check that permissions for a model do not clash. Raises CommandError if
    there are duplicate permissions.
    """
    pool = set()
    builtin_codenames = set(p[0] for p in builtin)
    for codename, _name in custom:
        if codename in pool:
            raise CommandError(
                "The permission codename '%s' is duplicated for model '%s.%s'." %
                (codename, ctype.app_label, ctype.model_clast().__name__))
        elif codename in builtin_codenames:
            raise CommandError(
                "The permission codename '%s' clashes with a builtin permission "
                "for model '%s.%s'." %
                (codename, ctype.app_label, ctype.model_clast().__name__))
        pool.add(codename)

3 View Complete Implementation : custommenu.py
Copyright Apache License 2.0
Author : edisonlz
    def handle(self, file=None, **options):
        project_name = os.path.basename(os.getcwd())
        dst = file is not None and file or DEFAULT_FILE
        if os.path.exists(dst):
            raise CommandError('Error: file "%s" already exists' % dst)
        open(dst, 'w').write(render_to_string('admin_tools/menu/menu.txt', {
            'project': project_name,
            'file': os.path.basename(dst).split('.')[0]
        }))
        self.stdout.write('"%s" written.' % os.path.join(dst))

3 View Complete Implementation : templates.py
Copyright Apache License 2.0
Author : edisonlz
    def extract(self, filename):
        """
        Extracts the given file to a temporarily and returns
        the path of the directory with the extracted content.
        """
        prefix = 'django_%s_template_' % self.app_or_project
        tempdir = tempfile.mkdtemp(prefix=prefix, suffix='_extract')
        self.paths_to_remove.append(tempdir)
        if self.verbosity >= 2:
            self.stdout.write("Extracting %s\n" % filename)
        try:
            archive.extract(filename, tempdir)
            return tempdir
        except (archive.ArchiveException, IOError) as e:
            raise CommandError("couldn't extract file %s to %s: %s" %
                               (filename, tempdir, e))

3 View Complete Implementation : templates.py
Copyright Apache License 2.0
Author : edisonlz
    def validate_name(self, name, app_or_project):
        if name is None:
            raise CommandError("you must provide %s %s name" % (
                "an" if app_or_project == "app" else "a", app_or_project))
        # If it's not a valid directory name.
        if not re.search(r'^[_a-zA-Z]\w*$', name):
            # Provide a smart error message, depending on the error.
            if not re.search(r'^[_a-zA-Z]', name):
                message = 'make sure the name begins with a letter or underscore'
            else:
                message = 'use only numbers, letters and underscores'
            raise CommandError("%r is not a valid %s name. Please %s." %
                               (name, app_or_project, message))

3 View Complete Implementation : graph_models.py
Copyright Apache License 2.0
Author : edisonlz
    def render_output_pydot(self, dotdata, **kwargs):
        """Renders the image using pydot"""
        if not HAS_PYDOT:
            raise CommandError("You need to install pydot python module")

        graph = pydot.graph_from_dot_data(dotdata)
        if not graph:
            raise CommandError("pydot returned an error")
        output_file = kwargs['outputfile']
        formats = ['bmp', 'canon', 'cmap', 'cmapx', 'cmapx_np', 'dot', 'dia', 'emf',
                   'em', 'fplus', 'eps', 'fig', 'gd', 'gd2', 'gif', 'gv', 'imap',
                   'imap_np', 'ismap', 'jpe', 'jpeg', 'jpg', 'metafile', 'pdf',
                   'pic', 'plain', 'plain-ext', 'png', 'pov', 'ps', 'ps2', 'svg',
                   'svgz', 'tif', 'tiff', 'tk', 'vml', 'vmlz', 'vrml', 'wbmp', 'xdot']
        ext = output_file[output_file.rfind('.') + 1:]
        format = ext if ext in formats else 'raw'
        graph.write(output_file, format=format)

3 View Complete Implementation : startproject.py
Copyright Apache License 2.0
Author : edisonlz
    def handle(self, project_name=None, target=None, *args, **options):
        self.validate_name(project_name, "project")

        # Check that the project_name cannot be imported.
        try:
            import_module(project_name)
        except ImportError:
            past
        else:
            raise CommandError("%r conflicts with the name of an existing "
                               "Python module and cannot be used as a "
                               "project name. Please try another name." %
                               project_name)

        # Create a random SECRET_KEY hash to put it in the main settings.
        chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
        options['secret_key'] = get_random_string(50, chars)

        super(Command, self).handle('project', project_name, target, **options)

3 View Complete Implementation : startapp.py
Copyright Apache License 2.0
Author : edisonlz
    def handle(self, app_name=None, target=None, **options):
        self.validate_name(app_name, "app")

        # Check that the app_name cannot be imported.
        try:
            import_module(app_name)
        except ImportError:
            past
        else:
            raise CommandError("%r conflicts with the name of an existing "
                               "Python module and cannot be used as an app "
                               "name. Please try another name." % app_name)

        super(Command, self).handle('app', app_name, target, **options)

3 View Complete Implementation : customdashboard.py
Copyright Apache License 2.0
Author : edisonlz
    def handle(self, file=None, **options):
        context = {}
        context['project'] = os.path.basename(os.getcwd())
        tpl = ['dashboard/dashboard.txt', 'admin_tools/dashboard/dashboard.txt']
        dst = file is not None and file or DEFAULT_FILE
        if os.path.exists(dst):
            raise CommandError('file "%s" already exists' % dst)
        context['file'] = os.path.basename(dst).split('.')[0]
        open(dst, 'w').write(render_to_string(tpl, context))
        self.stdout.write('"%s" written.' % os.path.join(dst))