Re: [Zope] Finding unused products

2009-11-30 Thread Gaute Amundsen
On Sun, 2009-11-29 at 16:05 -0500, Tres Seaver wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Gaute Amundsen wrote:
  On Sun, 2009-11-29 at 12:32 +0100, Jens Vagelpohl wrote:
  On Nov 29, 2009, at 11:59 , Gaute Amundsen wrote:
 
  Quick question before I reinvent.
 
  Is there some established way of finding products which have no
  instances in zodb, and can be safely removed?
  No there isn't. You may have to invest some time writing a script that
   visits all objects to find out what products they belong to. It may
   not be worth the effort.
 
  jens
  
  Unfortunately it has not been worth the effort for a number of years,
  but now it has become unavoidable.
  Walking the tree it is then.
 
 You could probably work directly with the pickles way faster than
 activating every object in a large site:  look at the 'fsdump' script
 for clues.
 Tres.

Thanks for the tip, but testing a few tings now, it seems I would
probably spend way more time on the learning-curve than I'd save in
parsing.

I think, I'll rather stick my expensive parse results i a table, and
work from that.

Unless you think otherwise and can point me towards how to get both the
path, and the metatype out of that pickle. :-)

Gaute



___
Zope maillist  -  Zope@zope.org
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Finding unused products

2009-11-30 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Gaute Amundsen wrote:
 On Sun, 2009-11-29 at 16:05 -0500, Tres Seaver wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Gaute Amundsen wrote:
 On Sun, 2009-11-29 at 12:32 +0100, Jens Vagelpohl wrote:
 On Nov 29, 2009, at 11:59 , Gaute Amundsen wrote:

 Quick question before I reinvent.

 Is there some established way of finding products which have no
 instances in zodb, and can be safely removed?
 No there isn't. You may have to invest some time writing a script that
  visits all objects to find out what products they belong to. It may
  not be worth the effort.

 jens
 Unfortunately it has not been worth the effort for a number of years,
 but now it has become unavoidable.
 Walking the tree it is then.
 You could probably work directly with the pickles way faster than
 activating every object in a large site:  look at the 'fsdump' script
 for clues.
 Tres.
 
 Thanks for the tip, but testing a few tings now, it seems I would
 probably spend way more time on the learning-curve than I'd save in
 parsing.
 
 I think, I'll rather stick my expensive parse results i a table, and
 work from that.
 
 Unless you think otherwise and can point me towards how to get both the
 path, and the metatype out of that pickle. :-)

The pickle holds the dotted name of the instance class, which should be
a clue. ;)


Tres.
- --
===
Tres Seaver  +1 540-429-0999  tsea...@palladion.com
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAksT698ACgkQ+gerLs4ltQ6GvQCfYOLjuWon0Od6M6l2UB5MedzB
1akAnRKkky89t0G0BEgDjXdbIJIGBeBO
=fGcz
-END PGP SIGNATURE-

___
Zope maillist  -  Zope@zope.org
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Finding unused products

2009-11-30 Thread Jonathan (dev101)

- Original Message - 
From: Tres Seaver tsea...@palladion.com
To: zope@zope.org
Sent: Sunday, November 29, 2009 4:05 PM
Subject: Re: [Zope] Finding unused products


 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Gaute Amundsen wrote:
 On Sun, 2009-11-29 at 12:32 +0100, Jens Vagelpohl wrote:
 On Nov 29, 2009, at 11:59 , Gaute Amundsen wrote:

 Quick question before I reinvent.

 Is there some established way of finding products which have no
 instances in zodb, and can be safely removed?
 No there isn't. You may have to invest some time writing a script that
  visits all objects to find out what products they belong to. It may
  not be worth the effort.

 jens

 Unfortunately it has not been worth the effort for a number of years,
 but now it has become unavoidable.
 Walking the tree it is then.

 You could probably work directly with the pickles way faster than
 activating every object in a large site:  look at the 'fsdump' script
 for clues.

You could also write a stand-alone python routine to access the zodb (.fs 
file) directly (should be faster than running a script through a running 
zope instance and maybe easier than working with pickles).

Jonathan

___
Zope maillist  -  Zope@zope.org
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Finding unused products

2009-11-30 Thread Gaute Amundsen
On Mon, 2009-11-30 at 10:59 -0500, Tres Seaver wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Gaute Amundsen wrote:
  On Sun, 2009-11-29 at 16:05 -0500, Tres Seaver wrote:
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA1
 
  Gaute Amundsen wrote:
  On Sun, 2009-11-29 at 12:32 +0100, Jens Vagelpohl wrote:
  On Nov 29, 2009, at 11:59 , Gaute Amundsen wrote:
 
  Quick question before I reinvent.
 
  Is there some established way of finding products which have no
  instances in zodb, and can be safely removed?
  No there isn't. You may have to invest some time writing a script that
   visits all objects to find out what products they belong to. It may
   not be worth the effort.
 
  jens
  Unfortunately it has not been worth the effort for a number of years,
  but now it has become unavoidable.
  Walking the tree it is then.
  You could probably work directly with the pickles way faster than
  activating every object in a large site:  look at the 'fsdump' script
  for clues.
  Tres.
  
  Thanks for the tip, but testing a few tings now, it seems I would
  probably spend way more time on the learning-curve than I'd save in
  parsing.
  
  I think, I'll rather stick my expensive parse results i a table, and
  work from that.
  
  Unless you think otherwise and can point me towards how to get both the
  path, and the metatype out of that pickle. :-)
 
 The pickle holds the dotted name of the instance class, which should be
 a clue. ;)

I spotted that playing around with fsdump yes.

On second thought I guess my hidden assumption was that
context.all_meta_types() would give me the best list of installed
products to compare against, and thus I would need the actual meta_type
string.

On examining the results of the first run of my db-based script, I'm not
so sure. It's after all just some strings.. 
Perhaps I ought to rephrase that as a question :)

Can I rely on context.all_meta_types() being complete, or could a
product have installed objects that would not be in that list?

Is there some other, more reliable way to link an object to it's
product?

Gaute





___
Zope maillist  -  Zope@zope.org
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )


[Zope] Finding unused products

2009-11-29 Thread Gaute Amundsen

Quick question before I reinvent.

Is there some established way of finding products which have no
instances in zodb, and can be safely removed?

Regards

Gaute Amundsen


___
Zope maillist  -  Zope@zope.org
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Finding unused products

2009-11-29 Thread Jens Vagelpohl

On Nov 29, 2009, at 11:59 , Gaute Amundsen wrote:

 
 Quick question before I reinvent.
 
 Is there some established way of finding products which have no
 instances in zodb, and can be safely removed?

No there isn't. You may have to invest some time writing a script that visits 
all objects to find out what products they belong to. It may not be worth the 
effort.

jens



___
Zope maillist  -  Zope@zope.org
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Finding unused products

2009-11-29 Thread Gaute Amundsen
On Sun, 2009-11-29 at 12:32 +0100, Jens Vagelpohl wrote:
 On Nov 29, 2009, at 11:59 , Gaute Amundsen wrote:
 
  
  Quick question before I reinvent.
  
  Is there some established way of finding products which have no
  instances in zodb, and can be safely removed?
 
 No there isn't. You may have to invest some time writing a script that
  visits all objects to find out what products they belong to. It may
  not be worth the effort.
 
 jens

Unfortunately it has not been worth the effort for a number of years,
but now it has become unavoidable.
Walking the tree it is then.

Gaute



___
Zope maillist  -  Zope@zope.org
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Finding unused products

2009-11-29 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Gaute Amundsen wrote:
 On Sun, 2009-11-29 at 12:32 +0100, Jens Vagelpohl wrote:
 On Nov 29, 2009, at 11:59 , Gaute Amundsen wrote:

 Quick question before I reinvent.

 Is there some established way of finding products which have no
 instances in zodb, and can be safely removed?
 No there isn't. You may have to invest some time writing a script that
  visits all objects to find out what products they belong to. It may
  not be worth the effort.

 jens
 
 Unfortunately it has not been worth the effort for a number of years,
 but now it has become unavoidable.
 Walking the tree it is then.

You could probably work directly with the pickles way faster than
activating every object in a large site:  look at the 'fsdump' script
for clues.



Tres.
- --
===
Tres Seaver  +1 540-429-0999  tsea...@palladion.com
Palladion Software   Excellence by Designhttp://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAksS4f0ACgkQ+gerLs4ltQ5s0wCfdk8Ru7uHUI7Fj7OGjDfcyAla
724An0ZOhZ2qorejVAwUzK2OdhFdPfYv
=quZ0
-END PGP SIGNATURE-

___
Zope maillist  -  Zope@zope.org
https://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope-dev )