diff --git a/beat/web/backend/models/environment.py b/beat/web/backend/models/environment.py index 7233b79201caf2ca1f14e49ba7f1f308509d975c..e42694647a215f392b7c42202900382646f0c07a 100755 --- a/beat/web/backend/models/environment.py +++ b/beat/web/backend/models/environment.py @@ -34,112 +34,87 @@ from ...common.models import ShareableManager from ...common.texts import Messages -#---------------------------------------------------------- +# ---------------------------------------------------------- class EnvironmentManager(ShareableManager): - def get_by_natural_key(self, name, version): return self.get(name=name, version=version) def get_by_fullname(self, fullname): - name, version = fullname.rsplit(' ', 1) + name, version = fullname.rsplit(" ", 1) return self.get_by_natural_key(name, version[1:-1]) -#---------------------------------------------------------- +# ---------------------------------------------------------- class Environment(Shareable): """Defines a software environment to run algorithms""" - name = models.CharField( - max_length=200, - help_text=Messages['name'], - ) + name = models.CharField(max_length=200, help_text=Messages["name"]) version = models.CharField( max_length=20, - help_text='Free-style version for this environment (normally read from the Worker/Scheduler available environments)', + help_text="Free-style version for this environment (normally read from the Worker/Scheduler available environments)", ) short_description = models.CharField( - max_length=100, - default='', - blank=True, - help_text=Messages['short_description'], + max_length=100, default="", blank=True, help_text=Messages["short_description"] ) description = models.TextField( - default='', - blank=True, - help_text=Messages['description'], + default="", blank=True, help_text=Messages["description"] ) - creation_date = models.DateTimeField( - 'Creation date', - auto_now_add = True, - ) + creation_date = models.DateTimeField("Creation date", auto_now_add=True) active = models.BooleanField( - default=True, - help_text='If this environment can be used in experiments', + default=True, help_text="If this environment can be used in experiments" ) previous_version = models.ForeignKey( - 'self', - related_name='next_versions', + "self", + related_name="next_versions", null=True, blank=True, on_delete=models.SET_NULL, ) - objects = EnvironmentManager() - - #_____ Meta parameters __________ + # _____ Meta parameters __________ class Meta: - unique_together = ('name', 'version') - + unique_together = ("name", "version") - #_____ Overrides __________ + # _____ Overrides __________ def __str__(self): return self.fullname() - def natural_key(self): return (self.name, self.version) - - #_____ Utilities __________ + # _____ Utilities __________ def fullname(self): - return '%s (%s)' % (self.name, self.version) - + return "%s (%s)" % (self.name, self.version) def get_absolute_url(self): - return reverse( - 'backend:view-environment', - args=(self.name, self.version,), - ) - + return reverse("backend:view-environment", args=(self.name, self.version)) def get_admin_change_url(self): - return reverse('admin:backend_environment_change', args=(self.id,)) - + return reverse("admin:backend_environment_change", args=(self.id,)) def queues_for(self, user): """Returns all queues associated to this environment for which the user has the 'can_access' permission""" - return [q for q in self.queues.all() if user.has_perm('backend.can_access', q)] - + return [q for q in self.queues.all() if user.has_perm("backend.can_access", q)] def as_dict(self): - '''Returns a representation as a dictionary''' + """Returns a representation as a dictionary""" return dict( name=self.name, @@ -149,12 +124,13 @@ class Environment(Shareable): ) -#---------------------------------------------------------- +# ---------------------------------------------------------- class EnvironmentLanguage(models.Model): - environment = models.ForeignKey(Environment, related_name='languages') + environment = models.ForeignKey(Environment, related_name="languages") - language = models.CharField(max_length=1, choices=Code.CODE_LANGUAGE, - default=Code.PYTHON) + language = models.CharField( + max_length=1, choices=Code.CODE_LANGUAGE, default=Code.PYTHON + )