Skip to content

Commit 6df58b6

Browse files
author
Dean Troyer
committed
Fix additional output encoding issues
This is a followup to https://review.openstack.org/#/c/541609/ that changes most outstanding direct uses of sys.stdout to use the encoded stdout set up by cliff. Change-Id: I07cfc418385fc787d3b7d3c32d39676cf81bb91f
1 parent 9a17356 commit 6df58b6

7 files changed

Lines changed: 78 additions & 54 deletions

File tree

openstackclient/compute/v2/server.py

Lines changed: 49 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import io
2121
import logging
2222
import os
23-
import sys
2423

2524
from novaclient.v2 import servers
2625
from osc_lib.cli import parseractions
@@ -189,12 +188,6 @@ def _prep_server_detail(compute_client, image_client, server):
189188
return info
190189

191190

192-
def _show_progress(progress):
193-
if progress:
194-
sys.stdout.write('\rProgress: %s' % progress)
195-
sys.stdout.flush()
196-
197-
198191
class AddFixedIP(command.Command):
199192
_description = _("Add fixed IP address to server")
200193

@@ -580,6 +573,12 @@ def get_parser(self, prog_name):
580573
return parser
581574

582575
def take_action(self, parsed_args):
576+
577+
def _show_progress(progress):
578+
if progress:
579+
self.app.stdout.write('\rProgress: %s' % progress)
580+
self.app.stdout.flush()
581+
583582
compute_client = self.app.client_manager.compute
584583
volume_client = self.app.client_manager.volume
585584
image_client = self.app.client_manager.image
@@ -814,11 +813,11 @@ def take_action(self, parsed_args):
814813
server.id,
815814
callback=_show_progress,
816815
):
817-
sys.stdout.write('\n')
816+
self.app.stdout.write('\n')
818817
else:
819818
LOG.error(_('Error creating server: %s'),
820819
parsed_args.server_name)
821-
sys.stdout.write(_('Error creating server\n'))
820+
self.app.stdout.write(_('Error creating server\n'))
822821
raise SystemExit
823822

824823
details = _prep_server_detail(compute_client, image_client, server)
@@ -872,6 +871,12 @@ def get_parser(self, prog_name):
872871
return parser
873872

874873
def take_action(self, parsed_args):
874+
875+
def _show_progress(progress):
876+
if progress:
877+
self.app.stdout.write('\rProgress: %s' % progress)
878+
self.app.stdout.flush()
879+
875880
compute_client = self.app.client_manager.compute
876881
for server in parsed_args.server:
877882
server_obj = utils.find_resource(
@@ -883,11 +888,11 @@ def take_action(self, parsed_args):
883888
server_obj.id,
884889
callback=_show_progress,
885890
):
886-
sys.stdout.write('\n')
891+
self.app.stdout.write('\n')
887892
else:
888893
LOG.error(_('Error deleting server: %s'),
889894
server_obj.id)
890-
sys.stdout.write(_('Error deleting server\n'))
895+
self.app.stdout.write(_('Error deleting server\n'))
891896
raise SystemExit
892897

893898

@@ -1290,6 +1295,11 @@ def get_parser(self, prog_name):
12901295

12911296
def take_action(self, parsed_args):
12921297

1298+
def _show_progress(progress):
1299+
if progress:
1300+
self.app.stdout.write('\rProgress: %s' % progress)
1301+
self.app.stdout.flush()
1302+
12931303
compute_client = self.app.client_manager.compute
12941304

12951305
server = utils.find_resource(
@@ -1315,11 +1325,11 @@ def take_action(self, parsed_args):
13151325
server.id,
13161326
callback=_show_progress,
13171327
):
1318-
sys.stdout.write(_('Complete\n'))
1328+
self.app.stdout.write(_('Complete\n'))
13191329
else:
13201330
LOG.error(_('Error migrating server: %s'),
13211331
server.id)
1322-
sys.stdout.write(_('Error migrating server\n'))
1332+
self.app.stdout.write(_('Error migrating server\n'))
13231333
raise SystemExit
13241334

13251335

@@ -1380,6 +1390,12 @@ def get_parser(self, prog_name):
13801390
return parser
13811391

