File:  [Repository] / externalVersionedFile / externalVersionedFile.pyc
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Oct 25 10:00:25 2004 UTC (19 years, 6 months ago) by dwinter
Branches: dwinter, MAIN
CVS tags: first, HEAD
new

;
yAc	@sdklZdklZdklZdklZdklZdk	l
Z
lZlZdk
lZdklZdklZd	klZd
klZdkZdZd
efdYZe
deZdddedZdefdYZe
deddddddZddddddedZ ddddddedZ!defdYZ"dZ#eed Z$ee"eedS(!(s	copy_file(sExternalFile(sFolder(sFile(scookId(sDTMLFilesInitializeClassspackage_home(sPageTemplateFile(sgetSecurityManager(sPageTemplate(sZopePageTemplate(sClassSecurityInfoNcCst|d|dSdS(Ni(scmpsxsy(sxsy((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pyssortvssexternalVersionedFileFoldercBstZdZdZeZeiddeihdd<dd<hdd<dd	<hdd
<dd<fZdZ	e
d
ZdZe
dZ
e
dZddZdZdZdZdde
dZRS(s#Folder with externalVersioned filessexternalVersionedFileFoldersAUTHENTICATED_USERsaddFileFormslabelsGenerate Index.htmlsactionsgenerateIndexHTMLsGenerate history_template.htmlsgenerateHistoryHTMLsChange Path to FolderschangePathFormcCs tdi|}|SdS(schange the path forms-Products/externalVersionedFile/zpt/changePathN(sPageTemplateFiles__of__sselfspt(sselfspt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pyschangePathForm!scCs.||_|tj	o|i||SndS(schange the pathN(sbaseFolderPathsselfsRESPONSEsNonesmanage_main(sselfsbaseFolderPathsRESPONSE((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys
changePath&s	
cCs tdi|}|SdS(s
download helps/Products/externalVersionedFile/zpt/helpDownloadN(sPageTemplateFiles__of__sselfspt(sselfspt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pyshelpDownload.scCst|do`td}|id|tiitt	d}t|i}|i|dndS|tj	o|idndS(slege standard index.html ans
index.htmlszpt/versionFileFolderMain.zpts	text/htmlsalready exists!smanage_mainN(shasattrsselfsZopePageTemplateszts
_setObjectsosspathsjoinspackage_homesglobalssdefault_content_fnsopensreadstextspt_editsRESPONSEsNonesredirect(sselfsRESPONSEsdefault_content_fnstextszt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysgenerateIndexHTML5s	
cCst|do`td}|id|tiitt	d}t|i}|i|dndS|tj	o|idndS(slege standard index.html anshistory_template.htmlszpt/versionHistory.zpts	text/htmlsalready exists!smanage_mainN(shasattrsselfsZopePageTemplateszts
_setObjectsosspathsjoinspackage_homesglobalssdefault_content_fnsopensreadstextspt_editsRESPONSEsNonesredirect(sselfsRESPONSEsdefault_content_fnstextszt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysgenerateHistoryHTMLJs	
stitlecCsd}d}d}|i|ddg}|djo|i|n=|djo|i|n|djo|i|n|Sd	S(
sget all versioned filescCst|di|diSdS(Ni(scmpsxstitlesy(sxsy((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pyssortNameascCs1t|dii|diiSdS(Ni(scmpsxsgetLastVersionsbobobase_modification_timesy(sxsy((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pyssortDatedscCs1t|dii|diiSdS(Ni(scmpsxsgetLastVersions
lastEditorsy(sxsy((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys
sortAuthorgss
obj_metatypessexternalVersionedFilestitlesdatesauthorN(ssortNamessortDates
sortAuthorsselfsZopeFindsexternalVersionedFiless	sortFieldssort(sselfs	sortFieldsexternalVersionedFilesssortNamessortDates
sortAuthor((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysgetVersionedFiles^s			


cCs:|i|ddg}|o|ddSndSdS(szustzlicher headersobj_idssheader.htmliisN(sselfsZopeFindsext(sselfsext((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysheader_htmlws
cCsR|i|ddg}|o|ddSntdi|}|SdS(smainsobj_idss
index.htmliis8Products/externalVersionedFile/zpt/versionFileFolderMainN(sselfsZopeFindsextsPageTemplateFiles__of__spt(sselfsextspt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys
index_htmlsc	Cs8tdtddddddi|}|SdS(	s
add a filesdtml/newFileAddsKindsExternalVersionedFileObjectskindsexternalVersionedFileObjectsversions1N(sDTMLFilesglobalss__of__sselfsout(sselfsout((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysaddFileForms-sc
Cs|djo
|i}	n|}	|iid}t||	dd|i	|	}|	|_|}|i
|	|||d||i|iddS(s add a new filessvCscontent_typesURL1N(snewNamesfilesfilenamesidsselfsREQUESTsformsvCsmanage_addExternalVersionedFiles_getObsobstitlesfile2s%manage_addExternalVersionedFileObjectsauthorscontent_typesRESPONSEsredirect(
sselfsvCsfilesauthorsnewNamescontent_typesRESPONSEsfile2sobsid((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysaddFiles

	(s__name__s
__module__s__doc__s	meta_typesClassSecurityInfossecuritysdeclareProtectedsFoldersmanage_optionsschangePathFormsNones
changePathshelpDownloadsgenerateIndexHTMLsgenerateHistoryHTMLsgetVersionedFilessheader_htmls
index_htmlsaddFileFormsaddFile(((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysexternalVersionedFileFolders	L					
	sdtml/folderAddsic	Cst}t||_||_|i|||i|}t|d|t
i}|o,|d|o
t
dn|in|tj	o|i||ddSndS(sAdd a new Folder object with id *id*.

    If the 'createPublic' and 'createUserF' parameters are set to any true
    value, an 'index_html' and a 'UserFolder' objects are created respectively
    in the new folder.
    sbaseFolderPathsAdd User Folderss+You are not authorized to add User Folders.supdate_menuiN(sexternalVersionedFileFoldersobsstrsidstitlesselfs
_setObjects_getObssetattrsbaseFolderPathsgetSecurityManagerscheckPermissionscreateUserFsUnauthorizedsmanage_addUserFoldersREQUESTsNonesmanage_main(	sselfsidsbaseFolderPathstitlescreatePublicscreateUserFsREQUESTsobscheckPermission((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys%manage_addExternalVersionedFileFolders			

sexternalVersionedFileObjectcBsltZdZdZededdddZeiddZd	Z	d
Z
dZdZRS(
sFile Object im FoldersexternalVersionedFileObjects
dtml/fileEditsKindsFileskindsfilesmanage_editFormcCs&d|_|iii|idS(sdownload and locksapplication/octet-streamN(sselfscontent_typesREQUESTsRESPONSEsredirectsabsolute_url(sself((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysdownloads	cCsx|iddjodSn|iidjod|iSn|id|i_d|_|iii|idS(sdownload and locksAUTHENTICATED_USERsAnonymous Usersplease login firstss0cannot be locked because is already locked by %ssapplication/octet-streamN(sselfsREQUESTs	aq_parentslockedByscontent_typesRESPONSEsredirectsabsolute_url(sself((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysdownloadLockeds	cCs
||_dS(sset versionN(s
versionNumbersself(sselfs
versionNumber((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pyssetVersionNumberscCs|iSdS(sget versionN(sselfs
versionNumber(sself((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysgetVersionNumberscCsnt|do|iSnP|i}|i}|tjp
|tjotSn|ii	|ddSdS(slast Editorsauthoris	user_nameN(
shasattrsselfsauthors_p_jarsjars_p_oidsoidsNonesdbshistory(sselfsoidsjar((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys
lastEditors		(
s__name__s
__module__s__doc__s	meta_typesDTMLFilesglobalssmanage_editForms_setNamesdownloadsdownloadLockedssetVersionNumbersgetVersionNumbers
lastEditor(((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysexternalVersionedFileObjects
		
		sdtml/fileAddsKindsExternalVersionedFileObjectskindsversions1c	Cstii|i|}	d}|otdntii||	}
|ot||
n|i|t
||t||
|i|it||i|_t|i|d||tj	o|di|idndS(s

    Factory method to actually create an instance of ExternalFile.
    ExternalFile.  This method assumes all parameters are correct (it
    does no error checking).  It is called from CreationDialog.py once
    all of the confirmation and error checking steps have been taken.
    
    You should call this method directly if you are creating an
    instance of ExternalFile programmatically and have 'vetted' all of
    your parameters for correctness.

    ss!Required fields must not be blanksauthorsRESPONSEs/manage_mainN(sosspathsjoinsselfsbaseFolderPathsidstarget_filepathsbasedirs	Exceptionsfully_resolved_target_filepathsfiles	copy_files
_setObjectsexternalVersionedFileObjectstitlesstrsvCs_getObsreindex_objectsversionCommentssetattrsauthorsREQUESTsNonesredirectsabsolute_url(sselfsidsvCsauthorsfilestitlespreconditionscontent_typesREQUESTstarget_filepathsfully_resolved_target_filepathsbasedir((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys%manage_addExternalVersionedFileObjects


c		Cst|}t|}t|}t|}t|||\}}|i}|i	|t
||d||t||i|_
t|i|d||o|i|i|n|o||i|_n|tj	o|di|idndS(sVAdd a new File object.

    Creates a new File object 'id' with the contents of 'file'ssauthorsRESPONSEs/manage_mainN(sstrsidstitlescontent_typespreconditionscookIdsfilesselfsthiss
_setObjectsexternalVersionedFileObjectsvCs_getObsversionCommentssetattrsauthors
manage_uploadsREQUESTsNonesredirectsabsolute_url(	sselfsidsvCsauthorsfilestitlespreconditionscontent_typesREQUEST((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys)manage_addExternalVersionedFileObject_olds "
sexternalVersionedFilecBstZdZdZdZdZdZeZdZ	dZ
dZdZei
d	d
dZdZei
d	d
d
Zei
d	ddZddddddedZei
d	ddZdZRS(sVersioniertes FilecCs tdi|}|SdS(s	showdiffss-Products/externalVersionedFile/zpt/selectDiffN(sPageTemplateFiles__of__sselfspt(sselfspt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys
showDiffsFormBscCs0||iid<tdi|}|SdS(sshowsfileLists,Products/externalVersionedFile/zpt/showDiffsN(sfileListsselfsREQUESTsSESSIONsPageTemplateFiles__of__spt(sselfsfileListspt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys	showDiffsGsc
Csdkl}dk}	t||d}|	idd|}|id}t||d}|	idd|}|id}|||}g}d}d}x%|D]}
dGH|
dd	!d
jo'|d7}d}|iddgq|
dd	!djo
d}qy|	id
d|
}
|	idd|
}
|
ddjod|
d}
n|
ddjod|
d}
n|
ddjod|
d}
n|||c|
d7<WqqXqW|SdS(sgenerate diffs(scontext_diffNis
s
iishiis**ss--s>s&gt;s<s&lt;s!s$<span style="color:brown;">%s</span>s+s"<span style="color:red;">%s</span>s-s$<span style="color:green;">%s</span>s<br>(sdifflibscontext_diffsresgetattrsselfsfileListsv1ssubssplitsv1ssv2sv2ssxxslistscounterstogglesxsappend(
sselfsfileListsv2sstogglesv1sv1sscounterslistsv2sresxsxxscontext_diff((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysformatDiffsMsF
	

cCs(||_||_||_||_dS(sinitN(sidsselfstitleslockedBysauthor(sselfsidstitleslockedBysauthor((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys__init__{s
			sexternalVersionedFilecCsd}t}xj|i|D]Y}t|ddo?t|di|jo!t|di}|d}quqqW|SdS(sLast Versioniis
versionNumberN(	stmpsNoneslastVersionsselfsZopeFindsversionshasattrsints
versionNumber(sselfstmpsversionslastVersion((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysgetLastVersionscCs?|i}d|i|i|i|i|ifSdS(s	main views6File: %s Version:%i modified:%s size:%s modified by:%sN(sselfsgetLastVersionslastVersionstitles
versionNumbersbobobase_modification_timesgetSizes
lastEditor(sselfslastVersion((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys
index_htmlscCsud}x`|i|D]O}t|ddo5t|di|jot|di}qeqqW|dSdS(Niis
versionNumber(stmpsselfsZopeFindsversionshasattrsints
versionNumber(sselfstmpsversion((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys
getVersionssAUTHENTICATED_USERsunlockcCsd|i|iddg}|o"t||ddiSntdi|}|SdS(shistorysobj_idsshistory_template.htmliis1Products/externalVersionedFile/zpt/versionHistoryN(	sselfsZopeFinds	aq_parentsextsgetattrsgetIdsPageTemplateFiles__of__spt(sselfsextspt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pyshistorys"cCskg}xM|i|D]<}t|ddo"|i|di|dfqqW|it|SdS(sget all versionsis
versionNumberN(	sretsselfsZopeFindsversionshasattrsappends
versionNumberssortssortv(sselfsversionsret((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysgetVersionss&
cCsct|it|idgjo!d|_|i|idnd|i|idfSdS(sunlocksAUTHENTICATED_USERssURL2s!Sorry, not locked by you! (%s,%s)N(sstrsselfslockedBysREQUESTsRESPONSEsredirect(sselfsRESPONSE((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysunlocks
&	s"addExternalVersionedFileObjectFormc	Cst|iddgjodSn|i|idjp
|idjo>tdtdddd	d
|ii|}|SndSdS(
sadd a new versionsAUTHENTICATED_USERsAnonymous Usersplease login firstssdtml/fileAddsKindsExternalVersionedFileObjectskindsexternalVersionedFileObjectsversions%Sorry file is locked by somebody elseN(	sstrsselfsREQUESTslockedBysDTMLFilesglobalss
getVersions__of__sout(sselfsout((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys"addExternalVersionedFileObjectForms'3ssnoc	Cs|id}|id}|djo|id|_n|	djo|	d|_nd|i	d|i}t|||||d|i	d|i|||i|d|gdGH|i|d|gdd	it|i	}|
o|
i|id
ndS(saddsvCsauthorsyesissV%is_sobj_idsisURL2N(sselfsREQUESTsvCsauthors
changeNamesfilesfilenamestitlesnewNames
getVersionsids%manage_addExternalVersionedFileObjectspreconditionscontent_typesZopeFindssetVersionNumbersintsobjssRESPONSEsredirect(sselfsidsvCsauthorsfilestitlespreconditionscontent_types
changeNamesnewNamesRESPONSEsobjs((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys%manage_addExternalVersionedFileObjects


45sdownloadLockedcCsOd|i_|iii|idd|id|iidS(sdownload and locksapplication/octet-streamsURL1s/N(sselfsgetLastVersionscontent_typesREQUESTsRESPONSEsredirectsgetId(sself((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysdownloadscCs|iddjodSn|idjod|iSn|id|_d|i_|iii|idd|id|iid	S(
sdownload and locksAUTHENTICATED_USERsAnonymous Usersplease login firstss0cannot be locked because is already locked by %ssapplication/octet-streamsURL1s/N(sselfsREQUESTslockedBysgetLastVersionscontent_typesRESPONSEsredirectsgetId(sself((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysdownloadLockeds(s__name__s
__module__s__doc__s
showDiffsForms	showDiffssformatDiffss__init__sClassSecurityInfossecuritys	meta_typesgetLastVersions
index_htmls
getVersionsdeclareProtectedshistorysgetVersionssunlocks"addExternalVersionedFileObjectFormsNones%manage_addExternalVersionedFileObjectsdownloadsdownloadLocked(((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysexternalVersionedFile=s*			.						
						cCs tdi|}|SdS(s"interface for adding the OSAS_roots?Products/externalVersionedFile/zpt/addExternalVersionedFile.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys#manage_addExternalVersionedFileFormscCsGt||||}|i|||t	j	o|i
dndS(sadd the OSAS_rootsmanage_mainN(sexternalVersionedFilesidstitleslockedBysauthorsnewObjsselfs
_setObjectsRESPONSEsNonesredirect(sselfsidstitleslockedBysauthorsRESPONSEsnewObj((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pysmanage_addExternalVersionedFiles

(%sProducts.ExternalFile.FileUtilss	copy_files"Products.ExternalFile.ExternalFilesExternalFiles
OFS.FoldersFolders	OFS.ImagesFilescookIdsGlobalssDTMLFilesInitializeClassspackage_homes'Products.PageTemplates.PageTemplateFilesPageTemplateFiles
AccessControlsgetSecurityManagers#Products.PageTemplates.PageTemplatesPageTemplates'Products.PageTemplates.ZopePageTemplatesZopePageTemplatesClassSecurityInfosos.pathsosssortvsexternalVersionedFileFoldersglobalss)manage_addExternalVersionedFileFolderFormsNones%manage_addExternalVersionedFileFoldersexternalVersionedFileObjects)manage_addExternalVersionedFileObjectForms%manage_addExternalVersionedFileObjects)manage_addExternalVersionedFileObject_oldsexternalVersionedFiles#manage_addExternalVersionedFileFormsmanage_addExternalVersionedFile(s)manage_addExternalVersionedFileObjectFormsoss%manage_addExternalVersionedFileFolders)manage_addExternalVersionedFileObject_oldsZopePageTemplatesFoldersPageTemplates)manage_addExternalVersionedFileFolderFormsPageTemplateFilesmanage_addExternalVersionedFilesExternalFiles#manage_addExternalVersionedFileFormscookIdssortvs	copy_filesClassSecurityInfosDTMLFilesInitializeClasssexternalVersionedFileFoldersgetSecurityManagers%manage_addExternalVersionedFileObjectsFilesexternalVersionedFilesexternalVersionedFileObjectspackage_home((sf/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/externalVersionedFile/externalVersionedFile.pys?s0









		6$!!		


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>