From e9817ee1acd98008c4c02be34445447ea54c7761 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 8 Oct 2012 11:57:08 -0400 Subject: [PATCH] Add creation date and time metadata, preserver metadata order with SortedDict --- apps/bootstrap/classes.py | 2 +- apps/bootstrap/literals.py | 2 ++ apps/bootstrap/post_init.py | 8 +++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/bootstrap/classes.py b/apps/bootstrap/classes.py index 779bffe3b0..b65e7dd1ab 100644 --- a/apps/bootstrap/classes.py +++ b/apps/bootstrap/classes.py @@ -81,7 +81,7 @@ class FixtureMetadata(object): fixture. """ - _registry = {} + _registry = SortedDict() @classmethod def get_all(cls): diff --git a/apps/bootstrap/literals.py b/apps/bootstrap/literals.py index 825d8fdb03..aa9f055768 100644 --- a/apps/bootstrap/literals.py +++ b/apps/bootstrap/literals.py @@ -63,6 +63,8 @@ if YAML_AVAILABLE: FIXTURE_TYPES_CHOICES += (FIXTURE_TYPE_YAML, _(u'YAML')), FIXTURE_TYPES_CHOICES += (FIXTURE_TYPE_BETTER_YAML, _(u'Better YAML')), +DATETIME_STRING_FORMAT = '%a, %d %b %Y %H:%M:%S +0000' +FIXTURE_METADATA_CREATED = 'created' FIXTURE_METADATA_EDITED = 'edited' FIXTURE_METADATA_MAYAN_VERSION = 'mayan_edms_version' FIXTURE_METADATA_FORMAT = 'format' diff --git a/apps/bootstrap/post_init.py b/apps/bootstrap/post_init.py index f29a68d06f..de50aaccf3 100644 --- a/apps/bootstrap/post_init.py +++ b/apps/bootstrap/post_init.py @@ -10,14 +10,16 @@ from .links import (link_bootstrap_setup_create, link_bootstrap_setup_execute, link_bootstrap_setup_view, link_bootstrap_setup_dump) from .models import BootstrapSetup from .classes import FixtureMetadata -from .literals import (FIXTURE_METADATA_EDITED, FIXTURE_METADATA_MAYAN_VERSION, - FIXTURE_METADATA_FORMAT, FIXTURE_METADATA_NAME, FIXTURE_METADATA_DESCRIPTION) +from .literals import (FIXTURE_METADATA_CREATED, FIXTURE_METADATA_EDITED, + FIXTURE_METADATA_MAYAN_VERSION, FIXTURE_METADATA_FORMAT, FIXTURE_METADATA_NAME, + FIXTURE_METADATA_DESCRIPTION, DATETIME_STRING_FORMAT) register_links([BootstrapSetup], [link_bootstrap_setup_view, link_bootstrap_setup_edit, link_bootstrap_setup_delete, link_bootstrap_setup_execute]) register_links([BootstrapSetup], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump], menu_name='secondary_menu') register_links(['bootstrap_setup_list', 'bootstrap_setup_create', 'bootstrap_setup_dump'], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump], menu_name='secondary_menu') -FixtureMetadata(FIXTURE_METADATA_EDITED, generate_function=lambda fixture_instance: strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) +FixtureMetadata(FIXTURE_METADATA_CREATED, generate_function=lambda fixture_instance: strftime(fixture_instance.created.strftime(DATETIME_STRING_FORMAT))) +FixtureMetadata(FIXTURE_METADATA_EDITED, generate_function=lambda fixture_instance: strftime(DATETIME_STRING_FORMAT, gmtime())) FixtureMetadata(FIXTURE_METADATA_MAYAN_VERSION, generate_function=lambda fixture_instance: __version__) FixtureMetadata(FIXTURE_METADATA_FORMAT, generate_function=lambda fixture_instance: fixture_instance.type) FixtureMetadata(FIXTURE_METADATA_NAME, generate_function=lambda fixture_instance: fixture_instance.name)