From 8391f0827edbd2bef162c55a24287f7b96c3959c Mon Sep 17 00:00:00 2001 From: yomguy Date: Wed, 21 Mar 2012 22:23:12 +0100 Subject: [PATCH] add graphs anf tools --- doc/app.dot | 658 ++++++++ doc/app.pdf | Bin 0 -> 89205 bytes doc/app_all.dot | 3647 +++++++++++++++++++++++++++++++++++++++++++ doc/app_all.pdf | Bin 0 -> 106363 bytes example/modelviz.py | 359 +++++ example/settings.py | 1 + 6 files changed, 4665 insertions(+) create mode 100644 doc/app.dot create mode 100644 doc/app.pdf create mode 100644 doc/app_all.dot create mode 100644 doc/app_all.pdf create mode 100644 example/modelviz.py diff --git a/doc/app.dot b/doc/app.dot new file mode 100644 index 00000000..fe4cec29 --- /dev/null +++ b/doc/app.dot @@ -0,0 +1,658 @@ + +digraph name { + fontname = "Helvetica" + fontsize = 8 + + node [ + fontname = "Helvetica" + fontsize = 8 + shape = "plaintext" + ] + edge [ + fontname = "Helvetica" + fontsize = 8 + ] + + + + + teleforma_models_MediaBase [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaBase
titleCharField
descriptionCharField
mime_typeCharField
creditsCharField
is_publishedBooleanField
date_addedDateTimeField
date_modifiedDateTimeField
+ >] + + teleforma_models_Organization [label=< + + + + + + + + + + + + + + +
Organization
idAutoField
nameCharField
descriptionCharField
+ >] + + teleforma_models_Department [label=< + + + + + + + + + + + + + + +
Department
idAutoField
nameCharField
descriptionCharField
+ >] + + teleforma_models_Category [label=< + + + + + + + + + + + + + + +
Category
idAutoField
nameCharField
descriptionCharField
+ >] + + teleforma_models_Course [label=< + + + + + + + + + + + + + + + + + +
Course
idAutoField
public_idCharField
titleCharField
descriptionCharField
+ >] + + teleforma_models_Professor [label=< + + + + + + + + +
Professor
idAutoField
+ >] + + teleforma_models_Conference [label=< + + + + + + + + + + + + + + + + + +
Conference
idAutoField
titleCharField
descriptionCharField
sessionCharField
+ >] + + teleforma_models_IEJ [label=< + + + + + + + + + + + + + + +
IEJ
idAutoField
nameCharField
descriptionCharField
+ >] + + teleforma_models_Student [label=< + + + + + + + + +
Student
idAutoField
+ >] + + teleforma_models_Document [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Document
<MediaBase>
idAutoField
titleCharField
descriptionCharField
mime_typeCharField
creditsCharField
is_publishedBooleanField
date_addedDateTimeField
date_modifiedDateTimeField
codeCharField
fileFileField
+ >] + + teleforma_models_Video [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Video
<MediaBase>
idAutoField
titleCharField
descriptionCharField
mime_typeCharField
creditsCharField
is_publishedBooleanField
date_addedDateTimeField
date_modifiedDateTimeField
+ >] + + teleforma_models_Audio [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Audio
<MediaBase>
idAutoField
titleCharField
descriptionCharField
mime_typeCharField
creditsCharField
is_publishedBooleanField
date_addedDateTimeField
date_modifiedDateTimeField
+ >] + + + + + + + + + + teleforma_models_Department -> teleforma_models_Organization + [label="organization (department)"] [arrowhead=none, arrowtail=dot]; + + + + + + + teleforma_models_Course -> teleforma_models_Department + [label="department (course)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Course -> teleforma_models_Category + [label="category (course)"] [arrowhead=none, arrowtail=dot]; + + + + + django_contrib_auth_models_User [label=< + + +
User
+ >] + + teleforma_models_Professor -> django_contrib_auth_models_User + [label="user (professor)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Professor -> teleforma_models_Course + [label="courses (professor)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + teleforma_models_Conference -> teleforma_models_Professor + [label="professor (conference)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Conference -> teleforma_models_Course + [label="course (conference)"] [arrowhead=none, arrowtail=dot]; + + + + + + + django_contrib_auth_models_User [label=< + + +
User
+ >] + + teleforma_models_Student -> django_contrib_auth_models_User + [label="user (student)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Student -> teleforma_models_Category + [label="category (student)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Student -> teleforma_models_IEJ + [label="iej (student)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Student -> teleforma_models_Course + [label="courses (student)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + teleforma_models_Document -> teleforma_models_Course + [label="course (document)"] [arrowhead=none, arrowtail=dot]; + + + + + teleforma_models_Video -> teleforma_models_Course + [label="course (video)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem [label=< + + +
MediaItem
+ >] + + teleforma_models_Video -> telemeta_models_media_MediaItem + [label="item (video)"] [arrowhead=none, arrowtail=dot]; + + + + + teleforma_models_Audio -> teleforma_models_Course + [label="course (audio)"] [arrowhead=none, arrowtail=dot]; + + + telemeta_models_media_MediaItem [label=< + + +
MediaItem
+ >] + + teleforma_models_Audio -> telemeta_models_media_MediaItem + [label="item (audio)"] [arrowhead=none, arrowtail=dot]; + + +} diff --git a/doc/app.pdf b/doc/app.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0233a9ddd94f8c1240195978d6ab48d47c163f6a GIT binary patch literal 89205 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%0D>`$u zn$95Lx+x`lK=y!RALHwe)H-yf?k=-mBJq%!m4v(me_^UIi#T~4_Pdn5t@WhWy%{yB z-Vc4GK~*HyryD)=4${&=!*h*Y)|xG>i-G(g4n1`@x1)laUjgw^z|G02M7 z?eZAEP)&LW3hCEYBNFZNi(LEeEY9InY5hX%7WsQq`iug-x&pnMZWG!XkLNj5;otS{ zk*o{s7SwnR7-jcBnP%xL(3MssuW%3YWnb7K&kiu(enlzPaT%3N$2d9RUXl^;7Hu~3 zUEaj=5N^LFw0Elnu-pwnOdYWE1&*_O%$%w-^nkawS>8PT`ytahTr0M2NU!;+nq7KlA|kq z-qNei><95sjqn4|ljt?wWN4PZ(T^Q1oT)|u^&N*Vn%y$za0Y`2sYvgyMzS%PVr8$t z!4YMmK1Dt39q$WB3Xs=Q`kvg)euQQ;T*$d!bkSk&b!mcfezyX2R0gyT~L3mL~hD7;tXSBvo4S6p+0|8wL9+Nyq4k$ z0;daYuDEkG;vkwY`g5LYIhB>yQi`idDeKWUQ!O=Shd~q%gM3|vnf~Tf=qp_jqfXIa zW?tuORpmke%>ZT~`cPYXrsfewcJrNp^elwBJ`wrjlK9aVxpFO7?I|kda7S;}65}W) zlEdX66D{opU+5yPK2Hn#x=6ya4%oOV(>OpRDF>6P-Qu`A-g!_e<(M`aiCrwsU7F0{ zjd>up05Y5`1erDg_b$u_IX2Uu3(@k$mNfO8Vmbe)m?`-^P33M=pPj!+X^{15VWyh` zt2@z}xzIU}x|bbh+%*vT-#FZp1#yFT3{q?AQK> z(PRaXNBU~PFayQZKd$);J12!bK+Zb#yS<=tk{8%#6S7~g6d^An_MPW+q=@*U(nO}$ z_=2*!u+NmLL+bey2CzSRCI^pyr|1}U4$9mb&lGf86BjgT=u2-^L9!fL6lU$(Dr?GN z`<2CdDZ6Fbb(~m-wDfwSLB&|z@y>0JS|f7Z{<`okSb>7xZDtGcoT|V{b zjYsg}_8LiP#A5@YO@c760K$Mdfi#tn^MTJ^4bt;z}nLfgsvNV<4#^RD44IfWCu8+l7P z3kOrq4@57XU*mDvNY@j=k@hQgzTZ?dZ{4kkG*?AEe1Y@qOa>IcuPDSJ{em04e8s{i z_N{uI4wKg@x=cP@I6GT}HmTd8XagYpE_igCG_`-mL=?vD`mH3?cyQ=5awsp+xwYul zyyX!U$2P4n_fqFY{F`GVoWx(^F9i0lLxcQsXnz~H|55x^)z?$jl>L8*zX$@_3*`iX zAV^N6DDr<5e?^hUgzPWk?@veg7xDMcA^#WgmjK%SD%}3X9upAizju3_@xO|{|7qL* zQT+YM6#pjvf(ga`P5dP&y#&4Yg!GFSf8lV^6N0ZOLGi`M3Cb@V1UmlhuQ`P8f35MC z0E~|j<`Bjb#NdDEzsJ}0*V_DgeSg+Q!_3CY<+wO1ww45*_*g9d^9bcIZg>kB^a~#h zCiu#P79&(w4zGga!D!B_7G}0s3@1n!1QZ5yUPZgQI*Eyh90zT%W=?2Z3m0Jw)`p+| zIFAMvW9eprhrs{u)Bfg*!GGD~f1j?L8J?EL*!*0Zup3UoE`Qy%JJ!mY9LNcVlLP%=$+5Cr*sJ$wxIdtL|-4*op{J_f^=>EwDK zFrmCBVsIz|{`-3P81nbLa2Oc*`!mB~kbl$)4nu(PB=w0L2vG?BBK#xvkM$6u_+tHI z90L6N^C1vWf;xXP2LjJh{~dG1n&Gu@>~R<0vh}ng^ag>szKOxOavt~C&nv9#XpP}K c?)l?>a&a}ox*m5E0s%uJ$a#5D>I&rl11po-M*si- literal 0 HcmV?d00001 diff --git a/doc/app_all.dot b/doc/app_all.dot new file mode 100644 index 00000000..3d344038 --- /dev/null +++ b/doc/app_all.dot @@ -0,0 +1,3647 @@ + +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_MediaRelated [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaRelated
<MediaResource>
titleCharField
dateDateTimeField
descriptionTextField
mime_typeCharField
urlCharField
creditsCharField
fileFileField
+ >] + + telemeta_models_media_MediaResource [label=< + + + + + +
MediaResource
<ModelCore>
+ >] + + 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
+ >] + + 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
+ >] + + + + + teleforma_models_MediaBase [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + +
MediaBase
titleCharField
descriptionCharField
mime_typeCharField
creditsCharField
is_publishedBooleanField
date_addedDateTimeField
date_modifiedDateTimeField
+ >] + + teleforma_models_Organization [label=< + + + + + + + + + + + + + + +
Organization
idAutoField
nameCharField
descriptionCharField
+ >] + + teleforma_models_Department [label=< + + + + + + + + + + + + + + +
Department
idAutoField
nameCharField
descriptionCharField
+ >] + + teleforma_models_Category [label=< + + + + + + + + + + + + + + +
Category
idAutoField
nameCharField
descriptionCharField
+ >] + + teleforma_models_Course [label=< + + + + + + + + + + + + + + + + + +
Course
idAutoField
public_idCharField
titleCharField
descriptionCharField
+ >] + + teleforma_models_Professor [label=< + + + + + + + + +
Professor
idAutoField
+ >] + + teleforma_models_Conference [label=< + + + + + + + + + + + + + + + + + +
Conference
idAutoField
titleCharField
descriptionCharField
sessionCharField
+ >] + + teleforma_models_IEJ [label=< + + + + + + + + + + + + + + +
IEJ
idAutoField
nameCharField
descriptionCharField
+ >] + + teleforma_models_Student [label=< + + + + + + + + +
Student
idAutoField
+ >] + + teleforma_models_Document [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Document
<MediaBase>
idAutoField
titleCharField
descriptionCharField
mime_typeCharField
creditsCharField
is_publishedBooleanField
date_addedDateTimeField
date_modifiedDateTimeField
codeCharField
fileFileField
+ >] + + teleforma_models_Video [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Video
<MediaBase>
idAutoField
titleCharField
descriptionCharField
mime_typeCharField
creditsCharField
is_publishedBooleanField
date_addedDateTimeField
date_modifiedDateTimeField
+ >] + + teleforma_models_Audio [label=< + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Audio
<MediaBase>
idAutoField
titleCharField
descriptionCharField
mime_typeCharField
creditsCharField
is_publishedBooleanField
date_addedDateTimeField
date_modifiedDateTimeField
+ >] + + + + + + + + + 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]; + + + + + + + + + + + + + teleforma_models_Department -> teleforma_models_Organization + [label="organization (department)"] [arrowhead=none, arrowtail=dot]; + + + + + + + teleforma_models_Course -> teleforma_models_Department + [label="department (course)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Course -> teleforma_models_Category + [label="category (course)"] [arrowhead=none, arrowtail=dot]; + + + + + teleforma_models_Professor -> django_contrib_auth_models_User + [label="user (professor)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Professor -> teleforma_models_Course + [label="courses (professor)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + teleforma_models_Conference -> teleforma_models_Professor + [label="professor (conference)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Conference -> teleforma_models_Course + [label="course (conference)"] [arrowhead=none, arrowtail=dot]; + + + + + + + teleforma_models_Student -> django_contrib_auth_models_User + [label="user (student)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Student -> teleforma_models_Category + [label="category (student)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Student -> teleforma_models_IEJ + [label="iej (student)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Student -> teleforma_models_Course + [label="courses (student)"] [arrowhead=dot arrowtail=dot, dir=both]; + + + + + teleforma_models_Document -> teleforma_models_Course + [label="course (document)"] [arrowhead=none, arrowtail=dot]; + + + + + teleforma_models_Video -> teleforma_models_Course + [label="course (video)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Video -> telemeta_models_media_MediaItem + [label="item (video)"] [arrowhead=none, arrowtail=dot]; + + + + + teleforma_models_Audio -> teleforma_models_Course + [label="course (audio)"] [arrowhead=none, arrowtail=dot]; + + + teleforma_models_Audio -> telemeta_models_media_MediaItem + [label="item (audio)"] [arrowhead=none, arrowtail=dot]; + + + +} diff --git a/doc/app_all.pdf b/doc/app_all.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ed9df52a7d17d01b22fe71c7929b28219f24c0b9 GIT binary patch literal 106363 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 ~640l%>gDJZdBid==SEdtA^I%tp{8u9} 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 z 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 + +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/settings.py b/example/settings.py index 5513bd96..0a328ded 100644 --- a/example/settings.py +++ b/example/settings.py @@ -106,6 +106,7 @@ INSTALLED_APPS = ( 'jsonrpc', 'south', 'teleforma', + 'django_extensions', ) TEMPLATE_CONTEXT_PROCESSORS = ( -- 2.39.5