From b732ea073df4f11d5e8f3c28425c93872c136ea0 Mon Sep 17 00:00:00 2001 From: yomguy Date: Fri, 23 Mar 2012 12:53:57 +0100 Subject: [PATCH] add graphs --- doc/devel/telemeta-all.dot | 3076 ++++++++++++++++++++++++++++ doc/devel/telemeta-all.pdf | Bin 0 -> 102961 bytes doc/devel/telemeta.dot | 2642 ++++++++++++++++++++++++ doc/devel/telemeta.pdf | Bin 0 -> 100318 bytes example/sandbox_sqlite/diag.sh | 11 + example/sandbox_sqlite/modelviz.py | 359 ++++ example/sandbox_sqlite/settings.py | 1 + 7 files changed, 6089 insertions(+) create mode 100644 doc/devel/telemeta-all.dot create mode 100644 doc/devel/telemeta-all.pdf create mode 100644 doc/devel/telemeta.dot create mode 100644 doc/devel/telemeta.pdf create mode 100755 example/sandbox_sqlite/diag.sh create mode 100644 example/sandbox_sqlite/modelviz.py diff --git a/doc/devel/telemeta-all.dot b/doc/devel/telemeta-all.dot new file mode 100644 index 00000000..4cb096e6 --- /dev/null +++ b/doc/devel/telemeta-all.dot @@ -0,0 +1,3076 @@ + +digraph name { + fontname = "Helvetica" + fontsize = 8 + + node [ + fontname = "Helvetica" + fontsize = 8 + shape = "plaintext" + ] + edge [ + fontname = "Helvetica" + fontsize = 8 + ] + + + + + django_contrib_auth_models_Permission [label=< + + + + + + + + + + + + + + +
Permission
idAutoField
nameCharField
codenameCharField
+ >] + + django_contrib_auth_models_Group [label=< + + + + + + + + + + + +
Group
idAutoField
nameCharField
+ >] + + django_contrib_auth_models_User [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
User
idAutoField
usernameCharField
first_nameCharField
last_nameCharField
emailEmailField
passwordCharField
is_staffBooleanField
is_activeBooleanField
is_superuserBooleanField
last_loginDateTimeField
date_joinedDateTimeField
+ >] + + django_contrib_auth_models_Message [label=< + + + + + + + + + + + +
Message
idAutoField
messageTextField
+ >] + + + + + django_contrib_contenttypes_models_ContentType [label=< + + + + + + + + + + + + + + + + + +
ContentType
idAutoField
nameCharField
app_labelCharField
modelCharField
+ >] + + + + + django_contrib_sessions_models_Session [label=< + + + + + + + + + + + + + + +
Session
session_keyCharField
session_dataTextField
expire_dateDateTimeField
+ >] + + + + + django_contrib_sites_models_Site [label=< + + + + + + + + + + + + + + +
Site
idAutoField
domainCharField
nameCharField
+ >] + + + + + + + + django_contrib_admin_models_LogEntry [label=< + + + + + + + + + + + + + + + + + + + + + + + +
LogEntry
idAutoField
action_timeDateTimeField
object_idTextField
object_reprCharField
action_flagPositiveSmallIntegerField
change_messageTextField
+ >] + + + + + + + + telemeta_models_enum_Enumeration [label=< + + + + + + + + +
Enumeration
<ModelCore>
valueCharField
+ >] + + telemeta_models_core_ModelCore [label=< + + + + + +
ModelCore
<EnhancedModel>
+ >] + + telemeta_models_media_MediaResource [label=< + + + + + +
MediaResource
<ModelCore>
+ >] + + telemeta_models_media_MediaRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaRelated
<MediaResource>
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaBaseResource [label=< + + + + + + + + + + + + + + + + + + + + +
MediaBaseResource
<MediaResource>
titleCharField
descriptionCharField
codeCharField
referenceCharField
public_accessCharField
+ >] + + telemeta_models_enum_PhysicalFormat [label=< + + + + + + + + + + + +
PhysicalFormat
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_PublishingStatus [label=< + + + + + + + + + + + +
PublishingStatus
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_AcquisitionMode [label=< + + + + + + + + + + + +
AcquisitionMode
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_MetadataAuthor [label=< + + + + + + + + + + + +
MetadataAuthor
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_MetadataWriter [label=< + + + + + + + + + + + +
MetadataWriter
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_LegalRight [label=< + + + + + + + + + + + +
LegalRight
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_RecordingContext [label=< + + + + + + + + + + + +
RecordingContext
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_AdConversion [label=< + + + + + + + + + + + +
AdConversion
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_VernacularStyle [label=< + + + + + + + + + + + +
VernacularStyle
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_GenericStyle [label=< + + + + + + + + + + + +
GenericStyle
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_ContextKeyword [label=< + + + + + + + + + + + +
ContextKeyword
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_Publisher [label=< + + + + + + + + + + + +
Publisher
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_PublisherCollection [label=< + + + + + + + + + + + +
PublisherCollection
<ModelCore>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_EthnicGroup [label=< + + + + + + + + + + + +
EthnicGroup
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_EthnicGroupAlias [label=< + + + + + + + + + + + +
EthnicGroupAlias
<ModelCore>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_TapeLength [label=< + + + + + + + + + + + +
TapeLength
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_TapeWidth [label=< + + + + + + + + + + + +
TapeWidth
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_TapeSpeed [label=< + + + + + + + + + + + +
TapeSpeed
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_TapeVendor [label=< + + + + + + + + + + + +
TapeVendor
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_location_Location [label=< + + + + + + + + + + + + + + + + + + + + + + + +
Location
<ModelCore>
idAutoField
nameCharField
typeIntegerField
latitudeFloatField
longitudeFloatField
is_authoritativeBooleanField
+ >] + + telemeta_models_location_LocationType [label=< + + + + + + + + + + + + + + +
LocationType
<ModelCore>
idAutoField
codeCharField
nameCharField
+ >] + + telemeta_models_location_LocationAlias [label=< + + + + + + + + + + + + + + +
LocationAlias
<ModelCore>
idAutoField
aliasCharField
is_authoritativeBooleanField
+ >] + + telemeta_models_location_LocationRelation [label=< + + + + + + + + + + + + + + +
LocationRelation
<ModelCore>
idAutoField
is_directBooleanField
is_authoritativeBooleanField
+ >] + + telemeta_models_system_Revision [label=< + + + + + + + + + + + + + + + + + + + + +
Revision
<ModelCore>
idAutoField
element_typeCharField
element_idIntegerField
change_typeCharField
timeDateTimeField
+ >] + + telemeta_models_system_UserProfile [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + +
UserProfile
idAutoField
institutionCharField
functionCharField
addressTextField
telephoneCharField
expiration_dateDateField
init_passwordBooleanField
+ >] + + telemeta_models_system_Criteria [label=< + + + + + + + + + + + + + + +
Criteria
<ModelCore>
idAutoField
keyCharField
valueCharField
+ >] + + telemeta_models_system_Search [label=< + + + + + + + + + + + + + + +
Search
<ModelCore>
idAutoField
dateDateTimeField
descriptionCharField
+ >] + + telemeta_models_instrument_Instrument [label=< + + + + + + + + + + + +
Instrument
<ModelCore>
idAutoField
nameCharField
+ >] + + telemeta_models_instrument_InstrumentAlias [label=< + + + + + + + + + + + +
InstrumentAlias
<ModelCore>
idAutoField
nameCharField
+ >] + + telemeta_models_instrument_InstrumentRelation [label=< + + + + + + + + +
InstrumentRelation
<ModelCore>
idAutoField
+ >] + + telemeta_models_instrument_InstrumentAliasRelation [label=< + + + + + + + + +
InstrumentAliasRelation
<ModelCore>
idAutoField
+ >] + + telemeta_models_language_Language [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Language
<ModelCore>
idAutoField
identifierCharField
part2BCharField
part2TCharField
part1CharField
scopeCharField
typeCharField
nameCharField
commentTextField
+ >] + + telemeta_models_media_MediaCollection [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaCollection
<MediaResource>
idAutoField
referenceCharField
titleCharField
alt_titleCharField
creatorCharField
recorded_from_yearIntegerField
recorded_to_yearIntegerField
year_publishedIntegerField
collectorCharField
publisher_serialCharField
booklet_authorCharField
external_referencesTextField
doctype_codeIntegerField
public_accessCharField
cnrs_contributorCharField
booklet_descriptionTextField
alt_idsCharField
commentTextField
travailCharField
items_doneCharField
collector_is_creatorBooleanField
is_publishedBooleanField
conservation_siteCharField
codeCharField
old_codeCharField
approx_durationDurationField
physical_items_numIntegerField
stateTextField
a_informer_07_03CharField
+ >] + + telemeta_models_media_MediaCollectionRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaCollectionRelated
<MediaRelated>
idAutoField
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaItem [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaItem
<MediaResource>
idAutoField
titleCharField
alt_titleCharField
collectorCharField
recorded_from_dateDateField
recorded_to_dateDateField
location_commentCharField
cultural_areaCharField
languageCharField
context_commentTextField
moda_executCharField
authorCharField
commentTextField
collector_selectionCharField
collector_from_collectionBooleanField
codeCharField
old_codeCharField
trackCharField
creator_referenceCharField
external_referencesTextField
public_accessCharField
fileFileField
approx_durationDurationField
+ >] + + telemeta_models_media_MediaItemRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaItemRelated
<MediaRelated>
idAutoField
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaItemKeyword [label=< + + + + + + + + +
MediaItemKeyword
<ModelCore>
idAutoField
+ >] + + telemeta_models_media_MediaItemPerformance [label=< + + + + + + + + + + + + + + +
MediaItemPerformance
<ModelCore>
idAutoField
instruments_numCharField
musiciansCharField
+ >] + + telemeta_models_media_MediaItemAnalysis [label=< + + + + + + + + + + + + + + + + + + + + +
MediaItemAnalysis
<ModelCore>
idAutoField
analyzer_idCharField
nameCharField
valueCharField
unitCharField
+ >] + + telemeta_models_media_MediaPart [label=< + + + + + + + + + + + + + + + + + +
MediaPart
<MediaResource>
idAutoField
titleCharField
startFloatField
endFloatField
+ >] + + telemeta_models_media_Playlist [label=< + + + + + + + + + + + + + + + + + +
Playlist
<ModelCore>
idAutoField
public_idCharField
titleCharField
descriptionTextField
+ >] + + telemeta_models_media_PlaylistResource [label=< + + + + + + + + + + + + + + + + + +
PlaylistResource
<ModelCore>
idAutoField
public_idCharField
resource_typeCharField
resource_idCharField
+ >] + + telemeta_models_media_MediaItemMarker [label=< + + + + + + + + + + + + + + + + + + + + + + + +
MediaItemMarker
<MediaResource>
idAutoField
public_idCharField
timeFloatField
titleCharField
dateDateTimeField
descriptionTextField
+ >] + + telemeta_models_media_MediaItemTranscodingFlag [label=< + + + + + + + + + + + + + + + + + +
MediaItemTranscodingFlag
<ModelCore>
idAutoField
mime_typeCharField
dateDateTimeField
valueBooleanField
+ >] + + telemeta_models_media_MediaCorpus [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaCorpus
<MediaBaseResource>
idAutoField
titleCharField
descriptionCharField
codeCharField
referenceCharField
public_accessCharField
recorded_from_yearIntegerField
recorded_to_yearIntegerField
+ >] + + telemeta_models_media_MediaFonds [label=< + + + + + + + + + + + + + + + + + + + + + + + +
MediaFonds
<MediaBaseResource>
idAutoField
titleCharField
descriptionCharField
codeCharField
referenceCharField
public_accessCharField
+ >] + + telemeta_models_media_MediaCorpusRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaCorpusRelated
<MediaRelated>
idAutoField
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaFondsRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaFondsRelated
<MediaRelated>
idAutoField
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_Format [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Format
<ModelCore>
idAutoField
original_codeCharField
tape_numberCharField
statusCharField
conservation_stateCharField
commentsTextField
tape_thicknessCharField
tape_diameterCharField
tape_referenceCharField
+ >] + + + + + south_models_MigrationHistory [label=< + + + + + + + + + + + + + + + + + +
MigrationHistory
idAutoField
app_nameCharField
migrationCharField
appliedDateTimeField
+ >] + + + + + sorl_thumbnail_models_KVStore [label=< + + + + + + + + + + + +
KVStore
keyCharField
valueTextField
+ >] + + + + + + django_contrib_auth_models_Permission -> django_contrib_contenttypes_models_ContentType + [label="content_type (permission)"] [arrowhead=none, arrowtail=dot]; + + + + + django_contrib_auth_models_Group -> django_contrib_auth_models_Permission + [label="permissions (group)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + django_contrib_auth_models_User -> django_contrib_auth_models_Group + [label="groups (user)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + django_contrib_auth_models_User -> django_contrib_auth_models_Permission + [label="user_permissions (user)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + django_contrib_auth_models_Message -> django_contrib_auth_models_User + [label="user (_message_set)"] [arrowhead=none, arrowtail=dot]; + + + + + + + + + + + + + + + + django_contrib_admin_models_LogEntry -> django_contrib_auth_models_User + [label="user (logentry)"] [arrowhead=none, arrowtail=dot]; + + + django_contrib_admin_models_LogEntry -> django_contrib_contenttypes_models_ContentType + [label="content_type (logentry)"] [arrowhead=none, arrowtail=dot]; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + telemeta_models_enum_PublisherCollection -> telemeta_models_enum_Publisher + [label="publisher (publisher_collections)"] [arrowhead=none, arrowtail=dot]; + + + + + + + telemeta_models_enum_EthnicGroupAlias -> telemeta_models_enum_EthnicGroup + [label="ethnic_group (aliases)"] [arrowhead=none, arrowtail=dot]; + + + + + + + + + + + + + telemeta_models_location_Location -> telemeta_models_location_LocationType + [label="complete_type (locations)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_location_Location -> telemeta_models_location_Location + [label="current_location (past_names)"] [arrowhead=none, arrowtail=dot]; + + + + + + + telemeta_models_location_LocationAlias -> telemeta_models_location_Location + [label="location (aliases)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_location_LocationRelation -> telemeta_models_location_Location + [label="location (ancestor_relations)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_location_LocationRelation -> telemeta_models_location_Location + [label="ancestor_location (descendant_relations)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_system_Revision -> django_contrib_auth_models_User + [label="user (revisions)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_system_UserProfile -> django_contrib_auth_models_User + [label="user (userprofile)"] [arrowhead=none, arrowtail=dot]; + + + + + + + telemeta_models_system_Search -> django_contrib_auth_models_User + [label="username (searches)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_system_Search -> telemeta_models_system_Criteria + [label="criteria (search)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + + + + + telemeta_models_instrument_InstrumentRelation -> telemeta_models_instrument_Instrument + [label="instrument (parent_relation)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_instrument_InstrumentRelation -> telemeta_models_instrument_Instrument + [label="parent_instrument (child_relation)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_instrument_InstrumentAliasRelation -> telemeta_models_instrument_InstrumentAlias + [label="alias (other_name)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_instrument_InstrumentAliasRelation -> telemeta_models_instrument_InstrumentAlias + [label="instrument (relation)"] [arrowhead=none, arrowtail=dot]; + + + + + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_RecordingContext + [label="recording_context (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_Publisher + [label="publisher (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_PublisherCollection + [label="publisher_collection (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_LegalRight + [label="legal_rights (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_AcquisitionMode + [label="acquisition_mode (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_MetadataAuthor + [label="metadata_author (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_PublishingStatus + [label="publishing_status (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_MetadataWriter + [label="metadata_writer (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_PhysicalFormat + [label="physical_format (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_AdConversion + [label="ad_conversion (collections)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaCollectionRelated -> telemeta_models_media_MediaCollection + [label="collection (related)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItem -> telemeta_models_media_MediaCollection + [label="collection (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_location_Location + [label="location (mediaitem)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_enum_EthnicGroup + [label="ethnic_group (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_language_Language + [label="language_iso (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_enum_VernacularStyle + [label="vernacular_style (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_enum_GenericStyle + [label="generic_style (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_media_MediaItem + [label="copied_from_item (copies)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemRelated -> telemeta_models_media_MediaItem + [label="item (related)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemKeyword -> telemeta_models_media_MediaItem + [label="item (keyword_relations)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItemKeyword -> telemeta_models_enum_ContextKeyword + [label="keyword (item_relations)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemPerformance -> telemeta_models_media_MediaItem + [label="media_item (performances)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItemPerformance -> telemeta_models_instrument_Instrument + [label="instrument (performances)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItemPerformance -> telemeta_models_instrument_InstrumentAlias + [label="alias (performances)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemAnalysis -> telemeta_models_media_MediaItem + [label="item (analysis)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaPart -> telemeta_models_media_MediaItem + [label="item (parts)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_Playlist -> django_contrib_auth_models_User + [label="author (playlists)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_PlaylistResource -> telemeta_models_media_Playlist + [label="playlist (resources)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemMarker -> telemeta_models_media_MediaItem + [label="item (markers)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItemMarker -> django_contrib_auth_models_User + [label="author (markers)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemTranscodingFlag -> telemeta_models_media_MediaItem + [label="item (transcoding)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaCorpus -> telemeta_models_media_MediaCollection + [label="children (corpus)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + telemeta_models_media_MediaFonds -> telemeta_models_media_MediaCorpus + [label="children (fonds)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + telemeta_models_media_MediaCorpusRelated -> telemeta_models_media_MediaCorpus + [label="resource (related)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaFondsRelated -> telemeta_models_media_MediaFonds + [label="resource (related)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_Format -> telemeta_models_media_MediaItem + [label="item (formats)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_Format -> telemeta_models_enum_TapeLength + [label="tape_length (formats)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_Format -> telemeta_models_enum_TapeWidth + [label="tape_width (formats)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_Format -> telemeta_models_enum_TapeSpeed + [label="tape_speed (formats)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_Format -> telemeta_models_enum_TapeVendor + [label="tape_vendor (formats)"] [arrowhead=none, arrowtail=dot]; + + + + + + + + +} diff --git a/doc/devel/telemeta-all.pdf b/doc/devel/telemeta-all.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7a5aa9944ade46ee8f46f39403b42f8110bf599b GIT binary patch literal 102961 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 AO8@`> literal 0 HcmV?d00001 diff --git a/doc/devel/telemeta.dot b/doc/devel/telemeta.dot new file mode 100644 index 00000000..2550f75f --- /dev/null +++ b/doc/devel/telemeta.dot @@ -0,0 +1,2642 @@ + +digraph name { + fontname = "Helvetica" + fontsize = 8 + + node [ + fontname = "Helvetica" + fontsize = 8 + shape = "plaintext" + ] + edge [ + fontname = "Helvetica" + fontsize = 8 + ] + + + + + telemeta_models_enum_Enumeration [label=< + + + + + + + + +
Enumeration
<ModelCore>
valueCharField
+ >] + + telemeta_models_core_ModelCore [label=< + + + + + +
ModelCore
<EnhancedModel>
+ >] + + telemeta_models_media_MediaResource [label=< + + + + + +
MediaResource
<ModelCore>
+ >] + + telemeta_models_media_MediaRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaRelated
<MediaResource>
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaBaseResource [label=< + + + + + + + + + + + + + + + + + + + + +
MediaBaseResource
<MediaResource>
titleCharField
descriptionCharField
codeCharField
referenceCharField
public_accessCharField
+ >] + + telemeta_models_enum_PhysicalFormat [label=< + + + + + + + + + + + +
PhysicalFormat
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_PublishingStatus [label=< + + + + + + + + + + + +
PublishingStatus
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_AcquisitionMode [label=< + + + + + + + + + + + +
AcquisitionMode
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_MetadataAuthor [label=< + + + + + + + + + + + +
MetadataAuthor
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_MetadataWriter [label=< + + + + + + + + + + + +
MetadataWriter
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_LegalRight [label=< + + + + + + + + + + + +
LegalRight
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_RecordingContext [label=< + + + + + + + + + + + +
RecordingContext
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_AdConversion [label=< + + + + + + + + + + + +
AdConversion
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_VernacularStyle [label=< + + + + + + + + + + + +
VernacularStyle
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_GenericStyle [label=< + + + + + + + + + + + +
GenericStyle
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_ContextKeyword [label=< + + + + + + + + + + + +
ContextKeyword
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_Publisher [label=< + + + + + + + + + + + +
Publisher
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_PublisherCollection [label=< + + + + + + + + + + + +
PublisherCollection
<ModelCore>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_EthnicGroup [label=< + + + + + + + + + + + +
EthnicGroup
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_EthnicGroupAlias [label=< + + + + + + + + + + + +
EthnicGroupAlias
<ModelCore>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_TapeLength [label=< + + + + + + + + + + + +
TapeLength
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_TapeWidth [label=< + + + + + + + + + + + +
TapeWidth
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_TapeSpeed [label=< + + + + + + + + + + + +
TapeSpeed
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_enum_TapeVendor [label=< + + + + + + + + + + + +
TapeVendor
<Enumeration>
idAutoField
valueCharField
+ >] + + telemeta_models_location_Location [label=< + + + + + + + + + + + + + + + + + + + + + + + +
Location
<ModelCore>
idAutoField
nameCharField
typeIntegerField
latitudeFloatField
longitudeFloatField
is_authoritativeBooleanField
+ >] + + telemeta_models_location_LocationType [label=< + + + + + + + + + + + + + + +
LocationType
<ModelCore>
idAutoField
codeCharField
nameCharField
+ >] + + telemeta_models_location_LocationAlias [label=< + + + + + + + + + + + + + + +
LocationAlias
<ModelCore>
idAutoField
aliasCharField
is_authoritativeBooleanField
+ >] + + telemeta_models_location_LocationRelation [label=< + + + + + + + + + + + + + + +
LocationRelation
<ModelCore>
idAutoField
is_directBooleanField
is_authoritativeBooleanField
+ >] + + telemeta_models_system_Revision [label=< + + + + + + + + + + + + + + + + + + + + +
Revision
<ModelCore>
idAutoField
element_typeCharField
element_idIntegerField
change_typeCharField
timeDateTimeField
+ >] + + telemeta_models_system_UserProfile [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + +
UserProfile
idAutoField
institutionCharField
functionCharField
addressTextField
telephoneCharField
expiration_dateDateField
init_passwordBooleanField
+ >] + + telemeta_models_system_Criteria [label=< + + + + + + + + + + + + + + +
Criteria
<ModelCore>
idAutoField
keyCharField
valueCharField
+ >] + + telemeta_models_system_Search [label=< + + + + + + + + + + + + + + +
Search
<ModelCore>
idAutoField
dateDateTimeField
descriptionCharField
+ >] + + telemeta_models_instrument_Instrument [label=< + + + + + + + + + + + +
Instrument
<ModelCore>
idAutoField
nameCharField
+ >] + + telemeta_models_instrument_InstrumentAlias [label=< + + + + + + + + + + + +
InstrumentAlias
<ModelCore>
idAutoField
nameCharField
+ >] + + telemeta_models_instrument_InstrumentRelation [label=< + + + + + + + + +
InstrumentRelation
<ModelCore>
idAutoField
+ >] + + telemeta_models_instrument_InstrumentAliasRelation [label=< + + + + + + + + +
InstrumentAliasRelation
<ModelCore>
idAutoField
+ >] + + telemeta_models_language_Language [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Language
<ModelCore>
idAutoField
identifierCharField
part2BCharField
part2TCharField
part1CharField
scopeCharField
typeCharField
nameCharField
commentTextField
+ >] + + telemeta_models_media_MediaCollection [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaCollection
<MediaResource>
idAutoField
referenceCharField
titleCharField
alt_titleCharField
creatorCharField
recorded_from_yearIntegerField
recorded_to_yearIntegerField
year_publishedIntegerField
collectorCharField
publisher_serialCharField
booklet_authorCharField
external_referencesTextField
doctype_codeIntegerField
public_accessCharField
cnrs_contributorCharField
booklet_descriptionTextField
alt_idsCharField
commentTextField
travailCharField
items_doneCharField
collector_is_creatorBooleanField
is_publishedBooleanField
conservation_siteCharField
codeCharField
old_codeCharField
approx_durationDurationField
physical_items_numIntegerField
stateTextField
a_informer_07_03CharField
+ >] + + telemeta_models_media_MediaCollectionRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaCollectionRelated
<MediaRelated>
idAutoField
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaItem [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaItem
<MediaResource>
idAutoField
titleCharField
alt_titleCharField
collectorCharField
recorded_from_dateDateField
recorded_to_dateDateField
location_commentCharField
cultural_areaCharField
languageCharField
context_commentTextField
moda_executCharField
authorCharField
commentTextField
collector_selectionCharField
collector_from_collectionBooleanField
codeCharField
old_codeCharField
trackCharField
creator_referenceCharField
external_referencesTextField
public_accessCharField
fileFileField
approx_durationDurationField
+ >] + + telemeta_models_media_MediaItemRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaItemRelated
<MediaRelated>
idAutoField
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaItemKeyword [label=< + + + + + + + + +
MediaItemKeyword
<ModelCore>
idAutoField
+ >] + + telemeta_models_media_MediaItemPerformance [label=< + + + + + + + + + + + + + + +
MediaItemPerformance
<ModelCore>
idAutoField
instruments_numCharField
musiciansCharField
+ >] + + telemeta_models_media_MediaItemAnalysis [label=< + + + + + + + + + + + + + + + + + + + + +
MediaItemAnalysis
<ModelCore>
idAutoField
analyzer_idCharField
nameCharField
valueCharField
unitCharField
+ >] + + telemeta_models_media_MediaPart [label=< + + + + + + + + + + + + + + + + + +
MediaPart
<MediaResource>
idAutoField
titleCharField
startFloatField
endFloatField
+ >] + + telemeta_models_media_Playlist [label=< + + + + + + + + + + + + + + + + + +
Playlist
<ModelCore>
idAutoField
public_idCharField
titleCharField
descriptionTextField
+ >] + + telemeta_models_media_PlaylistResource [label=< + + + + + + + + + + + + + + + + + +
PlaylistResource
<ModelCore>
idAutoField
public_idCharField
resource_typeCharField
resource_idCharField
+ >] + + telemeta_models_media_MediaItemMarker [label=< + + + + + + + + + + + + + + + + + + + + + + + +
MediaItemMarker
<MediaResource>
idAutoField
public_idCharField
timeFloatField
titleCharField
dateDateTimeField
descriptionTextField
+ >] + + telemeta_models_media_MediaItemTranscodingFlag [label=< + + + + + + + + + + + + + + + + + +
MediaItemTranscodingFlag
<ModelCore>
idAutoField
mime_typeCharField
dateDateTimeField
valueBooleanField
+ >] + + telemeta_models_media_MediaCorpus [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaCorpus
<MediaBaseResource>
idAutoField
titleCharField
descriptionCharField
codeCharField
referenceCharField
public_accessCharField
recorded_from_yearIntegerField
recorded_to_yearIntegerField
+ >] + + telemeta_models_media_MediaFonds [label=< + + + + + + + + + + + + + + + + + + + + + + + +
MediaFonds
<MediaBaseResource>
idAutoField
titleCharField
descriptionCharField
codeCharField
referenceCharField
public_accessCharField
+ >] + + telemeta_models_media_MediaCorpusRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaCorpusRelated
<MediaRelated>
idAutoField
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaFondsRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaFondsRelated
<MediaRelated>
idAutoField
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_Format [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Format
<ModelCore>
idAutoField
original_codeCharField
tape_numberCharField
statusCharField
conservation_stateCharField
commentsTextField
tape_thicknessCharField
tape_diameterCharField
tape_referenceCharField
+ >] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + telemeta_models_enum_PublisherCollection -> telemeta_models_enum_Publisher + [label="publisher (publisher_collections)"] [arrowhead=none, arrowtail=dot]; + + + + + + + telemeta_models_enum_EthnicGroupAlias -> telemeta_models_enum_EthnicGroup + [label="ethnic_group (aliases)"] [arrowhead=none, arrowtail=dot]; + + + + + + + + + + + + + telemeta_models_location_Location -> telemeta_models_location_LocationType + [label="complete_type (locations)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_location_Location -> telemeta_models_location_Location + [label="current_location (past_names)"] [arrowhead=none, arrowtail=dot]; + + + + + + + telemeta_models_location_LocationAlias -> telemeta_models_location_Location + [label="location (aliases)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_location_LocationRelation -> telemeta_models_location_Location + [label="location (ancestor_relations)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_location_LocationRelation -> telemeta_models_location_Location + [label="ancestor_location (descendant_relations)"] [arrowhead=none, arrowtail=dot]; + + + + + django_contrib_auth_models_User [label=< + + +
User
+ >] + + telemeta_models_system_Revision -> django_contrib_auth_models_User + [label="user (revisions)"] [arrowhead=none, arrowtail=dot]; + + + + + django_contrib_auth_models_User [label=< + + +
User
+ >] + + telemeta_models_system_UserProfile -> django_contrib_auth_models_User + [label="user (userprofile)"] [arrowhead=none, arrowtail=dot]; + + + + + + + django_contrib_auth_models_User [label=< + + +
User
+ >] + + telemeta_models_system_Search -> django_contrib_auth_models_User + [label="username (searches)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_system_Search -> telemeta_models_system_Criteria + [label="criteria (search)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + + + + + telemeta_models_instrument_InstrumentRelation -> telemeta_models_instrument_Instrument + [label="instrument (parent_relation)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_instrument_InstrumentRelation -> telemeta_models_instrument_Instrument + [label="parent_instrument (child_relation)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_instrument_InstrumentAliasRelation -> telemeta_models_instrument_InstrumentAlias + [label="alias (other_name)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_instrument_InstrumentAliasRelation -> telemeta_models_instrument_InstrumentAlias + [label="instrument (relation)"] [arrowhead=none, arrowtail=dot]; + + + + + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_RecordingContext + [label="recording_context (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_Publisher + [label="publisher (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_PublisherCollection + [label="publisher_collection (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_LegalRight + [label="legal_rights (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_AcquisitionMode + [label="acquisition_mode (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_MetadataAuthor + [label="metadata_author (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_PublishingStatus + [label="publishing_status (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_MetadataWriter + [label="metadata_writer (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_PhysicalFormat + [label="physical_format (collections)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaCollection -> telemeta_models_enum_AdConversion + [label="ad_conversion (collections)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaCollectionRelated -> telemeta_models_media_MediaCollection + [label="collection (related)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItem -> telemeta_models_media_MediaCollection + [label="collection (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_location_Location + [label="location (mediaitem)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_enum_EthnicGroup + [label="ethnic_group (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_language_Language + [label="language_iso (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_enum_VernacularStyle + [label="vernacular_style (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_enum_GenericStyle + [label="generic_style (items)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem -> telemeta_models_media_MediaItem + [label="copied_from_item (copies)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemRelated -> telemeta_models_media_MediaItem + [label="item (related)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemKeyword -> telemeta_models_media_MediaItem + [label="item (keyword_relations)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItemKeyword -> telemeta_models_enum_ContextKeyword + [label="keyword (item_relations)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemPerformance -> telemeta_models_media_MediaItem + [label="media_item (performances)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItemPerformance -> telemeta_models_instrument_Instrument + [label="instrument (performances)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItemPerformance -> telemeta_models_instrument_InstrumentAlias + [label="alias (performances)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemAnalysis -> telemeta_models_media_MediaItem + [label="item (analysis)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaPart -> telemeta_models_media_MediaItem + [label="item (parts)"] [arrowhead=none, arrowtail=dot]; + + + + + django_contrib_auth_models_User [label=< + + +
User
+ >] + + telemeta_models_media_Playlist -> django_contrib_auth_models_User + [label="author (playlists)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_PlaylistResource -> telemeta_models_media_Playlist + [label="playlist (resources)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemMarker -> telemeta_models_media_MediaItem + [label="item (markers)"] [arrowhead=none, arrowtail=dot]; + + + django_contrib_auth_models_User [label=< + + +
User
+ >] + + telemeta_models_media_MediaItemMarker -> django_contrib_auth_models_User + [label="author (markers)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaItemTranscodingFlag -> telemeta_models_media_MediaItem + [label="item (transcoding)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaCorpus -> telemeta_models_media_MediaCollection + [label="children (corpus)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + telemeta_models_media_MediaFonds -> telemeta_models_media_MediaCorpus + [label="children (fonds)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + telemeta_models_media_MediaCorpusRelated -> telemeta_models_media_MediaCorpus + [label="resource (related)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_MediaFondsRelated -> telemeta_models_media_MediaFonds + [label="resource (related)"] [arrowhead=none, arrowtail=dot]; + + + + + telemeta_models_media_Format -> telemeta_models_media_MediaItem + [label="item (formats)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_Format -> telemeta_models_enum_TapeLength + [label="tape_length (formats)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_Format -> telemeta_models_enum_TapeWidth + [label="tape_width (formats)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_Format -> telemeta_models_enum_TapeSpeed + [label="tape_speed (formats)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_Format -> telemeta_models_enum_TapeVendor + [label="tape_vendor (formats)"] [arrowhead=none, arrowtail=dot]; + + +} diff --git a/doc/devel/telemeta.pdf b/doc/devel/telemeta.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c6b8a651f0044792a733fce88b6b78c9a8ecc89d GIT binary patch literal 100318 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

78W4{ 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 $dir/$app-all.dot +python modelviz.py $app > $dir/$app.dot + +dot $dir/$app-all.dot -Tpdf -o $dir/$app-all.pdf +dot $dir/$app.dot -Tpdf -o $dir/$app.pdf + diff --git a/example/sandbox_sqlite/modelviz.py b/example/sandbox_sqlite/modelviz.py new file mode 100644 index 00000000..24af0627 --- /dev/null +++ b/example/sandbox_sqlite/modelviz.py @@ -0,0 +1,359 @@ +#!/usr/bin/env python + +"""Django model to DOT (Graphviz) converter +by Antonio Cavedoni + +Make sure your DJANGO_SETTINGS_MODULE is set to your project or +place this script in the same directory of the project and call +the script like this: + +$ python modelviz.py [-h] [-a] [-d] [-g] [-n] [-L ] [-i ] ... > .dot +$ dot .dot -Tpng -o .png + +options: + -h, --help + show this help message and exit. + + -a, --all_applications + show models from all applications. + + -d, --disable_fields + don't show the class member fields. + + -g, --group_models + draw an enclosing box around models from the same app. + + -i, --include_models=User,Person,Car + only include selected models in graph. + + -n, --verbose_names + use verbose_name for field and models. + + -L, --language + specify language used for verrbose_name localization + + -x, --exclude_columns + exclude specific column(s) from the graph. + + -X, --exclude_models + exclude specific model(s) from the graph. + + -e, --inheritance + show inheritance arrows. +""" +__version__ = "0.9" +__svnid__ = "$Id$" +__license__ = "Python" +__author__ = "Antonio Cavedoni " +__contributors__ = [ + "Stefano J. Attardi ", + "limodou ", + "Carlo C8E Miron", + "Andre Campos ", + "Justin Findlay ", + "Alexander Houben ", + "Bas van Oostveen ", + "Joern Hees " +] + +import os +import sys +import getopt + +from django.core.management import setup_environ + +try: + import settings +except ImportError: + pass +else: + setup_environ(settings) + +from django.utils.translation import activate as activate_language +from django.utils.safestring import mark_safe +from django.template import Template, Context, loader +from django.db import models +from django.db.models import get_models +from django.db.models.fields.related import \ + ForeignKey, OneToOneField, ManyToManyField, RelatedField + +try: + from django.db.models.fields.generic import GenericRelation +except ImportError: + from django.contrib.contenttypes.generic import GenericRelation + +def parse_file_or_list(arg): + if not arg: + return [] + if not ',' in arg and os.path.isfile(arg): + return [e.strip() for e in open(arg).readlines()] + return arg.split(',') + + +def generate_dot(app_labels, **kwargs): + disable_fields = kwargs.get('disable_fields', False) + include_models = parse_file_or_list(kwargs.get('include_models', "")) + all_applications = kwargs.get('all_applications', False) + use_subgraph = kwargs.get('group_models', False) + verbose_names = kwargs.get('verbose_names', False) + inheritance = kwargs.get('inheritance', False) + language = kwargs.get('language', None) + if language is not None: + activate_language(language) + exclude_columns = parse_file_or_list(kwargs.get('exclude_columns', "")) + exclude_models = parse_file_or_list(kwargs.get('exclude_models', "")) + + def skip_field(field): + if exclude_columns: + if verbose_names and field.verbose_name: + if field.verbose_name in exclude_columns: + return True + if field.name in exclude_columns: + return True + return False + + + + + t = loader.get_template('django_extensions/graph_models/head.html') + c = Context({}) + dot = t.render(c) + + apps = [] + if all_applications: + apps = models.get_apps() + + for app_label in app_labels: + app = models.get_app(app_label) + if not app in apps: + apps.append(app) + + graphs = [] + for app in apps: + graph = Context({ + 'name': '"%s"' % app.__name__, + 'app_name': "%s" % '.'.join(app.__name__.split('.')[:-1]), + 'cluster_app_name': "cluster_%s" % app.__name__.replace(".", "_"), + 'disable_fields': disable_fields, + 'use_subgraph': use_subgraph, + 'models': [] + }) + + appmodels = get_models(app) + abstract_models = [] + for appmodel in appmodels: + abstract_models = abstract_models + [abstract_model for abstract_model in appmodel.__bases__ if hasattr(abstract_model, '_meta') and abstract_model._meta.abstract] + abstract_models = list(set(abstract_models)) # remove duplicates + appmodels = abstract_models + appmodels + + + for appmodel in appmodels: + appmodel_abstracts = [abstract_model.__name__ for abstract_model in appmodel.__bases__ if hasattr(abstract_model, '_meta') and abstract_model._meta.abstract] + + # collect all attribs of abstract superclasses + def getBasesAbstractFields(c): + _abstract_fields = [] + for e in c.__bases__: + if hasattr(e, '_meta') and e._meta.abstract: + _abstract_fields.extend(e._meta.fields) + _abstract_fields.extend(getBasesAbstractFields(e)) + return _abstract_fields + abstract_fields = getBasesAbstractFields(appmodel) + + model = { + 'app_name': appmodel.__module__.replace(".", "_"), + 'name': appmodel.__name__, + 'abstracts': appmodel_abstracts, + 'fields': [], + 'relations': [] + } + + # consider given model name ? + def consider(model_name): + if exclude_models and model_name in exclude_models: + return False + return not include_models or model_name in include_models + + if not consider(appmodel._meta.object_name): + continue + + if verbose_names and appmodel._meta.verbose_name: + model['label'] = appmodel._meta.verbose_name + else: + model['label'] = model['name'] + + # model attributes + def add_attributes(field): + if verbose_names and field.verbose_name: + label = field.verbose_name + else: + label = field.name + + t = type(field).__name__ + if isinstance(field, (OneToOneField, ForeignKey)): + t += " ({0})".format(field.rel.field_name) + # TODO: ManyToManyField, GenericRelation + + model['fields'].append({ + 'name': field.name, + 'label': label, + 'type': t, + 'blank': field.blank, + 'abstract': field in abstract_fields, + }) + + # Find all the real attributes. Relations are depicted as graph edges instead of attributes + attributes = [field for field in appmodel._meta.local_fields if not isinstance(field, RelatedField)] + + # find primary key and print it first, ignoring implicit id if other pk exists + pk = appmodel._meta.pk + if not appmodel._meta.abstract and pk in attributes: + add_attributes(pk) + for field in attributes: + if skip_field(field): + continue + if not field.primary_key: + add_attributes(field) + + # FIXME: actually many_to_many fields aren't saved in this model's db table, so why should we add an attribute-line for them in the resulting graph? + #if appmodel._meta.many_to_many: + # for field in appmodel._meta.many_to_many: + # if skip_field(field): + # continue + # add_attributes(field) + + # relations + def add_relation(field, extras=""): + if verbose_names and field.verbose_name: + label = field.verbose_name + else: + label = field.name + + # show related field name + if hasattr(field, 'related_query_name'): + label += ' (%s)' % field.related_query_name() + + _rel = { + 'target_app': field.rel.to.__module__.replace('.', '_'), + 'target': field.rel.to.__name__, + 'type': type(field).__name__, + 'name': field.name, + 'label': label, + 'arrows': extras, + 'needs_node': True + } + if _rel not in model['relations'] and consider(_rel['target']): + model['relations'].append(_rel) + + for field in appmodel._meta.local_fields: + if field.attname.endswith('_ptr_id'): # excluding field redundant with inheritance relation + continue + if field in abstract_fields: # excluding fields inherited from abstract classes. they too show as local_fields + continue + if skip_field(field): + continue + if isinstance(field, OneToOneField): + add_relation(field, '[arrowhead=none, arrowtail=none]') + elif isinstance(field, ForeignKey): + add_relation(field, '[arrowhead=none, arrowtail=dot]') + + for field in appmodel._meta.local_many_to_many: + if skip_field(field): + continue + if isinstance(field, ManyToManyField): + if (getattr(field, 'creates_table', False) or # django 1.1. + (hasattr(field.rel.through, '_meta') and field.rel.through._meta.auto_created)): # django 1.2 + add_relation(field, '[arrowhead=dot arrowtail=dot, dir=both]') + elif isinstance(field, GenericRelation): + add_relation(field, mark_safe('[style="dotted", arrowhead=normal, arrowtail=normal, dir=both]')) + + if inheritance: + # add inheritance arrows + for parent in appmodel.__bases__: + if hasattr(parent, "_meta"): # parent is a model + l = "multi-table" + if parent._meta.abstract: + l = "abstract" + if appmodel._meta.proxy: + l = "proxy" + l += r"\ninheritance" + _rel = { + 'target_app': parent.__module__.replace(".", "_"), + 'target': parent.__name__, + 'type': "inheritance", + 'name': "inheritance", + 'label': l, + 'arrows': '[arrowhead=empty, arrowtail=none]', + 'needs_node': True + } + # TODO: seems as if abstract models aren't part of models.getModels, which is why they are printed by this without any attributes. + if _rel not in model['relations'] and consider(_rel['target']): + model['relations'].append(_rel) + + graph['models'].append(model) + graphs.append(graph) + + nodes = [] + for graph in graphs: + nodes.extend([e['name'] for e in graph['models']]) + + for graph in graphs: + # don't draw duplication nodes because of relations + for model in graph['models']: + for relation in model['relations']: + if relation['target'] in nodes: + relation['needs_node'] = False + # render templates + t = loader.get_template('django_extensions/graph_models/body.html') + dot += '\n' + t.render(graph) + + for graph in graphs: + t = loader.get_template('django_extensions/graph_models/rel.html') + dot += '\n' + t.render(graph) + + + t = loader.get_template('django_extensions/graph_models/tail.html') + c = Context({}) + dot += '\n' + t.render(c) + return dot + +def main(): + try: + opts, args = getopt.getopt(sys.argv[1:], "hadgi:L:x:X:en", + ["help", "all_applications", "disable_fields", "group_models", "include_models=", "inheritance", "verbose_names", "language=", "exclude_columns=", "exclude_models="]) + except getopt.GetoptError, error: + print __doc__ + sys.exit(error) + + kwargs = {} + for opt, arg in opts: + if opt in ("-h", "--help"): + print __doc__ + sys.exit() + if opt in ("-a", "--all_applications"): + kwargs['all_applications'] = True + if opt in ("-d", "--disable_fields"): + kwargs['disable_fields'] = True + if opt in ("-g", "--group_models"): + kwargs['group_models'] = True + if opt in ("-i", "--include_models"): + kwargs['include_models'] = arg + if opt in ("-e", "--inheritance"): + kwargs['inheritance'] = True + if opt in ("-n", "--verbose-names"): + kwargs['verbose_names'] = True + if opt in ("-L", "--language"): + kwargs['language'] = arg + if opt in ("-x", "--exclude_columns"): + kwargs['exclude_columns'] = arg + if opt in ("-X", "--exclude_models"): + kwargs['exclude_models'] = arg + + if not args and not kwargs.get('all_applications', False): + print __doc__ + sys.exit() + + print generate_dot(args, **kwargs) + +if __name__ == "__main__": + main() diff --git a/example/sandbox_sqlite/settings.py b/example/sandbox_sqlite/settings.py index e0b13d4f..5ff93f3e 100644 --- a/example/sandbox_sqlite/settings.py +++ b/example/sandbox_sqlite/settings.py @@ -102,6 +102,7 @@ INSTALLED_APPS = ( 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.admin', + 'django_extensions', 'telemeta', 'jsonrpc', 'south', -- 2.39.5