13821392
def take_action(self, parsed_args):
1393+
1394+
def _show_progress(progress):
1395+
if progress:
1396+
self.app.stdout.write('\rProgress: %s' % progress)
1397+
self.app.stdout.flush()
1398+
13831399
compute_client = self.app.client_manager.compute
13841400
server = utils.find_resource(
13851401
compute_client.servers, parsed_args.server)
@@ -1391,11 +1407,11 @@ def take_action(self, parsed_args):
13911407
server.id,
13921408
callback=_show_progress,
13931409
):
1394-
sys.stdout.write(_('Complete\n'))
1410+
self.app.stdout.write(_('Complete\n'))
13951411
else:
13961412
LOG.error(_('Error rebooting server: %s'),
13971413
server.id)
1398-
sys.stdout.write(_('Error rebooting server\n'))
1414+
self.app.stdout.write(_('Error rebooting server\n'))
13991415
raise SystemExit
14001416

14011417

@@ -1428,6 +1444,12 @@ def get_parser(self, prog_name):
14281444
return parser
14291445

14301446
def take_action(self, parsed_args):
1447+
1448+
def _show_progress(progress):
1449+
if progress:
1450+
self.app.stdout.write('\rProgress: %s' % progress)
1451+
self.app.stdout.flush()
1452+
14311453
compute_client = self.app.client_manager.compute
14321454
image_client = self.app.client_manager.image
14331455

@@ -1445,11 +1467,11 @@ def take_action(self, parsed_args):
14451467
server.id,
14461468
callback=_show_progress,
14471469
):
1448-
sys.stdout.write(_('Complete\n'))
1470+
self.app.stdout.write(_('Complete\n'))
14491471
else:
14501472
LOG.error(_('Error rebuilding server: %s'),
14511473
server.id)
1452-
sys.stdout.write(_('Error rebuilding server\n'))
1474+
self.app.stdout.write(_('Error rebuilding server\n'))
14531475
raise SystemExit
14541476

14551477
details = _prep_server_detail(compute_client, image_client, server)
@@ -1727,6 +1749,11 @@ def get_parser(self, prog_name):
17271749

17281750
def take_action(self, parsed_args):
17291751

