mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[2.2.x] Fixed #30184 -- Removed ellipsis characters from shell output strings.
Partially reverted50b8493581(refs #29654) to avoid a crash when the user shell doesn't support non-ASCII characters. Backport of2bd8df243afrom master.
This commit is contained in:
@@ -594,7 +594,7 @@ class LayerMapping:
|
||||
|
||||
# Printing progress information, if requested.
|
||||
if progress and num_feat % progress_interval == 0:
|
||||
stream.write('Processed %d features, saved %d …\n' % (num_feat, num_saved))
|
||||
stream.write('Processed %d features, saved %d ...\n' % (num_feat, num_saved))
|
||||
|
||||
# Only used for status output purposes -- incremental saving uses the
|
||||
# values returned here.
|
||||
|
||||
@@ -226,7 +226,7 @@ class Command(BaseCommand):
|
||||
ser_fmts = serializers.get_public_serializer_formats() if ser_fmt is None else [ser_fmt]
|
||||
|
||||
if self.verbosity >= 2:
|
||||
self.stdout.write("Loading '%s' fixtures…" % fixture_name)
|
||||
self.stdout.write("Loading '%s' fixtures..." % fixture_name)
|
||||
|
||||
if os.path.isabs(fixture_name):
|
||||
fixture_dirs = [os.path.dirname(fixture_name)]
|
||||
@@ -247,7 +247,7 @@ class Command(BaseCommand):
|
||||
fixture_files = []
|
||||
for fixture_dir in fixture_dirs:
|
||||
if self.verbosity >= 2:
|
||||
self.stdout.write("Checking %s for fixtures…" % humanize(fixture_dir))
|
||||
self.stdout.write("Checking %s for fixtures..." % humanize(fixture_dir))
|
||||
fixture_files_in_dir = []
|
||||
path = os.path.join(fixture_dir, fixture_name)
|
||||
for candidate in glob.iglob(glob.escape(path) + '*'):
|
||||
|
||||
@@ -263,7 +263,7 @@ class Command(BaseCommand):
|
||||
if action == "apply_start":
|
||||
if compute_time:
|
||||
self.start = time.time()
|
||||
self.stdout.write(" Applying %s…" % migration, ending="")
|
||||
self.stdout.write(" Applying %s..." % migration, ending="")
|
||||
self.stdout.flush()
|
||||
elif action == "apply_success":
|
||||
elapsed = " (%.3fs)" % (time.time() - self.start) if compute_time else ""
|
||||
@@ -274,7 +274,7 @@ class Command(BaseCommand):
|
||||
elif action == "unapply_start":
|
||||
if compute_time:
|
||||
self.start = time.time()
|
||||
self.stdout.write(" Unapplying %s…" % migration, ending="")
|
||||
self.stdout.write(" Unapplying %s..." % migration, ending="")
|
||||
self.stdout.flush()
|
||||
elif action == "unapply_success":
|
||||
elapsed = " (%.3fs)" % (time.time() - self.start) if compute_time else ""
|
||||
@@ -285,7 +285,7 @@ class Command(BaseCommand):
|
||||
elif action == "render_start":
|
||||
if compute_time:
|
||||
self.start = time.time()
|
||||
self.stdout.write(" Rendering model states…", ending="")
|
||||
self.stdout.write(" Rendering model states...", ending="")
|
||||
self.stdout.flush()
|
||||
elif action == "render_success":
|
||||
elapsed = " (%.3fs)" % (time.time() - self.start) if compute_time else ""
|
||||
@@ -321,7 +321,7 @@ class Command(BaseCommand):
|
||||
|
||||
# Create the tables for each model
|
||||
if self.verbosity >= 1:
|
||||
self.stdout.write(" Creating tables…\n")
|
||||
self.stdout.write(" Creating tables...\n")
|
||||
with connection.schema_editor() as editor:
|
||||
for app_name, model_list in manifest.items():
|
||||
for model in model_list:
|
||||
@@ -338,7 +338,7 @@ class Command(BaseCommand):
|
||||
|
||||
# Deferred SQL is executed when exiting the editor's context.
|
||||
if self.verbosity >= 1:
|
||||
self.stdout.write(" Running deferred SQL…\n")
|
||||
self.stdout.write(" Running deferred SQL...\n")
|
||||
|
||||
@staticmethod
|
||||
def describe_operation(operation, backwards):
|
||||
|
||||
@@ -113,7 +113,7 @@ class Command(BaseCommand):
|
||||
shutdown_message = options.get('shutdown_message', '')
|
||||
quit_command = 'CTRL-BREAK' if sys.platform == 'win32' else 'CONTROL-C'
|
||||
|
||||
self.stdout.write("Performing system checks…\n\n")
|
||||
self.stdout.write("Performing system checks...\n\n")
|
||||
self.check(display_num_errors=True)
|
||||
# Need to check migrations here, so can't use the
|
||||
# requires_migrations_check attribute.
|
||||
|
||||
@@ -124,7 +124,7 @@ class Command(BaseCommand):
|
||||
for parent in sorted(node.parents):
|
||||
out.append("%s.%s" % parent.key)
|
||||
if out:
|
||||
return " … (%s)" % ", ".join(out)
|
||||
return " ... (%s)" % ", ".join(out)
|
||||
return ""
|
||||
|
||||
for node in plan:
|
||||
|
||||
@@ -139,7 +139,7 @@ class Command(BaseCommand):
|
||||
new_operations = operations
|
||||
else:
|
||||
if self.verbosity > 0:
|
||||
self.stdout.write(self.style.MIGRATE_HEADING("Optimizing…"))
|
||||
self.stdout.write(self.style.MIGRATE_HEADING("Optimizing..."))
|
||||
|
||||
optimizer = MigrationOptimizer()
|
||||
new_operations = optimizer.optimize(operations, migration.app_label)
|
||||
|
||||
@@ -45,7 +45,7 @@ class BaseDatabaseCreation:
|
||||
if keepdb:
|
||||
action = "Using existing"
|
||||
|
||||
self.log('%s test database for alias %s…' % (
|
||||
self.log('%s test database for alias %s...' % (
|
||||
action,
|
||||
self._get_database_display_str(verbosity, test_database_name),
|
||||
))
|
||||
@@ -182,7 +182,7 @@ class BaseDatabaseCreation:
|
||||
if autoclobber or confirm == 'yes':
|
||||
try:
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying old test database for alias %s…' % (
|
||||
self.log('Destroying old test database for alias %s...' % (
|
||||
self._get_database_display_str(verbosity, test_database_name),
|
||||
))
|
||||
cursor.execute('DROP DATABASE %(dbname)s' % test_db_params)
|
||||
@@ -206,7 +206,7 @@ class BaseDatabaseCreation:
|
||||
action = 'Cloning test database'
|
||||
if keepdb:
|
||||
action = 'Using existing clone'
|
||||
self.log('%s for alias %s…' % (
|
||||
self.log('%s for alias %s...' % (
|
||||
action,
|
||||
self._get_database_display_str(verbosity, source_database_name),
|
||||
))
|
||||
@@ -248,7 +248,7 @@ class BaseDatabaseCreation:
|
||||
action = 'Destroying'
|
||||
if keepdb:
|
||||
action = 'Preserving'
|
||||
self.log('%s test database for alias %s…' % (
|
||||
self.log('%s test database for alias %s...' % (
|
||||
action,
|
||||
self._get_database_display_str(verbosity, test_database_name),
|
||||
))
|
||||
|
||||
@@ -44,7 +44,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
return
|
||||
try:
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying old test database for alias %s…' % (
|
||||
self.log('Destroying old test database for alias %s...' % (
|
||||
self._get_database_display_str(verbosity, target_database_name),
|
||||
))
|
||||
cursor.execute('DROP DATABASE %(dbname)s' % test_db_params)
|
||||
|
||||
@@ -44,7 +44,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
"Type 'yes' to delete it, or 'no' to cancel: " % parameters['user'])
|
||||
if autoclobber or confirm == 'yes':
|
||||
if verbosity >= 1:
|
||||
self.log("Destroying old test database for alias '%s'…" % self.connection.alias)
|
||||
self.log("Destroying old test database for alias '%s'..." % self.connection.alias)
|
||||
try:
|
||||
self._execute_test_db_destruction(cursor, parameters, verbosity)
|
||||
except DatabaseError as e:
|
||||
@@ -69,7 +69,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
|
||||
if self._test_user_create():
|
||||
if verbosity >= 1:
|
||||
self.log('Creating test user…')
|
||||
self.log('Creating test user...')
|
||||
try:
|
||||
self._create_test_user(cursor, parameters, verbosity, keepdb)
|
||||
except Exception as e:
|
||||
@@ -84,10 +84,10 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
if autoclobber or confirm == 'yes':
|
||||
try:
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying old test user…')
|
||||
self.log('Destroying old test user...')
|
||||
self._destroy_test_user(cursor, parameters, verbosity)
|
||||
if verbosity >= 1:
|
||||
self.log('Creating test user…')
|
||||
self.log('Creating test user...')
|
||||
self._create_test_user(cursor, parameters, verbosity, keepdb)
|
||||
except Exception as e:
|
||||
self.log('Got an error recreating the test user: %s' % e)
|
||||
@@ -143,14 +143,14 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
if autoclobber or confirm == 'yes':
|
||||
try:
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying old test user…')
|
||||
self.log('Destroying old test user...')
|
||||
self._destroy_test_user(cursor, parameters, verbosity)
|
||||
except Exception as e:
|
||||
self.log('Got an error destroying the test user: %s' % e)
|
||||
sys.exit(2)
|
||||
try:
|
||||
if verbosity >= 1:
|
||||
self.log("Destroying old test database for alias '%s'…" % self.connection.alias)
|
||||
self.log("Destroying old test database for alias '%s'..." % self.connection.alias)
|
||||
self._execute_test_db_destruction(cursor, parameters, verbosity)
|
||||
except Exception as e:
|
||||
self.log('Got an error destroying the test database: %s' % e)
|
||||
@@ -176,11 +176,11 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
with self._maindb_connection.cursor() as cursor:
|
||||
if self._test_user_create():
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying test user…')
|
||||
self.log('Destroying test user...')
|
||||
self._destroy_test_user(cursor, parameters, verbosity)
|
||||
if self._test_database_create():
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying test database tables…')
|
||||
self.log('Destroying test database tables...')
|
||||
self._execute_test_db_destruction(cursor, parameters, verbosity)
|
||||
self._maindb_connection.close()
|
||||
|
||||
@@ -262,7 +262,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
def _destroy_test_user(self, cursor, parameters, verbosity):
|
||||
if verbosity >= 2:
|
||||
self.log('_destroy_test_user(): user=%s' % parameters['user'])
|
||||
self.log('Be patient. This can take some time…')
|
||||
self.log('Be patient. This can take some time...')
|
||||
statements = [
|
||||
'DROP USER %(user)s CASCADE',
|
||||
]
|
||||
|
||||
@@ -67,7 +67,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
except Exception:
|
||||
try:
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying old test database for alias %s…' % (
|
||||
self.log('Destroying old test database for alias %s...' % (
|
||||
self._get_database_display_str(verbosity, target_database_name),
|
||||
))
|
||||
cursor.execute('DROP DATABASE %(dbname)s' % test_db_params)
|
||||
|
||||
@@ -25,7 +25,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
if not self.is_in_memory_db(test_database_name):
|
||||
# Erase the old test database
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying old test database for alias %s…' % (
|
||||
self.log('Destroying old test database for alias %s...' % (
|
||||
self._get_database_display_str(verbosity, test_database_name),
|
||||
))
|
||||
if os.access(test_database_name, os.F_OK):
|
||||
@@ -64,7 +64,7 @@ class DatabaseCreation(BaseDatabaseCreation):
|
||||
if keepdb:
|
||||
return
|
||||
if verbosity >= 1:
|
||||
self.log('Destroying old test database for alias %s…' % (
|
||||
self.log('Destroying old test database for alias %s...' % (
|
||||
self._get_database_display_str(verbosity, target_database_name),
|
||||
))
|
||||
try:
|
||||
|
||||
@@ -249,7 +249,7 @@ class QuerySet:
|
||||
def __repr__(self):
|
||||
data = list(self[:REPR_OUTPUT_SIZE + 1])
|
||||
if len(data) > REPR_OUTPUT_SIZE:
|
||||
data[-1] = "…(remaining elements truncated)…"
|
||||
data[-1] = "...(remaining elements truncated)..."
|
||||
return '<%s %r>' % (self.__class__.__name__, data)
|
||||
|
||||
def __len__(self):
|
||||
|
||||
@@ -614,7 +614,7 @@ class Query:
|
||||
# really make sense (or return consistent value sets). Not worth
|
||||
# the extra complexity when you can write a real query instead.
|
||||
if self._extra and rhs._extra:
|
||||
raise ValueError("When merging querysets using 'or', you cannot have extra(select=…) on both sides.")
|
||||
raise ValueError("When merging querysets using 'or', you cannot have extra(select=...) on both sides.")
|
||||
self.extra.update(rhs.extra)
|
||||
extra_select_mask = set()
|
||||
if self.extra_select_mask is not None:
|
||||
|
||||
Reference in New Issue
Block a user