Skip to content
Snippets Groups Projects
Commit ee3c1f69 authored by Guillaume ROUSSE's avatar Guillaume ROUSSE
Browse files

drop unused executables

parent a3b7e158
Branches
Tags
No related merge requests found
#!/usr/bin/perl
## Initialize Rose::DB code given the DB structure
use strict;
use warnings;
use lib qw(lib conf);
use Rose::DB;
use Rose::DB::Object::Loader;
use Getopt::Long;
use Conf;
my %options;
unless (GetOptions(\%options, 'database=s')) {
die "Unknown options.";
}
my $dbname = $options{'database'} || $Conf::global{'database_name'};
$loader = Rose::DB::Object::Loader->new(
db_dsn => 'dbi:'
. $Conf::global{'database_type'}
. ':dbname='
. $dbname
. ';host='
. $Conf::global{'database_host'},
db_username => $Conf::global{'database_user'},
db_password => $Conf::global{'database_password'},
db_options => { AutoCommit => 1, ChopBlanks => 1 },
class_prefix => 'IdPAccountManager::Data',
#with_unique_keys => 0,
);
$loader->make_modules(
with_managers => 1,
module_dir => '/tmp',
#with_relationships => ['one to many','many to one']
);
printf
"Database-related code created in /tmp/IdPAccountManager. You should copy this code in lib/ directory\n";
#!/usr/bin/env perl
use Modern::Perl;
## script to generate a single PDF file with all POD documentation
## Based on https://gist.github.com/wki/2277444
BEGIN {
if (@ARGV != 2) {
print STDERR "usage: $0 DIR OUTPUT\n";
exit 1;
}
}
{
# a simple class that uses App::pod2pdf to create pdfs containing many pod files
# The hierarchical outline is generated on the fly while traversing directories
package MultiPDF;
use Moose;
use Path::Class;
use App::pod2pdf;
has parser => (
is => 'ro',
isa => 'App::pod2pdf',
lazy => 1,
default => sub { App::pod2pdf->new },
);
has pdf => (
is => 'ro',
isa => 'PDF::API2',
lazy => 1,
builder => '_build_pdf',
);
sub _build_pdf {
my $self = shift;
$self->parser->{pdf},;
}
sub process_file {
my $self = shift;
my $file = shift;
say "processing file: $file";
$self->parser->parse_from_file($file->stringify);
$self->parser->formfeed;
return $self;
}
sub process_dir {
my $self = shift;
my $dir = Path::Class::Dir->new(shift);
my %structure; # { _outline => PDF::API2::Outline }
$dir->recurse(
depthfirst => 1,
callback => sub {
my $file = shift;
return
if !-f $file || $file->basename !~ m{[.](?:pm|pod|pl) \z}xms;
## Look for POD tags to skip files without documentation
my $fh = $file->open or die "Failed to open " . $file->basename;
my $has_pod = 0;
while (<$fh>) {
$has_pod = 1 if (/^=head1/);
}
close $fh;
return unless ($has_pod);
my $nr_pages = $self->pdf->pages;
$self->process_file($file);
my $name = $file->basename;
$name =~ s{[.]\w+ \z}{}xms;
my $tree = \%structure;
my $outline = $structure{_outline} ||=
$self->pdf->outlines->outline;
foreach my $part (grep { $_ ne '.' }
$file->relative($dir)->dir->dir_list, $name)
{
$tree = $tree->{$part} ||=
{ _outline => $outline->outline };
$outline = $tree->{_outline};
$outline->title($part);
}
$outline->dest($self->pdf->openpage($nr_pages));
}
);
return $self;
}
sub print {
my $self = shift;
$self->parser->output;
}
sub save_as {
my $self = shift;
my $path = shift;
$self->pdf->saveas($path);
}
}
MultiPDF->new->process_dir($ARGV[0])->save_as($ARGV[1]);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment