Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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)
Пример #5
0
    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)
Пример #6
0
    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)
Пример #7
0
def get_created_time(recored):
  created_time = "-"
  if recored.has_key("created_time"):
    created_time = filters.parse_isotime(recored["created_time"])

  return created_time
Пример #8
0
 def test_parse_isotime_filter(self):
     adate = '2007-01-25T12:00:00Z'
     result = filters.parse_isotime(adate)
     self.assertIsInstance(result, datetime.datetime)
Пример #9
0
def get_date(message):
    return parse_isotime(message.created_at)
Пример #10
0
def parse_isotime(data, fields=["begin", "end"]):
    for field in fields:
        data[field] = filters.parse_isotime(data[field])
    return data
Пример #11
0
 def test_parse_isotime_filter(self):
     adate = '2007-01-25T12:00:00Z'
     result = filters.parse_isotime(adate)
     self.assertIsInstance(result, datetime.datetime)
Пример #12
0
def timestamp_to_iso(timestamp):
    date = datetime.utcfromtimestamp(timestamp)
    return horizon_filters.parse_isotime(date.isoformat())
Пример #13
0
def get_updated_time(object):
    return filters.parse_isotime(object.updated_time) or None