| WordPress-API documentation | Contained in the WordPress-API distribution. |
WordPress::Base::Content
use WordPress::Base::Content 'all';
use WordPress::XMLRPC;
my $wp = new WordPress::XMLRPC({
proxy => 'http://mysite/xmlrpc.php',
username => 'leo',
password => 'pazz',
});
my $struct = abs_path_to_media_object_data('/home/my/picture.jpg');
my $result = $wp->newMediaObject($struct) or die( $wp->errstr );
print STDERR "uploaded to ". $result->{url};
This is for dealing with files, slurping, cleaning up text, whatever. Nothing is exported by default.
Arg is abs path, turns into data structure expected as arg to upload with WordPress::XMLRPC methods. You would normally use a binary file for this.
Argument is a path. Returns filename part.
Argument is abs path, returns file bits in MIME::Base64
Argument is abs path, returns mime type
File::Type MIME::Base64
File::Type MIME::Base64 WordPress::API WordPress::XMLRPC
Leo Charre leocharre at cpan dot org
| WordPress-API documentation | Contained in the WordPress-API distribution. |
package WordPress::Base::Content; use strict; use Carp; use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS); use Exporter; @ISA = qw/Exporter/; $VERSION = sprintf "%d.%02d", q$Revision: 1.2 $ =~ /(\d+)/g; @EXPORT_OK = qw(get_mime_type get_file_bits get_file_name abs_path_to_media_object_data); %EXPORT_TAGS = ( 'all' => \@EXPORT_OK ); # optionally we can request other files to get mime on sub get_mime_type { my $abs = shift; $abs or confess('missing arg'); require File::Type; my $ft = new File::Type; my $type = $ft->mime_type($abs) or die('missing mime'); return $type; } sub get_file_bits { my $abs_path = shift; $abs_path or die; # from http://search.cpan.org/~gaas/MIME-Base64-3.07/Base64.pm require MIME::Base64; open(FILE, $abs_path) or die($!); my $bits; my $buffer; while( read(FILE, $buffer, (60*57)) ) { $bits.= $buffer; } return $bits; } sub get_file_name { my $string = shift; $string or croak('missing path'); $string=~s/^.+\/+|\/+$//g; return $string; } sub abs_path_to_media_object_data { my $abs_path = shift; $abs_path or croak('missing path arg'); my $struct ={ name => get_file_name($abs_path), type => get_mime_type($abs_path), bits => get_file_bits($abs_path), }; return $struct; } 1; __END__