1752+
def _show_progress(progress):
1753+
if progress:
1754+
self.app.stdout.write('\rProgress: %s' % progress)
1755+
self.app.stdout.flush()
1756+
17301757
compute_client = self.app.client_manager.compute
17311758
server = utils.find_resource(
17321759
compute_client.servers,
@@ -1745,11 +1772,11 @@ def take_action(self, parsed_args):
17451772
success_status=['active', 'verify_resize'],
17461773
callback=_show_progress,
17471774
):
1748-
sys.stdout.write(_('Complete\n'))
1775+
self.app.stdout.write(_('Complete\n'))
17491776
else:
17501777
LOG.error(_('Error resizing server: %s'),
17511778
server.id)
1752-
sys.stdout.write(_('Error resizing server\n'))
1779+
self.app.stdout.write(_('Error resizing server\n'))
17531780
raise SystemExit
17541781
elif parsed_args.confirm:
17551782
compute_client.servers.confirm_resize(server)
@@ -1915,7 +1942,9 @@ def take_action(self, parsed_args):
19151942
if parsed_args.diagnostics:
19161943
(resp, data) = server.diagnostics()
19171944
if not resp.status_code == 200:
1918-
sys.stderr.write(_("Error retrieving diagnostics data\n"))
1945+
self.app.stderr.write(_(
1946+
"Error retrieving diagnostics data\n"
1947+
))
19191948
return ({}, {})
19201949
else:
19211950
data = _prep_server_detail(compute_client,

openstackclient/compute/v2/server_backup.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515

1616
"""Compute v2 Server action implementations"""
1717

18-
import sys
19-
2018
from osc_lib.command import command
2119
from osc_lib import exceptions
2220
from osc_lib import utils
@@ -26,12 +24,6 @@
2624
from openstackclient.i18n import _
2725

2826

29-
def _show_progress(progress):
30-
if progress:
31-
sys.stderr.write('\rProgress: %s' % progress)
32-
sys.stderr.flush()
33-
34-
3527
class CreateServerBackup(command.ShowOne):
3628
_description = _("Create a server backup image")
3729

@@ -74,6 +66,12 @@ def get_parser(self, prog_name):
7466
return parser
7567

7668
def take_action(self, parsed_args):
69+
70+
def _show_progress(progress):
71+
if progress:
72+
self.app.stderr.write('\rProgress: %s' % progress)
73+
self.app.stderr.flush()
74+
7775
compute_client = self.app.client_manager.compute
7876

7977
server = utils.find_resource(
@@ -114,7 +112,7 @@ def take_action(self, parsed_args):
114112
image.id,
115113
callback=_show_progress,
116114
):
117-
sys.stdout.write('\n')
115+
self.app.stdout.write('\n')
118116
else:
119117
msg = _('Error creating server backup: %s') % parsed_args.name
120118
raise exceptions.CommandError(msg)

openstackclient/compute/v2/server_image.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"""Compute v2 Server action implementations"""
1717

1818
import logging
19-
import sys
2019

2120
from osc_lib.command import command
2221
from osc_lib import exceptions
@@ -30,12 +29,6 @@
3029
LOG = logging.getLogger(__name__)
3130

3231

33-
def _show_progress(progress):
34-
if progress:
35-
sys.stdout.write('\rProgress: %s' % progress)
36-
sys.stdout.flush()
37-
38-
3932
class CreateServerImage(command.ShowOne):
4033
_description = _("Create a new server disk image from an existing server")
4134

@@ -64,6 +57,12 @@ def get_parser(self, prog_name):
6457
return parser
6558

6659
def take_action(self, parsed_args):
60+
61+
def _show_progress(progress):
62+
if progress:
63+
self.app.stdout.write('\rProgress: %s' % progress)
64+
self.app.stdout.flush()
65+
6766
compute_client = self.app.client_manager.compute
6867

6968
server = utils.find_resource(
@@ -92,7 +91,7 @@ def take_action(self, parsed_args):
9291
image_id,
9392
callback=_show_progress,
9493
):
95-
sys.stdout.write('\n')
94+
self.app.stdout.write('\n')
9695
else:
9796
LOG.error(_('Error creating server image: %s'),
9897
parsed_args.server)

openstackclient/compute/v2/usage.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"""Usage action implementations"""
1717

1818
import datetime
19-
import sys
2019

2120
from osc_lib.command import command
2221
from osc_lib import utils
@@ -96,7 +95,7 @@ def _format_project(project):
9695
pass
9796

9897
if parsed_args.formatter == 'table' and len(usage_list) > 0:
99-
sys.stdout.write(_("Usage from %(start)s to %(end)s: \n") % {
98+
self.app.stdout.write(_("Usage from %(start)s to %(end)s: \n") % {
10099
"start": start.strftime(dateformat),
101100
"end": end.strftime(dateformat),
102101
})
@@ -168,8 +167,9 @@ def take_action(self, parsed_args):
168167
usage = compute_client.usage.get(project, start, end)
169168

170169
if parsed_args.formatter == 'table':
171-
sys.stdout.write(_("Usage from %(start)s to %(end)s on "
172-
"project %(project)s: \n") % {
170+
self.app.stdout.write(_(
171+
"Usage from %(start)s to %(end)s on project %(project)s: \n"
172+
) % {
173173
"start": start.strftime(dateformat),
174174
"end": end.strftime(dateformat),
175175
"project": project,

openstackclient/identity/v3/group.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"""Group action implementations"""
1717

1818
import logging
19-
import sys
2019

2120
from keystoneauth1 import exceptions as ks_exc
2221
from osc_lib.command import command
@@ -122,15 +121,15 @@ def take_action(self, parsed_args):
122121
'user': parsed_args.user,
123122
'group': parsed_args.group,
124123
}
125-
sys.stderr.write(msg)
124+
self.app.stderr.write(msg)
126125
else:
127126
raise e
128127
else:
129128
msg = _("%(user)s in group %(group)s\n") % {
130129
'user': parsed_args.user,
131130
'group': parsed_args.group,
132131
}
133-
sys.stdout.write(msg)
132+
self.app.stdout.write(msg)
134133

135134

136135
class CreateGroup(command.ShowOne):

openstackclient/image/v2/image.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import argparse
1919
import logging
20-
import sys
2120

2221
from glanceclient.common import utils as gc_utils
2322
from osc_lib.cli import parseractions
@@ -653,7 +652,7 @@ def take_action(self, parsed_args):
653652
if data.wrapped is None:
654653
msg = _('Image %s has no data.') % image.id
655654
LOG.error(msg)
656-
sys.stdout.write(msg + '\n')
655+
self.app.stdout.write(msg + '\n')
657656
raise SystemExit
658657

659658
gc_utils.save_image(data, parsed_args.file)

0 commit comments

Comments
 (0)