Re: Pyrus and SimpleChannelFrontend questions
| From: | Michael Gauthier | Date: | Wed, 16 Jun 2010 21:10:27 +0000 |
| Subject: | Re: Pyrus and SimpleChannelFrontend questions | ||
| References: | 1 2 3 4 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-53573@lists.php.net to get a copy of this message | ||
On Wed, 2010-06-16 at 15:07 -0500, Brett Bieber wrote:
> On Wednesday, June 16, 2010, Michael Gauthier <mike@silverorange.com> wrote:
> > On Wed, 2010-06-16 at 12:59 -0500, Brett Bieber wrote:
> >> On Wednesday, June 16, 2010, Michael Gauthier <mike@silverorange.com> wrote:
> >> > Hello,
> >> >
> >> > I'm working features for the PEAR2 website. The site uses Pyrus and
> >> > SimpleChannelFrontend (SCF) as the data source.
> >> >
> >> > I have a few of questions about Pyrus and SCF:
> >> >
> >> > 1. I can get package dependencies of a package using:
> >> > $package->dependencies['required']->package
> >> > The returned object is iterable. How come it isn't also
> >> > countable?
> >> >
> >> > 2. Similarly, how come I can iterate a package to get releases
> >> > but can not count the package to count the number of releases?
> >> >
> >> > 3. How can I get a list of maintainers for a package including
> >> > full name and email address?
> >> >
> >> > 4. How can I get a list of the categories a package belongs to?
> >> >
> >> > 5. Is there any documentation? Even the class docs in the source
> >> > code are missing. This code is going to be hard to maintain in
> >> > the future since there are no explanations present in the code.
> >>
> >> Your best bet is to look at the unit tests for pyrus, and help
> >> document it. Basically you're using an object that represents the
> >> package.xml file.
> >>
> > I had a look at the unit tests to get maintainers. In pear2web, when I
> > do:
> >
> > foreach ($context->maintainer as $maintainer) {
> > }
> >
> > I get:
> >
> > PEAR2\Pyrus\Channel\Exception: Unable to locate a package release for
> > pear2.php.net/PEAR2_Autoload that can satisfy all dependencies
> > in
> > /so/servers/zest/sites/pearweb/pear2.php.net/trunk/includes/Pyrus/src/Pyrus/Channel/RemotePackage.php
> > on line 832
> >
> > Any idea what I'm doing wrong?
>
> The default config uses preferred state of stable. Should probably set
> it to devel for our purposes.
>
I'm not sure where the config is set for the PEAR2Web code.
I'm also making the menu into a savant template as you suggested. I'm
having trouble passing the menu data as a context to the
savant->render() call. Is it not possible to pass an array as a context?
I tried passing the array as an ArrayObject and it fails in a different
way. Whey you pass ArrayObject it gets transformed into an ObjectProxy
\Traversable object. Unfortunately, this object does not have the array
access methods.
I have a couple of other Savant questions as well:
1. Is there a method I can call to escape a value for display, or does
this happen automatically?
2. Is there a method I can call to tidy-indent a block of output?
Lastly, I've removed the <div class="clearfix"> elements. All this stuff
is pending in my working copy until I can get the maintainers and menu
template working.
Cheers,
Mike