Re: [Zope] FW: [Zope] FTP for ZClass hierarchies
M. Adam Kendall" <[EMAIL PROTECTED]> wrote: > ARGH.. Spoke too soon.. just figured out how to override it > so it actually WILL let you get to methods of inner Zclasses. > And yes, I have tried to save back to the methods and they > save fine.. The next thing to try to tackle is how to make > FTP create a DTML Method instead of DTML Document as the > default when creating new files. I just checked in a pair of features for 2.3a1 which make it possible to hook the "figure out what kind of thing to create when handling a PUT to a new object" strategy. See the "hookable PUT creation fishbowl proposal", http://dev.zope.org/Wikis/DevSite/Proposals/HookablePUTCreation > Hope this helps. > > > In the past few days I have been working on a patch that will > > let you edit ZClasses via FTP without the need for typing in > > actual pathnames to get to the methods (mainly so I can edit > > ZClasses with HTML-Kit). Strangely enough, even with the > > modifications, I see this same thing. Tres. -- === Tres Seaver[EMAIL PROTECTED] Digital Creations "Zope Dealers" http://www.zope.org ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
RE: [Zope] FTP for ZClass hierarchies
> > Does this let you write the methods back? > > I was just able to change a DTML method in a ZClass (after patching > a single indentation error). Adam, you rock! Yeah, I know ;) Only took me two days of playing around and figuring out what objects got called where and realizing that I had to override manage_FTPstat for most of the objects involved. The latest and greatest patches can be found here: http://www.zope.org/Members/akendall/zclassftp This has most of my updates since posting the original patch earlier today including some of the security settings I was missing earlier. Hope everyone can test the hell out of this and make sure I didn't really hose something. Maybe this could be looked at by the DC folks and included in the next test version release of Zope? Just a thought ;) Adam ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] FTP for ZClass hierarchies
Robin Becker <[EMAIL PROTECTED]> wrote: > > M. Adam Kendall <[EMAIL PROTECTED]> writes > >In the past few days I have been working on a patch that will > >let you edit ZClasses via FTP without the need for typing in > >actual pathnames to get to the methods (mainly so I can edit > >ZClasses with HTML-Kit). Strangely enough, even with the > >modifications, I see this same thing. > > > >I've included this patch in case anyone wants to play around > >with it. It's not the greatest, and definitely needs to be > >modified (some of the security mechanisms are bound to be > >broken). But it is a start anyway. ;) > > Does this let you write the methods back? I was just able to change a DTML method in a ZClass (after patching a single indentation error). Adam, you rock! I am attaching my emended patch. Tres. -- === Tres Seaver[EMAIL PROTECTED] Digital Creations "Zope Dealers" http://www.zope.org Index: Method.py === RCS file: /cvs-repository/Zope2/lib/python/ZClasses/Method.py,v retrieving revision 1.18 diff -u -r1.18 Method.py --- Method.py 2000/08/14 14:34:23 1.18 +++ Method.py 2000/12/08 03:43:29 @@ -92,6 +92,8 @@ import ZClassOwner from AccessControl.PermissionMapping import aqwrap, PermissionMapper +import marshal + _marker=[] class ZClassMethodsSheet( OFS.PropertySheets.PropertySheet, @@ -104,6 +106,13 @@ icon='p_/Methods_icon' def tpURL(self): return 'propertysheets/methods' + +def manage_FTPstat(self,REQUEST): +"Psuedo stat used for FTP listings" +mode=004|0770 +mtime=self.bobobase_modification_time().timeTime() +owner=group='Zope' +return marshal.dumps((mode,0,0,1,owner,group,0,mtime,mtime,mtime)) ## # Hijinks to let us create factories and classes within classes. Index: ZClass.py === RCS file: /cvs-repository/Zope2/lib/python/ZClasses/ZClass.py,v retrieving revision 1.50 diff -u -r1.50 ZClass.py --- ZClass.py 2000/11/01 22:59:34 1.50 +++ ZClass.py 2000/12/08 03:43:31 @@ -91,8 +91,9 @@ from ExtensionClass import Base from App.FactoryDispatcher import FactoryDispatcher from ComputedAttribute import ComputedAttribute -import OFS.PropertySheets +import marshal + if not hasattr(Products, 'meta_types'): Products.meta_types=() @@ -281,6 +282,28 @@ ('', '__call__', 'index_html', 'createInObjectManager')), ) +def manage_FTPlist(self,REQUEST): +"Directory listing for FTP" +out=() +files=self.__dict__.items() +if not (hasattr(self,'isTopLevelPrincipiaApplicationObject') and +self.isTopLevelPrincipiaApplicationObject): + files.insert(0,('..',self.aq_parent)) +for k,v in files: +try:stat=marshal.loads(v.manage_FTPstat(REQUEST)) +except: +stat=None +if stat is not None: +out=out+((k,stat),) +return marshal.dumps(out) + +def manage_FTPstat(self,REQUEST): +"Psuedo stat used for FTP listings" +mode=004|0770 +mtime=self.bobobase_modification_time().timeTime() +owner=group='Zope' +return marshal.dumps((mode,0,0,1,owner,group,0,mtime,mtime,mtime)) + def __init__(self, id, title, bases, zope_object=1): """Build a Zope class @@ -640,6 +663,28 @@ views = Basic.ZClassViewsSheet('views') basic = Basic.ZClassBasicSheet('basic') permissions = Basic.ZClassPermissionsSheet('permissions') + +def manage_FTPlist(self,REQUEST): +"Directory listing for FTP" +out=() +files=self.__dict__.items() +if not (hasattr(self,'isTopLevelPrincipiaApplicationObject') and +self.isTopLevelPrincipiaApplicationObject): + files.insert(0,('..',self.aq_parent)) +for k,v in files: +try:stat=marshal.loads(v.manage_FTPstat(REQUEST)) +except: +stat=None +if stat is not None: +out=out+((k,stat),) +return marshal.dumps(out) + +def manage_FTPstat(self,REQUEST): +"Psuedo stat used for FTP listings" +mode=004|0770 +mtime=self.bobobase_modification_time().timeTime() +owner=group='Zope' +return marshal.dumps((mode,0,0,1,owner,group,0,mtime,mtime,mtime)) def __init__(self): self.methods=Method.ZClassMethodsSheet('methods')
[Zope] FW: [Zope] FTP for ZClass hierarchies
ARGH.. Spoke too soon.. just figured out how to override it so it actually WILL let you get to methods of inner Zclasses. And yes, I have tried to save back to the methods and they save fine.. The next thing to try to tackle is how to make FTP create a DTML Method instead of DTML Document as the default when creating new files. Hope this helps. > In the past few days I have been working on a patch that will > let you edit ZClasses via FTP without the need for typing in > actual pathnames to get to the methods (mainly so I can edit > ZClasses with HTML-Kit). Strangely enough, even with the > modifications, I see this same thing. ZClassFTP.patch
Re: [Zope] FTP for ZClass hierarchies
In article <[EMAIL PROTECTED]>, M. Adam Kendall <[EMAIL PROTECTED]> writes >In the past few days I have been working on a patch that will >let you edit ZClasses via FTP without the need for typing in >actual pathnames to get to the methods (mainly so I can edit >ZClasses with HTML-Kit). Strangely enough, even with the >modifications, I see this same thing. > >I've included this patch in case anyone wants to play around >with it. It's not the greatest, and definitely needs to be >modified (some of the security mechanisms are bound to be >broken). But it is a start anyway. ;) > >> Interestingly, but perhaps merely coincidental, I notice that the URLs >> of contained ZClasses as generated by the Zope management interface >> have a "%20" immediately following the name of each contained ZClass >> (but not the top-level ZClasss) - e.g, >[ A MIME application / octet-stream part was included here. ] > Does this let you write the methods back? -- Robin Becker ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
RE: [Zope] FTP for ZClass hierarchies
In the past few days I have been working on a patch that will let you edit ZClasses via FTP without the need for typing in actual pathnames to get to the methods (mainly so I can edit ZClasses with HTML-Kit). Strangely enough, even with the modifications, I see this same thing. I've included this patch in case anyone wants to play around with it. It's not the greatest, and definitely needs to be modified (some of the security mechanisms are bound to be broken). But it is a start anyway. ;) > Interestingly, but perhaps merely coincidental, I notice that the URLs > of contained ZClasses as generated by the Zope management interface > have a "%20" immediately following the name of each contained ZClass > (but not the top-level ZClasss) - e.g, ZClassFTP.patch
Re: [Zope] FTP for ZClass hierarchies
On Tuesday 5 December 2000, at 9 h 4, the keyboard of Jim Welch <[EMAIL PROTECTED]> wrote: > have been disappointed to discover that while I can access, via FTP, > the methods of a top-level ZClass, I can't access any methods of > ZClasses defined inside of a top-level ZClass. Many objects are not editable that way :-( And this is a big problem with Zope for me (I will certainly not use the browser form). A friendly Zopatista sent me a patch on Zope (which I will submit to the Collector) to be able to edit ZQSL methods. May be you can patch the patch for your purpose? ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] FTP for ZClass hierarchies
As an avid emacs user I am delighted to be able to access DTML objects via FTP. Recently I have been creating some ZClass hierarchies and have been disappointed to discover that while I can access, via FTP, the methods of a top-level ZClass, I can't access any methods of ZClasses defined inside of a top-level ZClass. Is this a known limitation of the FTP interface? Interestingly, but perhaps merely coincidental, I notice that the URLs of contained ZClasses as generated by the Zope management interface have a "%20" immediately following the name of each contained ZClass (but not the top-level ZClasss) - e.g, http://blah.blah/Control_Panel/Products/newprod/toplev/propertysheets/methods/seclev%20/propertysheets/methods Upon observing this, I had hoped that I could find success by similarly modify my emacs FTP spec, as in: [EMAIL PROTECTED]:/Control_Panel/Products/newprod/toplev/propertysheets/methods/seclev%20/propertysheets/methods or, [EMAIL PROTECTED]:/Control_Panel/Products/newprod/toplev/propertysheets/methods/seclev /propertysheets/methods (yes, I used C-q space) But neither of these worked. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )