def get_data(self, request, context, *args, **kwargs): backup_id = kwargs.get("backup_id") try: backup = api.trove.backup_get(request, backup_id) created_at = filters.parse_isotime(backup.created) updated_at = filters.parse_isotime(backup.updated) backup.duration = updated_at - created_at except Exception: redirect = reverse('horizon:project:database_backups:index') msg = _('Unable to retrieve details for backup: %s') % backup_id exceptions.handle(self.request, msg, redirect=redirect) try: if(hasattr(backup, 'parent_id') and backup.parent_id is not None): backup.parent = api.trove.backup_get(request, backup.parent_id) except Exception: redirect = reverse('horizon:project:database_backups:index') msg = (_('Unable to retrieve details for parent backup: %s') % backup.parent_id) exceptions.handle(self.request, msg, redirect=redirect) try: instance = api.trove.instance_get(request, backup.instance_id) except Exception: instance = None context['backup'] = backup context['instance'] = instance return context
def get_data(self, request, context, *args, **kwargs): backup_id = kwargs.get("backup_id") try: backup = api.trove.backup_get(request, backup_id) created_at = filters.parse_isotime(backup.created) updated_at = filters.parse_isotime(backup.updated) backup.duration = updated_at - created_at except Exception: redirect = reverse('horizon:project:database_backups:index') msg = _('Unable to retrieve details for backup: %s') % backup_id exceptions.handle(self.request, msg, redirect=redirect) try: if (hasattr(backup, 'parent_id') and backup.parent_id is not None): backup.parent = api.trove.backup_get(request, backup.parent_id) except Exception: redirect = reverse('horizon:project:database_backups:index') msg = (_('Unable to retrieve details for parent backup: %s') % backup.parent_id) exceptions.handle(self.request, msg, redirect=redirect) try: instance = api.trove.instance_get(request, backup.instance_id) except Exception: instance = None context['backup'] = backup context['instance'] = instance return context
def get_data(self, request, context, *args, **kwargs): __method__ = "views.BackupDetailsView.get_data" failure_message = "Unable to retrieve backup details." backup_id = kwargs.get("backup_id") try: # Use the backup id passed in to retrieve the backup backup = trove_api.trove.backup_get(request, backup_id) created_at = filters.parse_isotime(backup.created) updated_at = filters.parse_isotime(backup.updated) backup.duration = updated_at - created_at except Exception: # Redirect so that incomplete (or non-existant) backup # information is not displayed exceptions.handle(self.request, failure_message, redirect=self.get_redirect_url()) try: # Try to retrieve parent information (if present) if (hasattr(backup, 'parent_id') and backup.parent_id is not None): backup.parent = trove_api.trove.backup_get( request, backup.parent_id) except Exception as e: # This is a problem -- the information indicates a parent exists, # but the parent could not be retrieved...There is a gap in the # incremental backup logging.error( '%s: Exception received trying to retrieve parent ' 'details for database backup: %s. Exception ' 'is: %s', __method__, backup_id, e) backup.parent = None msg = _('A problem occurred trying to retrieve parent information ' 'for the incremental backup. Parent information could ' 'not be displayed.') messages.error(self.request, msg) try: # try to retrieve instance information (if present) -- the backup # may have been created for an instance that no longer exists -- # this is not a failure case -- no warning/error needed instance = trove_api.trove.instance_get(request, backup.instance_id) except Exception as e: instance = None context['backup'] = backup context['instance'] = instance return context
def test_parse_isotime_filter(self): c = django.template.Context({'time': ''}) t = django.template.Template('{{ time|parse_isotime }}') output = u"" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': 'error'}) t = django.template.Template('{{ time|parse_isotime }}') output = u"" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': 'error'}) t = django.template.Template('{{ time|parse_isotime:"test" }}') output = u"test" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': '2007-03-04T21:08:12'}) t = django.template.Template('{{ time|parse_isotime:"test" }}') output = u"March 4, 2007, 9:08 p.m." self.assertEqual(output, t.render(c)) adate = '2007-01-25T12:00:00Z' result = filters.parse_isotime(adate) self.assertIsInstance(result, datetime.datetime)
def test_parse_isotime_filter(self): c = django.template.Context({'time': ''}) t = django.template.Template('{{ time|parse_isotime }}') output = u"" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': 'error'}) t = django.template.Template('{{ time|parse_isotime }}') output = u"" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': 'error'}) t = django.template.Template('{{ time|parse_isotime:"test" }}') output = u"test" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': '2007-03-04T21:08:12'}) t = django.template.Template('{{ time|parse_isotime:"test" }}') output = u"March 4, 2007, 3:08 p.m." self.assertEqual(output, t.render(c)) adate = '2007-01-25T12:00:00Z' result = filters.parse_isotime(adate) self.assertIsInstance(result, datetime.datetime)
def test_parse_isotime_filter(self): c = django.template.Context({"time": ""}) t = django.template.Template("{{time|parse_isotime}}") output = u"" self.assertEqual(t.render(c), output) c = django.template.Context({"time": "error"}) t = django.template.Template("{{time|parse_isotime}}") output = u"" self.assertEqual(t.render(c), output) c = django.template.Context({"time": "error"}) t = django.template.Template('{{time|parse_isotime:"test"}}') output = u"test" self.assertEqual(t.render(c), output) c = django.template.Context({"time": "2007-03-04T21:08:12"}) t = django.template.Template('{{time|parse_isotime:"test"}}') output = u"March 4, 2007, 3:08 p.m." self.assertEqual(t.render(c), output) adate = "2007-01-25T12:00:00Z" result = filters.parse_isotime(adate) self.assertIsInstance(result, datetime.datetime)
def get_created_time(recored): created_time = "-" if recored.has_key("created_time"): created_time = filters.parse_isotime(recored["created_time"]) return created_time
def test_parse_isotime_filter(self): adate = '2007-01-25T12:00:00Z' result = filters.parse_isotime(adate) self.assertIsInstance(result, datetime.datetime)
def get_date(message): return parse_isotime(message.created_at)
def parse_isotime(data, fields=["begin", "end"]): for field in fields: data[field] = filters.parse_isotime(data[field]) return data
def timestamp_to_iso(timestamp): date = datetime.utcfromtimestamp(timestamp) return horizon_filters.parse_isotime(date.isoformat())
def get_updated_time(object): return filters.parse_isotime(object.updated_time) or None