incubator-kitty-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthew Sacks <matt...@matthewsacks.com>
Subject Fwd: Undelivered Mail Returned to Sender
Date Wed, 24 Nov 2010 00:16:26 GMT
Can we change commits to go to kitty-dev?

Begin forwarded message:

> From: MAILER-DAEMON@eris.apache.org (Mail Delivery System)
> Date: November 23, 2010 3:16:41 PM PST
> To: msacks@apache.org
> Subject: Undelivered Mail Returned to Sender
> 
> This is the mail system at host eris.apache.org.
> 
> I'm sorry to have to inform you that your message could not
> be delivered to one or more recipients. It's attached below.
> 
> For further assistance, please send mail to postmaster.
> 
> If you do so, please include this problem report. You can
> delete your own text from the attached returned message.
> 
>                   The mail system
> 
> <kitty-commits@incubator.apache.org>: host mx1.us.apache.org[140.211.11.136]
>    said: 550 mail to kitty-commits@incubator.apache.org not accepted here (in
>    reply to RCPT TO command)
> Reporting-MTA: dns; eris.apache.org
> X-Postfix-Queue-ID: 3116A2388903
> X-Postfix-Sender: rfc822; msacks@apache.org
> Arrival-Date: Tue, 23 Nov 2010 23:16:21 +0000 (UTC)
> 
> Final-Recipient: rfc822; kitty-commits@incubator.apache.org
> Action: failed
> Status: 5.0.0
> Remote-MTA: dns; mx1.us.apache.org
> Diagnostic-Code: smtp; 550 mail to kitty-commits@incubator.apache.org not
>    accepted here
> 
> From: msacks@apache.org
> Date: November 23, 2010 3:16:21 PM PST
> To: kitty-commits@incubator.apache.org
> Subject: svn commit: r1038377 - in /incubator/kitty/site: ./ trunk/ trunk/cgi-bin/ trunk/content/
trunk/content/kitty/ trunk/lib/ trunk/lib/path.pm trunk/lib/view.pm trunk/templates/
> 
> 
> Author: msacks
> Date: Tue Nov 23 23:16:20 2010
> New Revision: 1038377
> 
> URL: http://svn.apache.org/viewvc?rev=1038377&view=rev
> Log:
> added cms site template
> 
> Added:
>    incubator/kitty/site/
>    incubator/kitty/site/trunk/
>    incubator/kitty/site/trunk/cgi-bin/
>    incubator/kitty/site/trunk/content/
>    incubator/kitty/site/trunk/content/kitty/
>    incubator/kitty/site/trunk/lib/
>    incubator/kitty/site/trunk/lib/path.pm
>    incubator/kitty/site/trunk/lib/view.pm
>    incubator/kitty/site/trunk/templates/
> 
> Added: incubator/kitty/site/trunk/lib/path.pm
> URL: http://svn.apache.org/viewvc/incubator/kitty/site/trunk/lib/path.pm?rev=1038377&view=auto
> ==============================================================================
> --- incubator/kitty/site/trunk/lib/path.pm (added)
> +++ incubator/kitty/site/trunk/lib/path.pm Tue Nov 23 23:16:20 2010
> @@ -0,0 +1,39 @@
> +package path;
> +use ASF::Value;
> +
> +# taken from django's url.py
> +
> +our @patterns = (
> +        [qr!\.mdtext$!, single_narrative => { template => "single_narrative.html"
}],
> +
> +        [qr!/sitemap\.html$!, sitemap => { headers => { title => "Kitty Sitemap"
}} ],
> +
> +) ;
> +
> +# for specifying interdependencies between files
> +
> +our %dependencies = (
> +    "/kitty/sitemap.html" => [ grep s!^content!!, glob "content/kitty/*.mdtext" ],
> +);
> +
> +1;
> +
> +=head1 LICENSE
> +
> +           Licensed to the Apache Software Foundation (ASF) under one
> +           or more contributor license agreements.  See the NOTICE file
> +           distributed with this work for additional information
> +           regarding copyright ownership.  The ASF licenses this file
> +           to you under the Apache License, Version 2.0 (the
> +           "License"); you may not use this file except in compliance
> +           with the License.  You may obtain a copy of the License at
> +
> +             http://www.apache.org/licenses/LICENSE-2.0
> +
> +           Unless required by applicable law or agreed to in writing,
> +           software distributed under the License is distributed on an
> +           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +           KIND, either express or implied.  See the License for the
> +           specific language governing permissions and limitations
> +           under the License.
> +
> 
> Added: incubator/kitty/site/trunk/lib/view.pm
> URL: http://svn.apache.org/viewvc/incubator/kitty/site/trunk/lib/view.pm?rev=1038377&view=auto
> ==============================================================================
> --- incubator/kitty/site/trunk/lib/view.pm (added)
> +++ incubator/kitty/site/trunk/lib/view.pm Tue Nov 23 23:16:20 2010
> @@ -0,0 +1,201 @@
> +package view;
> +
> +#
> +# BUILD CONSTRAINT:  all views must return $content, $extension.
> +# additional return values (as seen below) are optional.  However,
> +# careful use of symlinks and dependency management in path.pm can
> +# resolve most issues with this constraint.
> +#
> +
> +use strict;
> +use warnings;
> +use Dotiac::DTL qw/Template/;
> +use Dotiac::DTL::Addon::markup;
> +use ASF::Util qw/read_text_file shuffle/;
> +use File::Temp qw/tempfile/;
> +use LWP::Simple;
> +
> +push @Dotiac::DTL::TEMPLATE_DIRS, "templates";
> +
> +# This is most widely used view.  It takes a
> +# 'template' argument and a 'path' argument.
> +# Assuming the path ends in foo.mdtext, any files
> +# like foo.page/bar.mdtext will be parsed and
> +# passed to the template in the "bar" (hash)
> +# variable.
> +
> +sub single_narrative {
> +    my %args = @_;
> +    my $file = "content$args{path}";
> +    my $template = $args{template};
> +    $args{path} =~ s/\.mdtext$/\.html/;
> +    $args{breadcrumbs} = breadcrumbs($args{path});
> +
> +    read_text_file $file, \%args;
> +
> +    my $page_path = $file;
> +    $page_path =~ s/\.[^.]+$/.page/;
> +    if (-d $page_path) {
> +        for my $f (grep -f, glob "$page_path/*.mdtext") {
> +            $f =~ m!/([^/]+)\.mdtext$! or die "Bad filename: $f\n";
> +            $args{$1} = {};
> +            read_text_file $f, $args{$1};
> +        }
> +    }
> +
> +#	$args{sidenav} = {};
> +#	read_text_file "templates/sidenav.mdtext", $args{sidenav} ;
> +
> +#	select STDOUT ;
> +#	$| = 1 ;
> +#	for my $ke (keys %args) {
> +#		print STDOUT "$ke \n";
> +#	}
> +
> +    return Dotiac::DTL::Template($template)->render(\%args), html => \%args;
> +}
> +
> +# Has the same behavior as the above for foo.page/bar.txt
> +# files, parsing them into a bar variable for the template.
> +# Otherwise presumes the template is the path.
> +
> +sub news_page {
> +    my %args = @_;
> +    my $template = "content$args{path}";
> +    $args{breadcrumbs} = breadcrumbs($args{path});
> +
> +    my $page_path = $template;
> +    $page_path =~ s/\.[^.]+$/.page/;
> +    if (-d $page_path) {
> +        for my $f (grep -f, glob "$page_path/*.mdtext") {
> +            $f =~ m!/([^/]+)\.mdtext$! or die "Bad filename: $f\n";
> +            $args{$1} = {};
> +            read_text_file $f, $args{$1};
> +        }
> +    }
> +
> +    for ((fetch_doap_url_list())[0..2]) {
> +        push @{$args{projects}}, parse_doap($_);
> +    }
> +
> +    return Dotiac::DTL::Template($template)->render(\%args), html => \%args;
> +}
> +
> +sub sitemap {
> +    my %args = @_;
> +    my $template = "content$args{path}";
> +    $args{breadcrumbs} .= breadcrumbs($args{path});
> +    my $dir = $template;
> +    $dir =~ s!/[^/]+$!!;
> +    opendir my $dh, $dir or die "Can't opendir $dir: $!\n";
> +    my %data;
> +    for (map "$dir/$_", grep $_ ne "." && $_ ne ".." && $_ ne ".svn",
readdir $dh) {
> +        if (-f and /\.mdtext$/) {
> +            my $file = $_;
> +            $file =~ s/^content//;
> +            no warnings 'once';
> +            for my $p (@path::patterns) {
> +                my ($re, $method, $args) = @$p;
> +                next unless $file =~ $re;
> +                my $s = view->can($method) or die "Can't locate method: $method\n";
> +                my ($content, $ext, $vars) = $s->(path => $file, %$args);
> +                $file =~ s/\.mdtext$/.$ext/;
> +                $data{$file} = $vars;
> +                last;
> +            }
> +        }
> +    }
> +
> +    my $content = "";
> +
> +    for (sort keys %data) {
> +        $content .= "- [$data{$_}->{headers}->{title}]($_)\n";
> +        for my $hdr (grep /^#/, split "\n", $data{$_}->{content}) {
> +            $hdr =~ /^(#+)\s+([^#]+)?\s+\1\s+\{#([^}]+)\}$/ or next;
> +            my $level = length $1;
> +            $level *= 4;
> +            $content .= " " x $level;
> +            $content .= "- [$2]($_#$3)\n";
> +        }
> +    }
> +    $args{content} = $content;
> +    return Dotiac::DTL::Template($template)->render(\%args), html => \%args;
> +}
> +
> +sub exports {
> +    my %args = @_;
> +    my $template = "content$args{path}";
> +    $args{breadcrumbs} = breadcrumbs($args{path});
> +
> +    my $page_path = $template;
> +    $page_path =~ s/\.[^.]+$/.page/;
> +    if (-d $page_path) {
> +        for my $f (grep -f, glob "$page_path/*.mdtext") {
> +            $f =~ m!/([^/]+)\.mdtext$! or die "Bad filename: $f\n";
> +            $args{$1} = {};
> +            read_text_file $f, $args{$1};
> +        }
> +        $args{table} = `xsltproc $page_path/eccnmatrix.xsl $page_path/eccnmatrix.xml`;
> +
> +    }
> +
> +    return Dotiac::DTL::Template($template)->render(\%args), html => \%args;
> +}
> +
> +sub parse_doap {
> +    my $url = shift;
> +    my $doap = get $url or die "Can't get $url: $!\n";
> +    my ($fh, $filename) = tempfile("XXXXXX");
> +    print $fh $doap;
> +    close $fh;
> +    my $result = eval `xsltproc lib/doap2perl.xsl $filename`;
> +    unlink $filename;
> +    return $result;
> +}
> +
> +sub fetch_doap_url_list {
> +    my $xml = get "http://svn.apache.org/repos/asf/infrastructure/site-tools/trunk/projects/files.xml"
> +        or die "Can't get doap file list: $!\n";
> +    my ($fh, $filename) = tempfile("XXXXXX");
> +    print $fh $xml;
> +    close $fh;
> +    chomp(my @urls = grep /^http/, `xsltproc lib/list2urls.xsl $filename`);
> +    unlink $filename;
> +    shuffle \@urls;
> +    return @urls;
> +}
> +
> +1;
> +
> +sub breadcrumbs {
> +    my @path = split m!/!, shift;
> +    pop @path;
> +    my @rv;
> +    my $relpath = "";
> +    for (@path) {
> +        $relpath .= "$_/";
> +        $_ ||= "Home";
> +        push @rv, qq(<a href="$relpath">\u$_</a>);
> +    }
> +    return join "&nbsp;&raquo&nbsp;", @rv;
> +}
> +
> +
> +=head1 LICENSE
> +
> +           Licensed to the Apache Software Foundation (ASF) under one
> +           or more contributor license agreements.  See the NOTICE file
> +           distributed with this work for additional information
> +           regarding copyright ownership.  The ASF licenses this file
> +           to you under the Apache License, Version 2.0 (the
> +           "License"); you may not use this file except in compliance
> +           with the License.  You may obtain a copy of the License at
> +
> +             http://www.apache.org/licenses/LICENSE-2.0
> +
> +           Unless required by applicable law or agreed to in writing,
> +           software distributed under the License is distributed on an
> +           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +           KIND, either express or implied.  See the License for the
> +           specific language governing permissions and limitations
> +           under the License.
> 
> 
> 
> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message