Fix existing bugs in nginxparser.py and obj.py

This commit is contained in:
Erica Portnoy 2017-09-30 14:41:50 -07:00
parent 4ef031ab39
commit c9e10e03c3
3 changed files with 9 additions and 7 deletions

View file

@ -259,14 +259,13 @@ class NginxConfigurator(common.Installer):
if self.new_vhost is None:
default_vhost = self._get_default_vhost()
self.new_vhost = self.parser.create_new_vhost_from_default(default_vhost)
if not self.new_vhost.ssl:
self._make_server_ssl(self.new_vhost)
self.new_vhost.names = set()
self.new_vhost.names.add(domain)
name_block = [['\n ', 'server_name', ' ', " ".join(self.new_vhost.names)]]
self.parser.add_server_directives(self.new_vhost, name_block, replace=True)
if not self.new_vhost.ssl:
self._make_server_ssl(self.new_vhost)
return self.new_vhost
def _get_default_vhost(self):

View file

@ -189,13 +189,15 @@ class UnspacedList(list):
item, spaced_item = self._coerce(x)
slicepos = self._spaced_position(i) if i < len(self) else len(self.spaced)
self.spaced.insert(slicepos, spaced_item)
list.insert(self, i, item)
if not spacey(item):
list.insert(self, i, item)
self.dirty = True
def append(self, x):
item, spaced_item = self._coerce(x)
self.spaced.append(spaced_item)
list.append(self, item)
if not spacey(item):
list.append(self, item)
self.dirty = True
def extend(self, x):
@ -226,7 +228,8 @@ class UnspacedList(list):
raise NotImplementedError("Slice operations on UnspacedLists not yet implemented")
item, spaced_item = self._coerce(value)
self.spaced.__setitem__(self._spaced_position(i), spaced_item)
list.__setitem__(self, i, item)
if not spacey(item):
list.__setitem__(self, i, item)
self.dirty = True
def __delitem__(self, i):

View file

@ -202,7 +202,7 @@ class VirtualHost(object): # pylint: disable=too-few-public-methods
def _find_directive(directives, directive_name):
"""Find a directive of type directive_name in directives
"""
if not directives or isinstance(directives, str) or len(directives) == 0:
if not directives or isinstance(directives, six.string_types) or len(directives) == 0:
return None
if directives[0] == directive_name: