Commit 1c7dbc5a authored by Jim Fulton's avatar Jim Fulton

Renamed description->title and name->id and other changes

parent d696fcf6
......@@ -11,16 +11,16 @@
__doc__='''Application support
$Id: Application.py,v 1.2 1997/07/28 21:33:08 jim Exp $'''
__version__='$Revision: 1.2 $'[11:-2]
$Id: Application.py,v 1.3 1997/08/06 18:26:12 jim Exp $'''
__version__='$Revision: 1.3 $'[11:-2]
import Folder, regex, string
import Globals
class Application(Folder.Folder):
name='Your Place'
description=''
id='Your Place'
title=''
web__form__method='GET'
manage_options=Folder.Folder.manage_options+(
{'icon':'App/arrow.jpg', 'label':'Application Management',
......@@ -112,6 +112,9 @@ if __name__ == "__main__": main()
##############################################################################
#
# $Log: Application.py,v $
# Revision 1.3 1997/08/06 18:26:12 jim
# Renamed description->title and name->id and other changes
#
# Revision 1.2 1997/07/28 21:33:08 jim
# Changed top name.
#
......
"""Document object"""
__version__='$Revision: 1.2 $'[11:-2]
__version__='$Revision: 1.3 $'[11:-2]
from STPDocumentTemplate import HTML
from Globals import shared_dt_globals,HTMLFile
......@@ -8,21 +8,21 @@ from Globals import shared_dt_globals,HTMLFile
class Document(HTML):
"""A Document object"""
meta_type ='Document'
description=''
icon ='OFS/document.jpg'
title=''
icon ='OFS/Document_icon.gif'
__state_names__=HTML.__state_names__+('description',)
__state_names__=HTML.__state_names__+('title',)
shared_globals =shared_dt_globals
manage_edit__allow_groups__ =None
def document_template_form_header(self):
return ("""<br>Description:
<input type=text name=description SIZE="50" value="%s">
<P>""" % self.description)
return ("""<br>Title:
<input type=text name=title SIZE="50" value="%s">
<P>""" % self.title)
def manage_edit(self,data,description,REQUEST=None):
def manage_edit(self,data,title,REQUEST=None):
"""Edit method"""
self.description=description
self.title=title
return HTML.manage_edit(self,data,REQUEST)
......@@ -44,30 +44,30 @@ class DocumentHandler:
manage_addDocumentForm=HTMLFile('OFS/documentAdd')
def manage_addDocument(self,name,description,REQUEST,file=''):
def manage_addDocument(self,id,title,REQUEST,file=''):
"""Add a new Document object"""
if not file: file=default_html
i=Document(file, __name__=name)
i.description=description
self._setObject(name,i)
i=Document(file, __name__=id)
i.title=title
self._setObject(id,i)
return self.manage_main(self,REQUEST)
def documentNames(self):
def documentIds(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Document': t.append(i['name'])
if i['meta_type']=='Document': t.append(i['id'])
return t
def documentValues(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Document': t.append(getattr(self,i['name']))
if i['meta_type']=='Document': t.append(getattr(self,i['id']))
return t
def documentItems(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Document':
n=i['name']
n=i['id']
t.append((n,getattr(self,n)))
return t
"""Folder object
$Id: Folder.py,v 1.1 1997/07/25 20:03:23 jim Exp $"""
$Id: Folder.py,v 1.2 1997/08/06 18:26:13 jim Exp $"""
__version__='$Revision: 1.1 $'[11:-2]
__version__='$Revision: 1.2 $'[11:-2]
from Globals import HTMLFile
......@@ -22,31 +22,31 @@ class FolderHandler:
return Folder
return self.__class__
def manage_addFolder(self,name,description,REQUEST):
def manage_addFolder(self,id,title,REQUEST):
"""Add a new Folder object"""
i=self.folderClass()()
i.name=name
i.description=description
self._setObject(name,i)
i.id=id
i.title=title
self._setObject(id,i)
return self.manage_main(self,REQUEST)
def folderNames(self):
def folderIds(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Folder': t.append(i['name'])
if i['meta_type']=='Folder': t.append(i['id'])
return t
def folderValues(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Folder': t.append(getattr(self,i['name']))
if i['meta_type']=='Folder': t.append(getattr(self,i['id']))
return t
def folderItems(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Folder':
n=i['name']
n=i['id']
t.append((n,getattr(self,n)))
return t
......@@ -54,11 +54,11 @@ class FolderHandler:
class Folder(ObjectManager,DocumentHandler,ImageHandler,FolderHandler):
"""Folder object"""
meta_type ='Folder'
name ='folder'
description='Folder object'
icon ='OFS/folder.jpg'
id ='folder'
title='Folder object'
icon ='OFS/Folder_icon.gif'
_properties=({'name':'description', 'type': 'string'},)
_properties=({'id':'title', 'type': 'string'},)
index_html=HTMLFile('OFS/folderIndex_html')
meta_types=(
......
"""Image object"""
__version__='$Revision: 1.1 $'[11:-2]
__version__='$Revision: 1.2 $'[11:-2]
from Globals import HTMLFile
......@@ -9,12 +9,12 @@ from Globals import HTMLFile
class Image:
"""Image object"""
meta_type ='Image'
description=''
icon ='OFS/image.jpg'
title=''
icon ='OFS/Image_icon.gif'
manage_editForm=HTMLFile('OFS/imageEdit')
def manage_edit(self,file,description,content_type=''):
def manage_edit(self,file,title,content_type=''):
try: headers=file.headers
except: headers=None
......@@ -27,10 +27,10 @@ class Image:
data=file.read()
self.content_type=headers['content-type']
self.data=data
self.description=description
self.title=title
def _init(self,name,file,content_type=''):
def _init(self,id,file,content_type=''):
try: headers=file.headers
except: headers=None
if headers is None:
......@@ -41,49 +41,45 @@ class Image:
else:
self.content_type=headers['content-type']
self.data=file.read()
self.__name__=name
self.__name__=id
def name(self): return self.__name__
def id(self): return self.__name__
def index_html(self, RESPONSE):
"""Default document"""
RESPONSE['content-type']=self.content_type
return self.data
class ImageHandler:
"""Image object handler mixin"""
meta_types=({'name':'Image', 'action':'manage_addImageForm'},)
manage_addImageForm=HTMLFile('OFS/imageAdd')
def manage_addImage(self,name,file,description,REQUEST):
def manage_addImage(self,id,file,title,REQUEST):
"""Add a new Image object"""
i=Image()
i._init(name,file)
i.description=description
self._setObject(name,i)
i._init(id,file)
i.title=title
self._setObject(id,i)
return self.manage_main(self,REQUEST)
def imageNames(self):
def imageIds(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Image': t.append(i['name'])
if i['meta_type']=='Image': t.append(i['id'])
return t
def imageValues(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Image': t.append(getattr(self,i['name']))
if i['meta_type']=='Image': t.append(getattr(self,i['id']))
return t
def imageItems(self):
t=[]
for i in self.objectMap():
if i['meta_type']=='Image':
n=i['name']
n=i['id']
t.append((n,getattr(self,n)))
return t
__doc__="""Object Manager
$Id: ObjectManager.py,v 1.2 1997/07/28 21:36:08 jim Exp $"""
$Id: ObjectManager.py,v 1.3 1997/08/06 18:26:14 jim Exp $"""
__version__='$Revision: 1.2 $'[11:-2]
__version__='$Revision: 1.3 $'[11:-2]
from SingleThreadedTransaction import Persistent
......@@ -22,11 +22,11 @@ class ObjectManager(Acquirer,Management,Persistent):
meta_type ='ObjectManager'
meta_types = dynamic_meta_types = ()
name ='default'
description=''
id ='default'
title=''
icon ='dir.jpg'
_objects =()
_properties =({'name':'description', 'type': 'string'},)
_properties =({'id':'title', 'type': 'string'},)
manage_main =ManageHTMLFile('OFS/main')
manage_propertiesForm=ManageHTMLFile('OFS/properties')
......@@ -56,18 +56,18 @@ class ObjectManager(Acquirer,Management,Persistent):
def all_meta_types(self):
return self.meta_types+self.dynamic_meta_types
def _checkName(self,name):
if quote(name) != name: raise 'Bad Request', (
"""The name <em>%s<em> is invalid - it
contains characters illegal in URLs.""" % name)
def _checkId(self,id):
if quote(id) != id: raise 'Bad Request', (
"""The id <em>%s<em> is invalid - it
contains characters illegal in URLs.""" % id)
if name[:1]=='_': raise 'Bad Request', (
"""The name <em>%s<em> is invalid - it
begins with an underscore character, _.""" % name)
if id[:1]=='_': raise 'Bad Request', (
"""The id <em>%s<em> is invalid - it
begins with an underscore character, _.""" % id)
if hasattr(self,name): raise 'Bad Request', (
"""The name <em>%s<em> is invalid - it
is already in use.""" % name)
if hasattr(self,id): raise 'Bad Request', (
"""The id <em>%s<em> is invalid - it
is already in use.""" % id)
def parentObject(self):
try:
......@@ -78,29 +78,29 @@ class ObjectManager(Acquirer,Management,Persistent):
#try: return (self.aq_parent,)
#except: return ()
def _setObject(self,name,object):
self._checkName(name)
setattr(self,name,object)
def _setObject(self,id,object):
self._checkId(id)
setattr(self,id,object)
try: t=object.meta_type
except: t=None
self._objects=self._objects+({'name':name,'meta_type':t},)
self._objects=self._objects+({'id':id,'meta_type':t},)
def _delObject(self,name):
delattr(self,name)
self._objects=tuple(filter(lambda i,n=name: i['name'] != n,
def _delObject(self,id):
delattr(self,id)
self._objects=tuple(filter(lambda i,n=id: i['id'] != n,
self._objects))
def objectNames(self):
# Return a list of subobject names
return map(lambda i: i['name'], self._objects)
def objectIds(self):
# Return a list of subobject ids
return map(lambda i: i['id'], self._objects)
def objectValues(self):
# Return a list of the actual subobjects
return map(lambda i,s=self: getattr(s,i['name']), self._objects)
return map(lambda i,s=self: getattr(s,i['id']), self._objects)
def objectItems(self):
# Return a list of (name, subobject) tuples
return map(lambda i,s=self: (i['name'], getattr(s,i['name'])),
# Return a list of (id, subobject) tuples
return map(lambda i,s=self: (i['id'], getattr(s,i['id'])),
self._objects)
def objectMap(self):
# Return a tuple of mappings containing subobject meta-data
......@@ -116,58 +116,58 @@ class ObjectManager(Acquirer,Management,Persistent):
return getattr(self,t['action'])(self,REQUEST)
raise 'BadRequest', 'Unknown object type: %s' % type
def manage_delObjects(self,names,REQUEST):
def manage_delObjects(self,ids,REQUEST):
"""Delete a subordinate object"""
while names:
try: self._delObject(names[-1])
except: raise 'BadRequest', ('%s does not exist' % names[-1])
del names[-1]
while ids:
try: self._delObject(ids[-1])
except: raise 'BadRequest', ('%s does not exist' % ids[-1])
del ids[-1]
return self.manage_main(self, REQUEST)
def _setProperty(self,name,value,type='string'):
self._checkName(name)
self._properties=self._properties+({'name':name,'type':type},)
setattr(self,name,value)
def _setProperty(self,id,value,type='string'):
self._checkId(id)
self._properties=self._properties+({'id':id,'type':type},)
setattr(self,id,value)
def _delProperty(self,name):
delattr(self,name)
self._properties=tuple(filter(lambda i, n=name: i['name'] != n,
def _delProperty(self,id):
delattr(self,id)
self._properties=tuple(filter(lambda i, n=id: i['id'] != n,
self._properties))
def propertyNames(self):
# Return a list of property names
return map(lambda i: i['name'], self._properties)
def propertyIds(self):
# Return a list of property ids
return map(lambda i: i['id'], self._properties)
def propertyValues(self):
# Return a list of actual property objects
return map(lambda i,s=self: getattr(s,i['name']), self._properties)
return map(lambda i,s=self: getattr(s,i['id']), self._properties)
def propertyItems(self):
# Return a list of (name,property) tuples
return map(lambda i,s=self: (i['name'],getattr(s,i['name'])),
# Return a list of (id,property) tuples
return map(lambda i,s=self: (i['id'],getattr(s,i['id'])),
self._properties)
def propertyMap(self):
# Return a tuple of mappings, giving meta-data for properties
return self._properties
def manage_addProperty(self,name,value,type,REQUEST):
def manage_addProperty(self,id,value,type,REQUEST):
"""Add a new property (www)"""
self._setProperty(name,value,type)
self._setProperty(id,value,type)
return self.manage_propertiesForm(self,REQUEST)
def manage_editProperties(self,REQUEST):
"""Edit object properties"""
for p in self._properties:
n=p['name']
n=p['id']
try: setattr(self,n,REQUEST[n])
except: pass
return self.manage_propertiesForm(self,REQUEST)
def manage_delProperties(self,names,REQUEST):
def manage_delProperties(self,ids,REQUEST):
"""Delete one or more properties"""
try: p=map(lambda d: d['name'], self.__class__._properties)
try: p=map(lambda d: d['id'], self.__class__._properties)
except: p=[]
for n in names:
for n in ids:
if n in p:
return MessageDialog(
title ='Cannot delete %s' % n,
......@@ -211,15 +211,18 @@ class ObjectManager(Acquirer,Management,Persistent):
imap=self._inputMap
r=[]
for p in self._properties:
n=p['name']
n=p['id']
t=p['type']
v=getattr(self,n)
r.append({'name': n, 'input': imap[t](None,n,t,v)})
r.append({'id': n, 'input': imap[t](None,n,t,v)})
return r
##############################################################################
#
# $Log: ObjectManager.py,v $
# Revision 1.3 1997/08/06 18:26:14 jim
# Renamed description->title and name->id and other changes
#
# Revision 1.2 1997/07/28 21:36:08 jim
# Got rid of some message dialogs.
#
......
......@@ -13,12 +13,14 @@
ENCTYPE="multipart/form-data" TARGET="manage_main">
<TABLE CELLSPACING="2">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Name</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="name" SIZE="50"></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Id</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="id" SIZE="50"></TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Description</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="description" SIZE="50"></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Title</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="TEXT" NAME="title" SIZE="50">
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>File</B></TD>
......
......@@ -8,12 +8,12 @@
<FORM ACTION="<!--#var PARENT_URL-->/manage_addFolder" METHOD="POST">
<TABLE CELLSPACING="2">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Name</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="name" SIZE="50"></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Id</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="id" SIZE="50"></TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Description</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="description" SIZE="50"></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Title</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="title" SIZE="50"></TD>
</TR>
<TR>
<TD></TD>
......
......@@ -13,8 +13,8 @@
ENCTYPE="multipart/form-data" TARGET="manage_main">
<TABLE CELLSPACING="2">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Name</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="name" SIZE="50"></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Id</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><INPUT TYPE="TEXT" NAME="id" SIZE="50"></TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Image</B></TD>
......@@ -23,9 +23,9 @@
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Description</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Title</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="TEXT" NAME="description" SIZE="50"></TD>
<INPUT TYPE="TEXT" NAME="title" SIZE="50"></TD>
</TR>
<TR>
<TD></TD>
......
......@@ -13,8 +13,8 @@
ENCTYPE="multipart/form-data" TARGET="manage_main">
<TABLE CELLSPACING="2">
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Name</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><!--#var name--></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Id</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><!--#var id--></TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Image</B></TD>
......@@ -23,9 +23,9 @@
</TD>
</TR>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Description</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B>Title</B></TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="TEXT" NAME="description" SIZE="50" VALUE="<!--#var description-->"></TD>
<INPUT TYPE="TEXT" NAME="title" SIZE="50" VALUE="<!--#var title-->"></TD>
</TR>
<TR>
<TD></TD>
......
<HTML>
<HEAD>
<TITLE><!--#var name fmt=spacify--></TITLE>
<TITLE><!--#if title-->
<!--#var title--><!--#else title-->
<!--#var id--><!--#/if title--></TITLE>
</HEAD>
<BODY>
<FONT SIZE="+2" COLOR="#77003B"><!--#var name fmt=spacify--></FONT>
<FONT SIZE="+2" COLOR="#77003B">
<!--#if title-->
<!--#var title--><!--#else title-->
<!--#var id--><!--#/if title-->
</FONT>
<BR>
<!--#if parentObject-->
......@@ -11,9 +17,9 @@
<A HREF="<!--#var URL2-->/manage" target="_top">
<IMG SRC="<!--#var SOFTWARE_URL-->/OFS/dirup.jpg" BORDER=0>
</A>
Go up to
<!--#var name fmt=spacify-->
<!--#var description-->
Go up to <!--#if title-->
<!--#var title--><!--#else title-->
<!--#var id--><!--#/if title-->
<BR>
<!--#/in parentObject-->
<!--#/if parentObject-->
......@@ -21,11 +27,11 @@
<!--#if objectValues-->
<P>
The following items have been defined. To edit an item, click
on the item's icon. To view an item, click on the item's name.
on the item's icon. To view an item, click on the item's id.
<P>
<!--#in objectValues-->
<A HREF="<!--#var URL1-->/<!--#var name-->/manage"
<A HREF="<!--#var URL1-->/<!--#var id-->/manage"
<!--#if sequence-var-manage_options-->
TARGET="_top"
<!--#else sequence-var-manage_options-->
......@@ -33,8 +39,9 @@
<!--#endif sequence-var-manage_options-->>
<IMG SRC="<!--#var SOFTWARE_URL-->/<!--#var icon-->" BORDER="0">
</A>
<A HREF="<!--#var URL1-->/<!--#var name-->"><!--#var name fmt=spacify-->
</A> <!--#var description--><BR>
<A HREF="<!--#var URL1-->/<!--#var id-->"><!--#if title-->
<!--#var title--> (<!--#var id-->)<!--#else title-->
<!--#var id--><!--#/if title--></A><BR>
<!--#/in objectValues-->
<P>
<!--#/if objectValues-->
......@@ -48,7 +55,7 @@
<FORM ACTION="<!--#var PARENT_URL-->/manage_addObject" METHOD="GET">
<SELECT NAME="type">
<!--#in all_meta_types mapping-->
<OPTION VALUE="<!--#var name-->"><!--#var name fmt=spacify-->
<OPTION><!--#var name-->
<!--#/in all_meta_types-->
</SELECT><BR>
<INPUT TYPE="SUBMIT" VALUE="Add">
......@@ -64,9 +71,9 @@
</TD>
<TD VALIGN="TOP">
<FORM ACTION="<!--#var PARENT_URL-->/manage_delObjects" METHOD="GET">
<SELECT NAME="names:list" MULTIPLE SIZE="5">
<SELECT NAME="ids:list" MULTIPLE SIZE="5">
<!--#in objectValues-->
<OPTION VALUE="<!--#var name-->"><!--#var name fmt=spacify-->
<OPTION VALUE="<!--#var id-->"><!--#var id fmt=spacify-->
<!--#/in objectValues-->
</SELECT><br>
<INPUT TYPE="SUBMIT" VALUE="Delete">
......
......@@ -15,7 +15,7 @@ edit the value and click the "Change Properties" button.
<!--#if propertyInputs-->
<!--#in propertyInputs mapping-->
<TR>
<TD ALIGN="LEFT" VALIGN="TOP"><B><!--#var name fmt=spacify--></B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><B><!--#var id fmt=spacify--></B></TD>
<TD ALIGN="LEFT" VALIGN="TOP"><!--#var input--></TD>
</TR>
<!--#/in propertyInputs-->
......@@ -34,14 +34,14 @@ edit the value and click the "Change Properties" button.
<P>
<FORM ACTION="<!--#var URL1-->/manage_addProperty" METHOD="POST">
You may add a property by filling in the name, type, and initial
You may add a property by filling in the id, type, and initial
value fields below and then clicking on the "Add Property" button.
<BR>
<TABLE>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">Name:</TD>
<TD ALIGN="LEFT" VALIGN="TOP">Id:</TD>
<TD ALIGN="LEFT" VALIGN="TOP">
<INPUT TYPE="TEXT" NAME="name" SIZE="16">
<INPUT TYPE="TEXT" NAME="id" SIZE="16">
</TD>
</TR>
<TR>
......@@ -72,16 +72,16 @@ value fields below and then clicking on the "Add Property" button.
<!--#if propertyMap-->
<FORM ACTION="<!--#var URL1-->/manage_delProperties" METHOD="POST">
You may delete properties by selecting one or more property names
You may delete properties by selecting one or more property ids
from the list below and clicking the &quot;Delete Properties&quot;
button.
<BR>
<TABLE>
<TR>
<TD ALIGN="LEFT" VALIGN="TOP">
<SELECT NAME="names:list" SIZE="5" MULTIPLE>
<SELECT NAME="ids:list" SIZE="5" MULTIPLE>
<!--#in propertyMap mapping-->
<OPTION VALUE="<!--#var name-->"><!--#var name fmt=nicify-->
<OPTION VALUE="<!--#var id-->"><!--#var id fmt=nicify-->
<!--#/in propertyMap-->
</SELECT>
<BR>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment