-----BEGIN PGP SIGNED MESSAGE-----
Moin,
On Saturday 24 September 2005 00:15, Michael G Schwern wrote:
> On Fri, Sep 23, 2005 at 07:33:04PM +0200, Tels wrote:
> > Not yet. Good idea. The relevant code is in parse_file() in gen_graph
> > - it gets as option one .pm file and then does something with it.
> >
> > The lopp for each file is in gather_data(), under the recurse branch:
> >
> > I'll redesign the code to be more re-usable and move away from the
> > "file" methodology. But I won't have time until mid-October.
>
> Ok, thanks. I'll let you know if I get any tuits to work on it before
> then.
Ah, what the heck, I couldn't relax if I have this problem on my mind,
anyway :)
So I whipped up Graph::Usage 0.10:
http://bloodgate.com/perl/packages/devel/
it is not on CPAN because it is still a bit rough and I have a flight to
catch. Anyway, the logic is now in Graph::Usage, which is loaded by
gen_graph and then simple used. You can choose which package to use for
processing via the --use command line switch.
There is an example subclass of Graph::Usage in t/lib/Graph/Usage, and
here is how you would use it:
perl -It/lib ./gen_graph --use=Graph::Usage::MySubClass
--recurse=Math::BigInt --versions
I re-arranged the logic to call methods instead of fiddling some things
directly into the graph, the relevant methods you would want to override
are:
parse_file($file);
add_package($name,$ver);
add_link ($src,$dst,$type);
set_package_version($ver);
There also some hooks that are called on strategic points through the
code:
sub hook_after_graph_generation
sub hook_before_colorize
sub hook_after_colorize
I hope this is usefull, but I can imagine that I missed something or that
the existing hooks are not enough for your application.
Any feedback (preferable patches :) welcome :)
Best wishes,
Tels
- --
Signed on Sat Sep 24 13:52:59 2005 with key 0x93B84C15.
Visit my photo gallery at http://bloodgate.com/photos/
PGP key on http://bloodgate.com/tels.asc or per email.
"...pornographic images stay in the brain forever." -- Mary Anne Layden;
"That's a feature, not a bug." -- God
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iQEVAwUBQzU/aHcLPEOTuEwVAQGUagf7Bt4gpeMF3ta3eRvYRI8RKinxSqPJcys/
5DcASSg/wzrjcTteS/JxQoDVecOcnzoCM/1VaLIT/T60V2l5UNYa2dFALiOqBfXK
JAEBTr+4izVsHlfk6kjC1Fz2WNbrOnfqW+D0AZ5/1kBXcnumLTZBx0xq6RH+1zkJ
5gRJlEexZyZEtoELjRGZsUqSXFs2PTuaEW6dv1aLRSb6nS6/h8qFCueloB9knQHB
7KV9ata2LbvJvLEy4wwszgwBSB+AvHCUekxP4GC3itN4PYTPgEUH33sfS2bcF9vo
zDYfhjtuKrKmmLurMjH0jm5+xy6LWlyjoWEQU6iBhUjtGrnRpqp9Zw==
=HZaT
-----END PGP SIGNATURE-----