Commit 46323c27 by Kálmán Viktor

circle: fix flake8 warnings

parent 0282e224
...@@ -246,8 +246,8 @@ class AclBase(Model): ...@@ -246,8 +246,8 @@ class AclBase(Model):
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
super(AclBase, self).save(*args, **kwargs) super(AclBase, self).save(*args, **kwargs)
if 'owner' in dict(self.ACL_LEVELS) and (hasattr(self, 'owner') if 'owner' in dict(self.ACL_LEVELS) and (hasattr(self, 'owner') and
and self.owner): self.owner):
self.set_user_level(self.owner, 'owner') self.set_user_level(self.owner, 'owner')
class Meta: class Meta:
......
...@@ -46,7 +46,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "circle.settings.production") ...@@ -46,7 +46,7 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "circle.settings.production")
# This application object is used by any WSGI server configured to use this # This application object is used by any WSGI server configured to use this
# file. This includes Django's development server, if the WSGI_APPLICATION # file. This includes Django's development server, if the WSGI_APPLICATION
# setting points here. # setting points here.
from django.core.wsgi import get_wsgi_application from django.core.wsgi import get_wsgi_application # noqa
_application = get_wsgi_application() _application = get_wsgi_application()
......
...@@ -97,7 +97,7 @@ def has_prefix(activity_code, *prefixes): ...@@ -97,7 +97,7 @@ def has_prefix(activity_code, *prefixes):
>>> assert has_prefix('foo.bar.buz', 'foo', 'bar', 'buz') >>> assert has_prefix('foo.bar.buz', 'foo', 'bar', 'buz')
>>> assert not has_prefix('foo.bar.buz', 'foo', 'buz') >>> assert not has_prefix('foo.bar.buz', 'foo', 'buz')
""" """
equal = lambda a, b: a == b def equal(a, b): return a == b
act_code_parts = split_activity_code(activity_code) act_code_parts = split_activity_code(activity_code)
prefixes = chain(*imap(split_activity_code, prefixes)) prefixes = chain(*imap(split_activity_code, prefixes))
return all(imap(equal, act_code_parts, prefixes)) return all(imap(equal, act_code_parts, prefixes))
...@@ -112,7 +112,7 @@ def has_suffix(activity_code, *suffixes): ...@@ -112,7 +112,7 @@ def has_suffix(activity_code, *suffixes):
>>> assert has_suffix('foo.bar.buz', 'foo', 'bar', 'buz') >>> assert has_suffix('foo.bar.buz', 'foo', 'bar', 'buz')
>>> assert not has_suffix('foo.bar.buz', 'foo', 'buz') >>> assert not has_suffix('foo.bar.buz', 'foo', 'buz')
""" """
equal = lambda a, b: a == b def equal(a, b): return a == b
act_code_parts = split_activity_code(activity_code) act_code_parts = split_activity_code(activity_code)
suffixes = list(chain(*imap(split_activity_code, suffixes))) suffixes = list(chain(*imap(split_activity_code, suffixes)))
return all(imap(equal, reversed(act_code_parts), reversed(suffixes))) return all(imap(equal, reversed(act_code_parts), reversed(suffixes)))
...@@ -441,8 +441,8 @@ class HumanReadableObject(object): ...@@ -441,8 +441,8 @@ class HumanReadableObject(object):
@classmethod @classmethod
def create(cls, user_text_template, admin_text_template=None, **params): def create(cls, user_text_template, admin_text_template=None, **params):
return cls(user_text_template=user_text_template, return cls(user_text_template=user_text_template,
admin_text_template=(admin_text_template admin_text_template=(admin_text_template or
or user_text_template), params=params) user_text_template), params=params)
def set(self, user_text_template, admin_text_template=None, **params): def set(self, user_text_template, admin_text_template=None, **params):
self._set_values(user_text_template, self._set_values(user_text_template,
......
...@@ -38,10 +38,10 @@ def highlight(field, q, none_wo_match=True): ...@@ -38,10 +38,10 @@ def highlight(field, q, none_wo_match=True):
match = None match = None
if q and match is not None: if q and match is not None:
match_end = match + len(q) match_end = match + len(q)
return (escape(field[:match]) return (escape(field[:match]) +
+ '<span class="autocomplete-hl">' '<span class="autocomplete-hl">' +
+ escape(field[match:match_end]) escape(field[match:match_end]) +
+ '</span>' + escape(field[match_end:])) '</span>' + escape(field[match_end:]))
elif none_wo_match: elif none_wo_match:
return None return None
else: else:
......
...@@ -506,8 +506,8 @@ class TemplateForm(forms.ModelForm): ...@@ -506,8 +506,8 @@ class TemplateForm(forms.ModelForm):
self.allowed_fields = ( self.allowed_fields = (
'name', 'access_method', 'description', 'system', 'tags', 'name', 'access_method', 'description', 'system', 'tags',
'arch', 'lease', 'has_agent') 'arch', 'lease', 'has_agent')
if (self.user.has_perm('vm.change_template_resources') if (self.user.has_perm('vm.change_template_resources') or
or not self.instance.pk): not self.instance.pk):
self.allowed_fields += tuple(set(self.fields.keys()) - self.allowed_fields += tuple(set(self.fields.keys()) -
set(['raw_data'])) set(['raw_data']))
if self.user.is_superuser: if self.user.is_superuser:
...@@ -523,8 +523,8 @@ class TemplateForm(forms.ModelForm): ...@@ -523,8 +523,8 @@ class TemplateForm(forms.ModelForm):
self.initial['max_ram_size'] = 512 self.initial['max_ram_size'] = 512
lease_queryset = ( lease_queryset = (
Lease.get_objects_with_level("operator", self.user).distinct() Lease.get_objects_with_level("operator", self.user).distinct() |
| Lease.objects.filter(pk=self.instance.lease_id).distinct()) Lease.objects.filter(pk=self.instance.lease_id).distinct())
self.fields["lease"].queryset = lease_queryset self.fields["lease"].queryset = lease_queryset
......
...@@ -64,8 +64,8 @@ class Command(BaseCommand): ...@@ -64,8 +64,8 @@ class Command(BaseCommand):
def handle(self, *args, **options): def handle(self, *args, **options):
self.changed = False self.changed = False
if (DataStore.objects.exists() and Vlan.objects.exists() if (DataStore.objects.exists() and Vlan.objects.exists() and
and not options['force']): not options['force']):
return self.print_state() return self.print_state()
admin = self.create(User, 'username', username=options['admin_user'], admin = self.create(User, 'username', username=options['admin_user'],
......
...@@ -601,8 +601,8 @@ class CircleSeleniumMixin(SeleniumMixin): ...@@ -601,8 +601,8 @@ class CircleSeleniumMixin(SeleniumMixin):
choices = self.driver.find_elements_by_css_selector( choices = self.driver.find_elements_by_css_selector(
"input[type='radio']") "input[type='radio']")
choice_list = [item for item in choices if ( choice_list = [item for item in choices if (
'test' not in item.get_attribute('value') 'test' not in item.get_attribute('value') and
and item.get_attribute('value') != 'base_vm')] item.get_attribute('value') != 'base_vm')]
chosen = random.randint(0, len(choice_list) - 1) chosen = random.randint(0, len(choice_list) - 1)
choice_list[chosen].click() choice_list[chosen].click()
self.driver.find_element_by_id( self.driver.find_element_by_id(
......
...@@ -545,8 +545,8 @@ class UserList(LoginRequiredMixin, PermissionRequiredMixin, SingleTableView): ...@@ -545,8 +545,8 @@ class UserList(LoginRequiredMixin, PermissionRequiredMixin, SingleTableView):
q = self.search_form.cleaned_data.get('s') q = self.search_form.cleaned_data.get('s')
if q: if q:
filters = (Q(username__icontains=q) | Q(email__icontains=q) filters = (Q(username__icontains=q) | Q(email__icontains=q) |
| Q(profile__org_id__icontains=q)) Q(profile__org_id__icontains=q))
for w in q.split()[:3]: for w in q.split()[:3]:
filters |= ( filters |= (
Q(first_name__icontains=w) | Q(last_name__icontains=w)) Q(first_name__icontains=w) | Q(last_name__icontains=w))
......
...@@ -150,8 +150,8 @@ class VmDetailView(GraphMixin, CheckedDetailView): ...@@ -150,8 +150,8 @@ class VmDetailView(GraphMixin, CheckedDetailView):
# resources forms # resources forms
can_edit = ( can_edit = (
instance.has_level(user, "owner") instance.has_level(user, "owner") and
and self.request.user.has_perm("vm.change_resources")) self.request.user.has_perm("vm.change_resources"))
context['resources_form'] = VmResourcesForm( context['resources_form'] = VmResourcesForm(
can_edit=can_edit, instance=instance) can_edit=can_edit, instance=instance)
...@@ -569,8 +569,8 @@ class VmResourcesChangeView(VmOperationView): ...@@ -569,8 +569,8 @@ class VmResourcesChangeView(VmOperationView):
content_type="application=json" content_type="application=json"
) )
else: else:
return HttpResponseRedirect(instance.get_absolute_url() return HttpResponseRedirect(instance.get_absolute_url() +
+ "#resources") "#resources")
else: else:
extra = form.cleaned_data extra = form.cleaned_data
extra['max_ram_size'] = extra['ram_size'] extra['max_ram_size'] = extra['ram_size']
...@@ -1261,8 +1261,9 @@ def vm_activity(request, pk): ...@@ -1261,8 +1261,9 @@ def vm_activity(request, pk):
response['status'] = instance.status response['status'] = instance.status
response['icon'] = instance.get_status_icon() response['icon'] = instance.get_status_icon()
latest = instance.get_latest_activity_in_progress() latest = instance.get_latest_activity_in_progress()
response['is_new_state'] = (latest and latest.resultant_state is not None response['is_new_state'] = (latest and
and instance.status != latest.resultant_state) latest.resultant_state is not None and
instance.status != latest.resultant_state)
context = { context = {
'instance': instance, 'instance': instance,
......
...@@ -188,11 +188,11 @@ class IPNetworkField(models.Field): ...@@ -188,11 +188,11 @@ class IPNetworkField(models.Field):
if isinstance(value, IPNetwork): if isinstance(value, IPNetwork):
if self.version == 4: if self.version == 4:
return ('.'.join("%03d" % x for x in value.ip.words) return ('.'.join("%03d" % x for x in value.ip.words) +
+ '/%02d' % value.prefixlen) '/%02d' % value.prefixlen)
else: else:
return (':'.join("%04X" % x for x in value.ip.words) return (':'.join("%04X" % x for x in value.ip.words) +
+ '/%03d' % value.prefixlen) '/%03d' % value.prefixlen)
return value return value
def formfield(self, **kwargs): def formfield(self, **kwargs):
......
...@@ -700,8 +700,8 @@ class Host(models.Model): ...@@ -700,8 +700,8 @@ class Host(models.Model):
return self.vlan.network_type != 'public' return self.vlan.network_type != 'public'
def clean(self): def clean(self):
if (self.external_ipv4 and not self.shared_ip and self.behind_nat if (self.external_ipv4 and not self.shared_ip and self.behind_nat and
and Host.objects.exclude(id=self.id).filter( Host.objects.exclude(id=self.id).filter(
external_ipv4=self.external_ipv4)): external_ipv4=self.external_ipv4)):
raise ValidationError(_("If shared_ip has been checked, " raise ValidationError(_("If shared_ip has been checked, "
"external_ipv4 has to be unique.")) "external_ipv4 has to be unique."))
......
...@@ -55,8 +55,8 @@ def select_node(instance, nodes): ...@@ -55,8 +55,8 @@ def select_node(instance, nodes):
''' '''
# check required traits # check required traits
nodes = [n for n in nodes nodes = [n for n in nodes
if n.schedule_enabled and n.online if n.schedule_enabled and n.online and
and has_traits(instance.req_traits.all(), n)] has_traits(instance.req_traits.all(), n)]
if not nodes: if not nodes:
logger.warning('select_node: no usable node for %s', unicode(instance)) logger.warning('select_node: no usable node for %s', unicode(instance))
raise TraitsUnsatisfiableException() raise TraitsUnsatisfiableException()
......
...@@ -54,7 +54,7 @@ def measure_response_time(): ...@@ -54,7 +54,7 @@ def measure_response_time():
@celery.task(ignore_result=True) @celery.task(ignore_result=True)
def check_celery_queues(): def check_celery_queues():
graphite_string = lambda component, hostname, celery, is_alive, time: ( def graphite_string(component, hostname, celery, is_alive, time): return (
"%s.%s.celery-queues.%s %d %s" % ( "%s.%s.celery-queues.%s %d %s" % (
component, hostname, celery, 1 if is_alive else 0, time) component, hostname, celery, 1 if is_alive else 0, time)
) )
...@@ -92,7 +92,7 @@ def check_celery_queues(): ...@@ -92,7 +92,7 @@ def check_celery_queues():
@celery.task(ignore_result=True) @celery.task(ignore_result=True)
def instance_per_template(): def instance_per_template():
graphite_string = lambda pk, state, val, time: ( def graphite_string(pk, state, val, time): return (
"template.%d.instances.%s %d %s" % ( "template.%d.instances.%s %d %s" % (
pk, state, val, time) pk, state, val, time)
) )
...@@ -111,7 +111,7 @@ def instance_per_template(): ...@@ -111,7 +111,7 @@ def instance_per_template():
@celery.task(ignore_result=True) @celery.task(ignore_result=True)
def allocated_memory(): def allocated_memory():
graphite_string = lambda hostname, val, time: ( def graphite_string(hostname, val, time): return (
"circle.%s.memory.allocated %d %s" % ( "circle.%s.memory.allocated %d %s" % (
hostname, val, time) hostname, val, time)
) )
......
...@@ -979,8 +979,8 @@ def remove_switch_port_device(request, **kwargs): ...@@ -979,8 +979,8 @@ def remove_switch_port_device(request, **kwargs):
def add_switch_port_device(request, **kwargs): def add_switch_port_device(request, **kwargs):
device_name = request.POST.get('device_name') device_name = request.POST.get('device_name')
if (request.method == "POST" and device_name and len(device_name) > 0 if (request.method == "POST" and device_name and len(device_name) > 0 and
and EthernetDevice.objects.filter(name=device_name).count() == 0): EthernetDevice.objects.filter(name=device_name).count() == 0):
switch_port = SwitchPort.objects.get(pk=kwargs['pk']) switch_port = SwitchPort.objects.get(pk=kwargs['pk'])
new_device = EthernetDevice(name=device_name, switch_port=switch_port) new_device = EthernetDevice(name=device_name, switch_port=switch_port)
......
...@@ -145,8 +145,8 @@ class InstanceActivity(ActivityModel): ...@@ -145,8 +145,8 @@ class InstanceActivity(ActivityModel):
def has_percentage(self): def has_percentage(self):
op = self.instance.get_operation_from_activity_code(self.activity_code) op = self.instance.get_operation_from_activity_code(self.activity_code)
return (self.task_uuid and op and op.has_percentage return (self.task_uuid and op and op.has_percentage and
and not self.finished) not self.finished)
def get_percentage(self): def get_percentage(self):
"""Returns the percentage of the running operation if available. """Returns the percentage of the running operation if available.
......
...@@ -174,6 +174,6 @@ class Trait(Model): ...@@ -174,6 +174,6 @@ class Trait(Model):
@property @property
def in_use(self): def in_use(self):
return ( return (
self.instance_set.exists() or self.node_set.exists() self.instance_set.exists() or self.node_set.exists() or
or self.instancetemplate_set.exists() self.instancetemplate_set.exists()
) )
...@@ -852,8 +852,8 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin, ...@@ -852,8 +852,8 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin,
def is_in_status_change(self): def is_in_status_change(self):
latest = self.get_latest_activity_in_progress() latest = self.get_latest_activity_in_progress()
return (latest and latest.resultant_state is not None return (latest and latest.resultant_state is not None and
and self.status != latest.resultant_state) self.status != latest.resultant_state)
@property @property
def metric_prefix(self): def metric_prefix(self):
......
...@@ -133,8 +133,8 @@ class InstanceOperation(Operation): ...@@ -133,8 +133,8 @@ class InstanceOperation(Operation):
super(InstanceOperation, self).check_auth(user=user) super(InstanceOperation, self).check_auth(user=user)
if (self.instance.node and not self.instance.node.online if (self.instance.node and not self.instance.node.online and
and not user.is_superuser): not user.is_superuser):
raise self.instance.WrongStateError(self.instance) raise self.instance.WrongStateError(self.instance)
def create_activity(self, parent, user, kwargs): def create_activity(self, parent, user, kwargs):
...@@ -534,8 +534,8 @@ class MigrateOperation(RemoteInstanceOperation): ...@@ -534,8 +534,8 @@ class MigrateOperation(RemoteInstanceOperation):
remote_timeout = 1000 remote_timeout = 1000
def _get_remote_args(self, to_node, live_migration, **kwargs): def _get_remote_args(self, to_node, live_migration, **kwargs):
return (super(MigrateOperation, self)._get_remote_args(**kwargs) return (super(MigrateOperation, self)._get_remote_args(**kwargs) +
+ [to_node.host.hostname, live_migration]) [to_node.host.hostname, live_migration])
def rollback(self, activity): def rollback(self, activity):
with activity.sub_activity( with activity.sub_activity(
...@@ -908,8 +908,8 @@ class SleepOperation(InstanceOperation): ...@@ -908,8 +908,8 @@ class SleepOperation(InstanceOperation):
def _get_remote_args(self, **kwargs): def _get_remote_args(self, **kwargs):
return (super(SleepOperation.SuspendVmOperation, self) return (super(SleepOperation.SuspendVmOperation, self)
._get_remote_args(**kwargs) ._get_remote_args(**kwargs) +
+ [self.instance.mem_dump['path']]) [self.instance.mem_dump['path']])
@register_operation @register_operation
...@@ -962,8 +962,8 @@ class WakeUpOperation(InstanceOperation): ...@@ -962,8 +962,8 @@ class WakeUpOperation(InstanceOperation):
def _get_remote_args(self, **kwargs): def _get_remote_args(self, **kwargs):
return (super(WakeUpOperation.WakeUpVmOperation, self) return (super(WakeUpOperation.WakeUpVmOperation, self)
._get_remote_args(**kwargs) ._get_remote_args(**kwargs) +
+ [self.instance.mem_dump['path']]) [self.instance.mem_dump['path']])
@register_operation @register_operation
...@@ -1408,9 +1408,9 @@ class PasswordResetOperation(RemoteAgentOperation): ...@@ -1408,9 +1408,9 @@ class PasswordResetOperation(RemoteAgentOperation):
task = agent_tasks.change_password task = agent_tasks.change_password
required_perms = () required_perms = ()
def _get_remote_args(self, password, **kwargs): def _get_remote_args(self, password, **kwrgs):
return (super(PasswordResetOperation, self)._get_remote_args(**kwargs) return (super(PasswordResetOperation, self)._get_remote_args(**kwrgs) +
+ [password]) [password])
def _operation(self, password=None): def _operation(self, password=None):
if not password: if not password:
...@@ -1433,8 +1433,8 @@ class InstallKeysOperation(RemoteAgentOperation): ...@@ -1433,8 +1433,8 @@ class InstallKeysOperation(RemoteAgentOperation):
def _get_remote_args(self, user, keys=None, **kwargs): def _get_remote_args(self, user, keys=None, **kwargs):
if keys is None: if keys is None:
keys = list(user.userkey_set.values_list('key', flat=True)) keys = list(user.userkey_set.values_list('key', flat=True))
return (super(InstallKeysOperation, self)._get_remote_args(**kwargs) return (super(InstallKeysOperation, self)._get_remote_args(**kwargs) +
+ [keys]) [keys])
@register_operation @register_operation
...@@ -1446,8 +1446,8 @@ class RemoveKeysOperation(RemoteAgentOperation): ...@@ -1446,8 +1446,8 @@ class RemoveKeysOperation(RemoteAgentOperation):
required_perms = () required_perms = ()
def _get_remote_args(self, user, keys, **kwargs): def _get_remote_args(self, user, keys, **kwargs):
return (super(RemoveKeysOperation, self)._get_remote_args(**kwargs) return (super(RemoveKeysOperation, self)._get_remote_args(**kwargs) +
+ [keys]) [keys])
@register_operation @register_operation
...@@ -1541,8 +1541,8 @@ class AgentStartedOperation(InstanceOperation): ...@@ -1541,8 +1541,8 @@ class AgentStartedOperation(InstanceOperation):
def _get_remote_args(self, **kwargs): def _get_remote_args(self, **kwargs):
cls = AgentStartedOperation.SetTimeOperation cls = AgentStartedOperation.SetTimeOperation
return (super(cls, self)._get_remote_args(**kwargs) return (super(cls, self)._get_remote_args(**kwargs) +
+ [time.time()]) [time.time()])
@register_operation @register_operation
class SetHostnameOperation(SubOperationMixin, RemoteAgentOperation): class SetHostnameOperation(SubOperationMixin, RemoteAgentOperation):
...@@ -1552,8 +1552,8 @@ class AgentStartedOperation(InstanceOperation): ...@@ -1552,8 +1552,8 @@ class AgentStartedOperation(InstanceOperation):
def _get_remote_args(self, **kwargs): def _get_remote_args(self, **kwargs):
cls = AgentStartedOperation.SetHostnameOperation cls = AgentStartedOperation.SetHostnameOperation
return (super(cls, self)._get_remote_args(**kwargs) return (super(cls, self)._get_remote_args(**kwargs) +
+ [self.instance.short_hostname]) [self.instance.short_hostname])
@register_operation @register_operation
class RestartNetworkingOperation(SubOperationMixin, RemoteAgentOperation): class RestartNetworkingOperation(SubOperationMixin, RemoteAgentOperation):
...@@ -1572,8 +1572,8 @@ class AgentStartedOperation(InstanceOperation): ...@@ -1572,8 +1572,8 @@ class AgentStartedOperation(InstanceOperation):
interfaces = {str(host.mac): host.get_network_config() interfaces = {str(host.mac): host.get_network_config()
for host in hosts} for host in hosts}
cls = AgentStartedOperation.ChangeIpOperation cls = AgentStartedOperation.ChangeIpOperation
return (super(cls, self)._get_remote_args(**kwargs) return (super(cls, self)._get_remote_args(**kwargs) +
+ [interfaces, settings.FIREWALL_SETTINGS['rdns_ip']]) [interfaces, settings.FIREWALL_SETTINGS['rdns_ip']])
@register_operation @register_operation
...@@ -1697,8 +1697,8 @@ class AbstractDiskOperation(SubOperationMixin, RemoteInstanceOperation): ...@@ -1697,8 +1697,8 @@ class AbstractDiskOperation(SubOperationMixin, RemoteInstanceOperation):
required_perms = () required_perms = ()
def _get_remote_args(self, disk, **kwargs): def _get_remote_args(self, disk, **kwargs):
return (super(AbstractDiskOperation, self)._get_remote_args(**kwargs) return (super(AbstractDiskOperation, self)._get_remote_args(**kwargs) +
+ [disk.get_vmdisk_desc()]) [disk.get_vmdisk_desc()])
@register_operation @register_operation
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment