Files
dojo/lib/Dojo/Model/Vuelo.pm

96 lines
2.2 KiB
Perl
Raw Normal View History

2018-07-13 19:06:08 -05:00
package Dojo::Model::Vuelo;
use Mojo::File 'path';
use Mojo::JSON qw(decode_json encode_json);
use Dojo::Support qw{ dmph merge_hash load_module };
use File::Basename;
use Text::Markdown qw{ markdown };
use Encode qw{ decode_utf8 };
use DBI;
use Dojo::Conf;
sub new { bless {}, shift };
sub mod{
my $q="select nombre,contenido from casa;";
2018-07-18 04:28:26 -05:00
return \@{_read($q)};
2018-07-13 19:06:08 -05:00
}
2018-07-18 04:28:26 -05:00
sub umod{
my $c=shift;
my $q="update casa set contenido = ? where nombre = 'mod' ;";
return _write($q,@_);
}
2018-07-13 19:06:08 -05:00
sub pang{
my ($c,$q)=@_;
return {map { basename($_,".md") => load_md("public/$_")}@{$q->{md}}};
}
sub cal {
2018-07-18 04:28:26 -05:00
my $block=_read (path("public/home/cal/q1Block.q")->slurp);
my $data=_read (path("public/home/cal/q3Event.q")->slurp);
2018-07-13 19:06:08 -05:00
return ($data,$block);
}
sub event{
my ($self,$id)=@_;
2018-07-18 04:28:26 -05:00
return _read (path("public/home/event/qEvent.q")->slurp,$id);
2018-07-13 19:06:08 -05:00
}
sub store{
2018-07-18 04:28:26 -05:00
return _read (path("public/home/store/qStore.q")->slurp);
2018-07-13 19:06:08 -05:00
}
sub tv{
2018-07-18 04:28:26 -05:00
my $series = _read (path("public/home/tv/qSeries.q")->slurp); #group,name
my $table = _read (path("public/home/tv/qTable.q")->slurp); #name,order,group
2018-07-13 19:06:08 -05:00
return ($series,$table);
}
sub podcast{
my $txt = path("public/home/podcast/text.txt")->slurp;
my $hash = decode_json path("public/home/podcast/jsonPod.json")->slurp;
return ($txt,$hash);
}
sub radio{
my $q="select contenido as rmod from casa where nombre='rmod';";
2018-07-18 04:28:26 -05:00
return _read($q);
2018-07-13 19:06:08 -05:00
}
sub _read{
2018-07-18 04:28:26 -05:00
my ($q,@bind)=@_;
2018-07-13 19:06:08 -05:00
my (@empty,$arr);
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::VUELODB.":".Dojo::Conf::VUELODB_H,Dojo::Conf::VUELODB_UR,Dojo::Conf::VUELODB_URP);
return \@empty unless($dbh);
#$dbh->do(qq{SET NAMES 'utf8'});
my $h=$dbh->selectall_arrayref($q,{ Slice => {} },@bind);
#((col1=>d1,col2=>d1),(col1=>d2,col2=>d2))
$dbh->disconnect();
return $h;
}
2018-07-18 04:28:26 -05:00
sub _write{
my $q=shift;
my (@empty);
my $dbh = DBI->connect("DBI:mysql:".Dojo::Conf::VUELODB.":".Dojo::Conf::VUELODB_H,Dojo::Conf::VUELODB_UW,Dojo::Conf::VUELODB_UWP);
return 0 unless($dbh);
my $h=$dbh->do($q,{ Slice => {} },@_);
$dbh->disconnect();
return $h;
}
2018-07-13 19:06:08 -05:00
sub load_md{
return "" unless
my $text = path(shift)->slurp;
return markdown( decode_utf8($text) );
}
sub load_txt{
return "" unless
my $text = path(shift)->slurp;
return decode_utf8($text);
}
2018-07-17 23:26:10 +00:00
1;