def change_resource_limit(self, resource, limit): if not isinstance(limit, (int, long)): try: limit = units.parse(limit) except units.ParseError: m = ("Limit should be an integer, optionally followed " "by a unit.") raise CommandError(m) update_resource(resource, limit)
def change_interactive(self, resource_name, _placeholder): if resource_name is None: resources = Resource.objects.all().select_for_update() else: resources = [self.get_resource(resource_name)] for resource in resources: self.stdout.write("Resource '%s' (%s)\n" % (resource.name, resource.desc)) value = show_resource_value(resource.uplimit, resource.name, self.unit_style) self.stdout.write("Current limit: %s\n" % value) while True: self.stdout.write("New limit (leave blank to keep current): ") response = raw_input() if response == "": break else: try: value = units.parse(response) except units.ParseError: continue update_resource(resource, value) break