view release on metacpan or search on metacpan
examples/upload-file-async.pl view on Meta::CPAN
my $bucket = $b2->bucket_from_id( $bucket_id );
await collect(
map {
my $file = $_;
$bucket->upload_file(
bucketId => $bucket_id,
file => $file,
)->then(sub {
my( $res ) = @_;
print "$file uploaded\n";
})->catch(sub {
warn "@_"
});
} @files );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
package Backblaze::B2V2Client;
# API client library for V2 of the API to Backblaze B2 object storage
# Allows for creating/deleting buckets, listing files in buckets, and uploading/downloading files
$Backblaze::B2V2Client::VERSION = '1.7';
# our dependencies:
use Cpanel::JSON::XS;
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
$self->{account_id} = $self->{b2_response}{accountId};
$self->{api_url} = $self->{b2_response}{apiUrl};
$self->{account_authorization_token} = $self->{b2_response}{authorizationToken};
$self->{download_url} = $self->{b2_response}{downloadUrl};
# for uploading large files
$self->{recommended_part_size} = $self->{b2_response}{recommendedPartSize} || 104857600;
# ready!
# otherwise, not ready!
} else {
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
# return current status
return $self->{current_status};
}
# method to upload a file into Backblaze B2
sub b2_upload_file {
my $self = shift;
my (%args) = @_;
# this must include valid entries for 'new_file_name' and 'bucket_name'
# and it has to include either the raw file contents in 'file_contents'
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
$args{new_file_name} = path( $args{file_location} )->basename;
}
# were these file contents either provided or found?
if (!length($args{file_contents})) {
$self->error_tracker(qq{You must provide either a valid 'file_location' or 'file_contents' arg for b2_upload_file().});
return 'Error';
}
# check the other needed args
if (!$args{bucket_name} || !$args{new_file_name}) {
$self->error_tracker(qq{You must provide 'bucket_name' and 'new_file_name' args for b2_upload_file().});
return 'Error';
}
# default content-type
$args{content_type} ||= 'b2/x-auto';
# OK, let's continue: get the upload URL and authorization token for this bucket
$self->b2_get_upload_url( $args{bucket_name} );
# send the special request
$self->b2_talker(
'url' => $self->{bucket_info}{ $args{bucket_name} }{upload_url},
'authorization' => $self->{bucket_info}{ $args{bucket_name} }{authorization_token},
'file_contents' => $args{file_contents},
'special_headers' => {
'X-Bz-File-Name' => uri_escape( $args{new_file_name} ),
'X-Bz-Content-Sha1' => sha1_hex( $args{file_contents} ),
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
# return current status
return $self->{current_status};
}
# method to get the information needed to upload into a specific B2 bucket
sub b2_get_upload_url {
my $self = shift;
# the bucket name is required
my ($bucket_name) = @_;
# bucket_name is required
if (!$bucket_name) {
$self->error_tracker('The bucket_name must be provided for b2_get_upload_url().');
return $self->{current_status};
}
# no need to proceed if we already have done for this bucket this during this session
# return if $self->{bucket_info}{$bucket_name}{upload_url};
# COMMENTED OUT: It seems like B2 wants a new upload_url endpoint for each upload,
# and we may want to upload multiple files into each bucket...so this won't work
# if we don't have the info for the bucket name, retrieve the bucket's ID
if (ref($self->{buckets}{$bucket_name}) ne 'HASH') {
$self->b2_list_buckets($bucket_name);
}
# send the request
$self->b2_talker(
'url' => $self->{api_url}.'/b2api/v2/b2_get_upload_url',
'authorization' => $self->{account_authorization_token},
'post_params' => {
'bucketId' => $self->{buckets}{$bucket_name}{bucket_id},
},
);
# if we succeeded, get the info for this bucket
if ($self->{current_status} eq 'OK') {
$self->{bucket_info}{$bucket_name} = {
'upload_url' => $self->{b2_response}{uploadUrl},
'authorization_token' => $self->{b2_response}{authorizationToken},
};
}
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
return $self->{current_status};
}
# method to upload a large file (>100MB)
sub b2_upload_large_file {
my $self = shift;
my (%args) = @_;
# this must include valid entries for 'new_file_name' and 'bucket_name'
# and it has to a valid location in 'file_location' (Do not load in file contents)
# also, you can include 'content_type' (which would be the MIME Type'
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
# did they provide a file location or path?
if ($args{file_location} && -e "$args{file_location}") {
# if they didn't provide a file-name, use the one on this file
$args{new_file_name} = path( $args{file_location} )->basename;
} else {
$self->error_tracker(qq{You must provide a valid 'file_location' arg for b2_upload_large_file().});
return $self->{current_status};
}
# protect my sanity...
my ($bucket_name, $file_contents_part, $file_location, $large_file_id, $part_number, $remaining_file_size, $sha1_array, $size_sent, $stat);
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
$bucket_name = $args{bucket_name};
# must be 100MB or bigger
$stat = path($file_location)->stat;
if ($stat->size < $self->{recommended_part_size} ) {
$self->error_tracker(qq{Please use b2_upload_large_file() for files larger than $self->{recommended_part_size} .});
return $self->{current_status};
}
# need a bucket name
if (!$bucket_name) {
$self->error_tracker(qq{You must provide a valid 'bucket_name' arg for b2_upload_large_file().});
return $self->{current_status};
}
# default content-type
$args{content_type} ||= 'b2/x-auto';
# get the bucket ID
$self->b2_list_buckets($bucket_name);
# kick off the upload in the API
$self->b2_talker(
'url' => $self->{api_url}.'/b2api/v2/b2_start_large_file',
'authorization' => $self->{account_authorization_token},
'post_params' => {
'bucketId' => $self->{buckets}{$bucket_name}{bucket_id},
'fileName' => $args{new_file_name},
'contentType' => $args{content_type},
},
);
# these are all needed for each b2_upload_part web call
$large_file_id = $self->{b2_response}{fileId};
return 'Error' if !$large_file_id; # there was an error in the request
# open the large file
open(FH, $file_location);
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
$size_sent = $remaining_file_size;
} else {
$size_sent = $self->{recommended_part_size} ;
}
# get the next upload url for this part
$self->b2_talker(
'url' => $self->{api_url}.'/b2api/v2/b2_get_upload_part_url',
'authorization' => $self->{account_authorization_token},
'post_params' => {
'fileId' => $large_file_id,
},
);
# read in that section of the file and prep the SHA
sysread FH, $file_contents_part, $size_sent;
push(@$sha1_array,sha1_hex( $file_contents_part ));
# upload that part
$self->b2_talker(
'url' => $self->{b2_response}{uploadUrl},
'authorization' => $self->{b2_response}{authorizationToken},
'special_headers' => {
'X-Bz-Content-Sha1' => $$sha1_array[-1],
'X-Bz-Part-Number' => $part_number,
'Content-Length' => $size_sent,
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
sub b2_talker {
my $self = shift;
# args hash must include 'url' for the target API endpoint URL
# most other requests will also include a 'post_params' hashref, and 'authorization' value for the header
# for the b2_upload_file function, there will be several other headers + a file_contents arg
my (%args) = @_;
if (!$args{url}) {
$self->error_tracker('Can not use b2_talker() without an endpoint URL.');
}
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
$self->error_tracker("Problem logging into Backblaze. Please check the 'errors' array in this object.", $args{url});
return $self->{current_status};
}
# are we uploading a file?
if ($args{url} =~ /b2_upload_file|b2_upload_part/) {
# add the special headers
@header_keys = keys %{ $args{special_headers} };
foreach $header (@header_keys) {
$self->{mech}->delete_header( $header );
$self->{mech}->add_header( $header => $args{special_headers}{$header} );
}
# now upload the file
eval {
$response = $self->{mech}->post( $args{url}, content => $args{file_contents} );
# we want this to be 200
$response_code = $response->{_rc};
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
# remove those special headers, cleaned-up for next time
foreach $header (@header_keys) {
$self->{mech}->delete_header( $header );
}
# if not uploading and they sent POST params, we are doing a POST
} elsif (ref($args{post_params}) eq 'HASH') {
eval {
# send the POST
$response = $self->{mech}->post( $args{url}, content => encode_json($args{post_params}) );
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
# please encrypt/protect those keys when not in use!
# let's say we have a B2 bucket called 'GingerAnna' and a JPG called 'ginger_was_perfect.jpg'.
# upload a file from your file system
my $operation_status = $b2client->b2_upload_file(
'bucket_name' => 'GingerAnna',
'file_location' => '/path/to/ginger_was_perfect.jpg'
);
# upload a file you have in a scalar
my $operation_status = $b2client->b2_upload_file(
'bucket_name' => 'GingerAnna',
'new_file_name' => 'ginger_was_perfect.jpg',
'file_contents' => $file_contents
);
# B2 file ID (fGUID) is now in $b2client->{b2_response}{fileId}
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
when not in use by your software.
=head2 b2_client Command Line Utility
Backblaze::B2V2Client includes the 'b2_client' command line utility to
easily download or upload files from B2. Please execute 'b2_client help'
for more details, and here are a few examples:
# download a file to current directory
b2_client get MyPictures FamilyPhoto.jpg
# download a file to a target directory
b2_client get MyPictures FamilyPhoto.jpg /home/ginger/photos
# upload a file to B2
b2_client put MyPictures /home/ginger/photos/AnotherFamilyPhoto.jpg
There is also an official command line utility from Backblaze that does a
whole lot more:
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
and file name as arguments. The optional third argument is an existing
directory path for auto-saving the file.
See https://www.backblaze.com/b2/docs/b2_download_file_by_name.html
=head2 b2_upload_file
Uploads a new file into B2. Accepts a hash of arguments. The name
of the destination bucket must be provided in 'bucket_name'.
If you would like to upload a file already saved on disk, specify
the complete file path in 'file_location'. Alternatively, if the file
is loaded up into a scalar, provide the new file name in 'new_file_name'
and assign the loaded scalar into 'file_contents'.
Example 1: Uploading from a file on disk:
my $operation_status = $b2client->b2_upload_file(
'bucket_name' => 'GingerAnna',
'file_location' => '/opt/majestica/tmp/ginger_was_perfect.jpg',
);
Example 2: Uploading when the file is loaded into a scalar:
my $operation_status = $b2client->b2_upload_file(
'bucket_name' => 'GingerAnna',
'new_file_name' => 'ginger_was_perfect.jpg',
'file_contents' => $file_contents
);
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
(I believe 'read_file' in File::Slurp will work, but have yet to test.)
You can also pass a 'content-type' key with the MIME type for the new
file. The default is 'b2/auto'.
Upon a successful upload, the new GUID for the file will be available
in $b2client->{b2_response}{fileId} .
See: https://www.backblaze.com/b2/docs/b2_upload_file.html
=head2 b2_upload_large_file
Uploads a large file into B2. Recommended for uploading files larger
than 100MB. Accepts a hash of arguments, which
must include the name of the destination bucket in 'bucket_name'
and the complete file path of the file in 'file_location'.
Example:
my $operation_status = $b2client->b2_upload_large_file(
'bucket_name' => 'GingerAnna',
'file_location' => '/opt/majestica/tmp/gingers_whole_life_story.mp4',
);
=head2 b2_list_file_names
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
my $operation_status = $b2client->b2_delete_bucket('DeletingBucketName');
=head2 b2_delete_file_version
Deletes a version of a file, AKA a stored object. If you use unique
file names for each file you upload, then one version equals one file.
If you upload multiple files with the same name under a single bucket,
you will create multiple versions of a particular file in B2.
The required arguments are the file name and the file ID.
Example:
my $operation_status = $b2client->b2_delete_file_version('SomeFileName.ext','AN84_CHAR_GUID_FROM_B2');
=head2 b2_talker / b2_get_upload_url / b2_list_buckets
b2_talker() handles all the communications with B2.
You should be able to use this to make calls not explicitly
provided by this library.
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
'param3_name' => 'param3_value',
},
);
Almost all the API calls use the Account Authorization Token for the
authorization header, but the file uploader calls require a bucket-specific
token and upload URL. You can retrieve these via b2_get_upload_url()
with the bucket name as an argument.
Example:
my $operation_status = $b2client->b2_get_upload_url('MyBucketName');
This populates:
my $operation_status = $b2client->{bucket_info}{'MyBucketName'} = {
'upload_url' => $b2client->{b2_response}{uploadUrl},
'authorization_token' => $b2client->{b2_response}{authorizationToken},
};
Note: You have to call b2_get_upload_url on a bucket for each file
upload operation. My b2_upload_file method does that for you, so that's
just FYI if you roll your own.
See: https://www.backblaze.com/b2/docs/b2_get_upload_url.html
If you need the ID for one or more buckets, you can use b2_list_buckets. If
a bucket name is provided, only that bucket's ID will be retrieved. If no
argument is provided, all the ID's will be retrieved for all buckets in your
account.
lib/Backblaze/B2V2Client.pm view on Meta::CPAN
=head1 AUTHOR / BUGS
Eric Chernoff <ericschernoff@gmail.com> - Please send me a note with any bugs or suggestions.
ESTRABD <estrabd@cpan.org> - Enhanced b2_list_file_names() to fully use options and a great bugfix
when using the 'file_contents' option in the b2_upload_file() method.
=head1 LICENSE
MIT License
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Backblaze/B2V4.pm view on Meta::CPAN
package Backblaze::B2V4;
# API client library for V2 of the API to Backblaze B2 object storage
# Allows for creating/deleting buckets, listing files in buckets, and uploading/downloading files
use strict;
use warnings;
our $VERSION = "0.05";
lib/Backblaze/B2V4.pm view on Meta::CPAN
}
my $b2_response = {};
my $response;
# are we uploading a file?
if ($args->url =~ /b2_upload_file|b2_upload_part/) {
# now upload the file
eval {
$response = HTTP::Tiny->new->post($api_url, {
'headers' => $headers,
'content' => $args->file_contents
});
$b2_response = decode_json( $response->{content} );
};
# if not uploading and they sent POST params, we are doing a POST
} elsif ($args->post_params) {
eval {
$response = HTTP::Tiny->new->post($api_url, {
'headers' => $headers,
'content' => encode_json($args->post_params)
lib/Backblaze/B2V4.pm view on Meta::CPAN
# return file contents
return $response;
}
# method to upload a file into Backblaze B2
signature_for b2_upload_file => (
method => true,
named => [
new_file_name => NonEmptyStr, { optional => true },
bucket_name => NonEmptyStr,
content_type => Str, { optional => true, default => 'b2/x-auto' },
lib/Backblaze/B2V4.pm view on Meta::CPAN
file_contents => Value, { optional => true },
],
returns => Bool|Str,
);
sub b2_upload_file ($self, $args) {
# send the file contents?
my $file_contents = $args->file_contents;
my $new_file_name = $args->new_file_name;
# did they provide a file location or path?
lib/Backblaze/B2V4.pm view on Meta::CPAN
}
}
if (!$file_contents) {
return $self->error_tracker(
'error_message' => qq{You must provide either a valid 'file_location' or 'file_contents' arg for b2_upload_file()},
'url' => 'b2_upload_file',
);
}
if (!$new_file_name || !$args->bucket_name) {
return $self->error_tracker(
'error_message' => qq{You must provide 'bucket_name' and 'new_file_name' args for b2_upload_file().},
'url' => 'b2_upload_file',
);
}
my $content_type = $args->content_type || 'b2/x-auto';
my $upload_info = $self->b2_get_upload_info( bucket_name => $args->bucket_name );
if (!$upload_info) {
return 0;
}
# send the special request
my $response = $self->send_request(
'url' => $upload_info->{upload_url},
'authorization' => $upload_info->{authorization_token},
'file_contents' => $file_contents,
'headers' => {
'X-Bz-File-Name' => uri_escape( $new_file_name ),
'X-Bz-Content-Sha1' => sha1_hex( $file_contents ),
'Content-Type' => $content_type,
lib/Backblaze/B2V4.pm view on Meta::CPAN
);
return $self->current_status_is_not_ok ? 0 : $response->{fileId};
}
# method to get the information needed to upload into a specific B2 bucket
signature_for b2_get_upload_info => (
method => true,
named => [
bucket_name => NonEmptyStr,
],
returns => HashRef|Bool,
);
sub b2_get_upload_info ($self, $args) {
my $response = $self->send_request(
'url' => 'b2_get_upload_url',
'post_params' => {
'bucketId' => $self->b2_get_bucket_id(
'bucket_name' => $args->bucket_name,
),
},
lib/Backblaze/B2V4.pm view on Meta::CPAN
if (!$response) {
return 0;
}
return {
'upload_url' => $response->{uploadUrl},
'authorization_token' => $response->{authorizationToken},
};
}
signature_for b2_get_bucket_id => (
lib/Backblaze/B2V4.pm view on Meta::CPAN
);
return $self->current_status_is_not_ok ? 0 : 1;
}
# method to upload a large file (>100MB)
signature_for b2_upload_large_file => (
method => true,
named => [
new_file_name => NonEmptyStr,
bucket_name => NonEmptyStr,
file_location => NonEmptyStr,
content_type => NonEmptyStr, { optional => true, default => 'b2/x-auto' },
],
returns => Bool|Str,
);
sub b2_upload_large_file ($self, $args) {
# did they provide a file location or path?
if ($args->file_location && -e $args->file_location) {
# if they didn't provide a file-name, use the one on this file
$args->new_file_name = path( $args->file_location )->basename;
} else {
return $self->error_tracker(
'error_message' => "You must provide a valid 'file_location' arg for b2_upload_large_file().",
);
}
# must be 100MB or bigger
my $stat = path($args->file_location)->stat;
if ($stat->size < $self->api_info->{recommended_part_size} ) {
return $self->error_tracker(
'error_message' => 'Please use b2_upload_large_file() for files larger than ' . $self->api_info->{recommended_part_size},
);
}
# default content-type
$args->content_type ||= 'b2/x-auto';
my $bucket_id = $self->b2_get_bucket_id($args->bucket_name);
if (!$bucket_id) {
return $self->error_tracker(
'error_message' => 'Can not upload to ' . $args->bucket_name . ' because bucket not found.',
);
}
# kick off the upload in the API
my $response = $self->send_request(
'url' => 'b2_start_large_file',
'post_params' => {
'bucketId' => $bucket_id,
'fileName' => $args->new_file_name,
'contentType' => $args->content_type,
},
);
# these are all needed for each b2_upload_part web call
my $large_file_id = $response->{fileId};
if (!$bucket_id) {
return $self->error_tracker(
'error_message' => 'Error in b2_upload_large_file for ' . $args->new_file_name,
);
}
# open the large file
open(my $fh, $args->file_location);
lib/Backblaze/B2V4.pm view on Meta::CPAN
$size_sent = $remaining_file_size;
} else {
$size_sent = $self->apit_info->{recommended_part_size};
}
# get the next upload url for this part
$self->send_request(
'url' => 'b2_get_upload_part_url',
'post_params' => {
'fileId' => $large_file_id,
},
);
# read in that section of the file and prep the SHA
my $file_contents_part;
sysread $fh, $file_contents_part, $size_sent;
push(@sha1_array, sha1_hex( $file_contents_part ));
# upload that part
$self->send_request(
'url' => $response->{uploadUrl},
'authorization' => $response->{authorizationToken},
'headers' => {
'X-Bz-Content-Sha1' => $sha1_array[-1],
'X-Bz-Part-Number' => $part_number,
'Content-Length' => $size_sent,
lib/Backblaze/B2V4.pm view on Meta::CPAN
);
# please encrypt/protect those keys when not in use!
# let's say we have a B2 bucket called 'GingerAnna' and a JPG called 'ginger_was_perfect.jpg'.
# upload a file from your file system
my $response = $b2->b2_upload_file(
bucket_name => 'GingerAnna',
file_location => '/path/to/ginger_was_perfect.jpg'
);
# upload a file you have in a scalar
my $response = $b2->b2_upload_file(
bucket_name => 'GingerAnna',
new_file_name => 'ginger_was_perfect.jpg',
file_contents => $file_contents
);
# B2 file ID (fGUID) is now in $response->{fileId}
lib/Backblaze/B2V4.pm view on Meta::CPAN
when not in use by your software.
=head2 b2_client Command Line Utility
Backblaze::B2V4 includes the 'b2_client' command line utility to
easily download or upload files from B2. Please execute 'b2_client help'
for more details, and here are a few examples:
# download a file to current directory
b2_client get MyPictures FamilyPhoto.jpg
# download a file to a target directory
b2_client get MyPictures FamilyPhoto.jpg /home/ginger/photos
# upload a file to B2
b2_client put MyPictures /home/ginger/photos/AnotherFamilyPhoto.jpg
There is also an official command line utility from Backblaze that does a
whole lot more:
lib/Backblaze/B2V4.pm view on Meta::CPAN
If you would like to auto-save the file, provide a path to an
existing directory via the 'save_to_location' argument.
See https://www.backblaze.com/b2/docs/b2_download_file_by_name.html
=head2 b2_upload_file
Uploads a new file into B2. Accepts these named arguments:
bucket_name => required, name of destination bucket,
content_type => optional mime type; defaults to b2/x-auto,
file_location => optional, full path of file to upload incl name
new_file_name => optional, filename for file on B2
file_contents => optional scalar with file contents
If you do not provide 'file_location', then you need to provide
'new_file_name' and 'file_contents' (or vice versa).
lib/Backblaze/B2V4.pm view on Meta::CPAN
to load the scalar using the 'slurp_raw' method in Path::Tiny.
(I believe 'read_file' in File::Slurp will work, but have yet to test.)
If successful, returns the GUID for the new file (aka the fileId); otherwise
returns 0.
See: https://www.backblaze.com/b2/docs/b2_upload_file.html
Example 1: Uploading from a file on disk:
my $file_id = $b2->b2_upload_file(
bucket_name => 'GingerAnna',
file_location => '/opt/majestica/tmp/ginger_was_perfect.jpg',
);
Example 2: Uploading when the file is loaded into a scalar:
my $file_id = $b2->b2_upload_file(
bucket_name => 'GingerAnna',
new_file_name => 'ginger_was_perfect.jpg',
file_contents => $file_contents
);
=head2 b2_upload_large_file
Uploads a large file into B2. Recommended for uploading files larger
than 100MB.
Example:
my $file_id = $b2->b2_upload_large_file(
bucket_name => 'GingerAnna',
file_location => '/opt/majestica/tmp/gingers_whole_life_story.mp4',
);
=head2 b2_list_file_info
lib/Backblaze/B2V4.pm view on Meta::CPAN
);
=head2 b2_delete_file_version
Deletes a version of a file, AKA a stored object. If you use unique
file names for each file you upload, then one version equals one file.
If you upload multiple files with the same name under a single bucket,
you will create multiple versions of a particular file in B2.
Required named args
file_name => the name of the file
lib/Backblaze/B2V4.pm view on Meta::CPAN
Pass 1 for 'auto_create_bucket' to make the bucket if one does not exist for your 'bucket_name'
and return the new bucket ID. If you pass 0 for 'auto_create_bucket' and the bucket doesn't
exist, you will receive back a 0.
=head2 b2_get_upload_info
Almost all the API calls use the Account Authorization Token for the
authorization header, but the file uploader calls require a bucket-specific
token and upload URL. You can retrieve these via b2_get_upload_info()
with the bucket name as an argument.
Example:
my $results = $b2->b2_get_upload_info(
bucket_name => 'MyBucketName'
);
The %$results hash now has 'upload_url' and 'authorization_token'
Note: You have to call b2_get_upload_info on a bucket for each file
upload operation. My b2_upload_file method does that for you, so that's
just FYI if you roll your own.
See: https://www.backblaze.com/b2/docs/b2_get_upload_info.html
=head2 send_request
send_request() handles all the communications with B2.
You should be able to use this to make calls not explicitly
lib/Backblaze/B2V4.pm view on Meta::CPAN
=head1 AUTHOR / BUGS
Eric Chernoff <eric@weaverstreet.net> - Please send me a note with any bugs or suggestions.
ESTRABD <estrabd@cpan.org> - Enhanced b2_list_file_names() to fully use options and a great bugfix
when using the 'file_contents' option in the b2_upload_file() method.
=head1 LICENSE
MIT License
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Backed_Objects.pm view on Meta::CPAN
C<do_insert> should set object ID after it is saved into the database.
C<post_process> is called by C<insert> after the object is inserted into
the database (and the object ID is set). It can be used for amending the
object with operations which require some object ID, for example for
uploading files into a folder with name being based on the ID.
C<post_process> is also called by C<update>.
=cut
lib/Backed_Objects.pm view on Meta::CPAN
the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Backed_Objects>. I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.
In the current version of C<Backed_Objects> there are no provision for passing
file handles for example got from a HTML form with a C<file> control.
A complexity is that usually to upload a file we need to already know the
ID of a row in a database what is possible only I<after> inserting into the DB.
Your suggestions how to deal with this problem are welcome.
=head1 SUPPORT
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Backup/Duplicity/YADW.pm view on Meta::CPAN
$self->_get_verbosity( \@cmd );
$self->_get_exclude_device_files( \@cmd );
$self->_get_incl_excl_list( \@cmd );
$self->_get_encrypt_key( \@cmd );
$self->_get_log_file( \@cmd );
$self->_get_async_upload( \@cmd );
$self->_get_s3_new( \@cmd );
$self->_get_sourcedir( \@cmd );
$self->_get_targetdir( \@cmd );
$self->_system(@cmd);
lib/Backup/Duplicity/YADW.pm view on Meta::CPAN
$str .= "/$locaction" if $locaction;
push( @$cmds, $str );
}
sub _get_async_upload {
args_pos
my $self,
my $cmds;
if ( $self->_conf()->get('asyncupload') ) {
push @$cmds, '--asynchronous-upload';
}
}
sub _get_incl_excl_list {
view all matches for this distribution
view release on metacpan or search on metacpan
Badger is the base platform for version 3 of the Template Toolkit
(coming RSN) and has portability and ease of installation as primary
goals. Non-core Badger add-on modules can make as much use of CPAN
as they like (something that is usually to be encouraged) but the
Badger core will always be dependency-free to keep it
upload-to-your-ISP friendly.
FURTHER INFORMATION
See the documentation included with the Badger modules, starting with
Badger.pm. Or look online:
view all matches for this distribution
view release on metacpan or search on metacpan
0.12 Sat Jul 26 2014
- Touching up a few lose ends.
0.11 Mon Jul 21 2014
- Re-uploading to CPAN, as the 'Changes' file was not properly updated.
0.10 Mon Jul 21 2014
- Fixed some issues and documentation. Uploaded to CPAN.
0.08 Sun Jul 20 2014
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Barcode/Code93.pm view on Meta::CPAN
=item *
CPAN Testers
The CPAN Testers is a network of smoke testers who run automated tests on uploaded CPAN distributions.
L<http://www.cpantesters.org/distro/B/Barcode-Code93>
=item *
view all matches for this distribution
view release on metacpan or search on metacpan
location = root
[@Filter]
-bundle = @Basic
-remove = GatherDir
;-remove = UploadToCPAN ; uncomment to prevent CPAN upload
[Git::Tag]
signed = 1
[Git::Commit]
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bb/Collaborate/V3/Multimedia.pm view on Meta::CPAN
Bb::Collaborate::V3::Multimedia - Multimedia entity class
=head1 DESCRIPTION
This command uploads supported multimedia files into your ELM repository for use by your Collaborate sessions.
Once uploaded, you will need to "attach" the file to one or more Collaborate
sessions using the L<Bb::Collaborate::V3::Session> C<set_multimedia()>
method.
=cut
lib/Bb/Collaborate/V3/Multimedia.pm view on Meta::CPAN
has 'description' => (is => 'rw', isa => 'Str');
=head2 size (Int)
The size of the multimedia file (bytes), once uploaded to the ELM repository.
=cut
has 'size' => (is => 'rw', isa => 'Int');
lib/Bb/Collaborate/V3/Multimedia.pm view on Meta::CPAN
=head1 METHODS
=cut
=head2 upload
Uploads content and creates a new multimedia resource.
You can either upload a file:
# 1. upload a local file
my $multimedia1 = Bb::Collaborate::V3::Multimedia->upload('c:\\Documents\intro.wav');
or source binary content:
# 2. source our own binary content
open (my $fh, '<', $multimedia_path)
lib/Bb/Collaborate/V3/Multimedia.pm view on Meta::CPAN
my $content = do {local $/ = undef; <$fh>};
die "no multimedia data: $multimedia_path"
unless ($content);
my $multimedia2 = Bb::Collaborate::V3::Multimedia->upload(
{
filename => 'whoops.wav',
creatorId => 'alice',
content => $content,
description => 'Caravan destroys service station',
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Beagle/Web.pm view on Meta::CPAN
}
sub add_attachments {
shift @_ if @_ && $_[0] eq 'Beagle::Web';
my ( $entry, @attachments ) = @_;
for my $upload (@attachments) {
next unless $upload;
my $basename = decode_utf8 $upload->filename;
$basename =~ s!\\!/!g;
$basename =~ s!.*/!!;
my $att = Beagle::Model::Attachment->new(
name => $basename,
content_file => $upload->tempname,
parent_id => $entry->id,
);
$bh->create_attachment( $att,
message => 'added attachment '
. $basename
view all matches for this distribution
view release on metacpan or search on metacpan
beamer-reveal-example_files/libs/bootstrap/bootstrap-icons.css view on Meta::CPAN
.bi-cloud-sleet::before { content: "\f2ba"; }
.bi-cloud-snow-fill::before { content: "\f2bb"; }
.bi-cloud-snow::before { content: "\f2bc"; }
.bi-cloud-sun-fill::before { content: "\f2bd"; }
.bi-cloud-sun::before { content: "\f2be"; }
.bi-cloud-upload-fill::before { content: "\f2bf"; }
.bi-cloud-upload::before { content: "\f2c0"; }
.bi-cloud::before { content: "\f2c1"; }
.bi-clouds-fill::before { content: "\f2c2"; }
.bi-clouds::before { content: "\f2c3"; }
.bi-cloudy-fill::before { content: "\f2c4"; }
.bi-cloudy::before { content: "\f2c5"; }
beamer-reveal-example_files/libs/bootstrap/bootstrap-icons.css view on Meta::CPAN
.bi-union::before { content: "\f5fe"; }
.bi-unlock-fill::before { content: "\f5ff"; }
.bi-unlock::before { content: "\f600"; }
.bi-upc-scan::before { content: "\f601"; }
.bi-upc::before { content: "\f602"; }
.bi-upload::before { content: "\f603"; }
.bi-vector-pen::before { content: "\f604"; }
.bi-view-list::before { content: "\f605"; }
.bi-view-stacked::before { content: "\f606"; }
.bi-vinyl-fill::before { content: "\f607"; }
.bi-vinyl::before { content: "\f608"; }
view all matches for this distribution
view release on metacpan or search on metacpan
data/wiki0.html view on Meta::CPAN
<meta name="generator" content="MediaWiki 1.38.0-wmf.9"/>
<meta name="referrer" content="origin"/>
<meta name="referrer" content="origin-when-crossorigin"/>
<meta name="referrer" content="origin-when-cross-origin"/>
<meta name="format-detection" content="telephone=no"/>
<meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/G%C3%A9iseres_del_Tatio%2C_Atacama%2C_Chile%2C_2016-02-01%2C_DD_01-02_HDR.JPG/1200px-G%C3%A9iseres_del_Tatio%2C_Atacama%2C_Chile%2C_2016-02-01%2C_DD_01-02_HD...
<meta property="og:image:width" content="1200"/>
<meta property="og:image:height" content="800"/>
<meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/G%C3%A9iseres_del_Tatio%2C_Atacama%2C_Chile%2C_2016-02-01%2C_DD_01-02_HDR.JPG/800px-G%C3%A9iseres_del_Tatio%2C_Atacama%2C_Chile%2C_2016-02-01%2C_DD_01-02_HDR...
<meta property="og:image:width" content="800"/>
<meta property="og:image:height" content="533"/>
<meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/G%C3%A9iseres_del_Tatio%2C_Atacama%2C_Chile%2C_2016-02-01%2C_DD_01-02_HDR.JPG/640px-G%C3%A9iseres_del_Tatio%2C_Atacama%2C_Chile%2C_2016-02-01%2C_DD_01-02_HDR...
<meta property="og:image:width" content="640"/>
<meta property="og:image:height" content="427"/>
<meta property="og:title" content="Wikipedia, the free encyclopedia"/>
<meta property="og:type" content="website"/>
<link rel="preconnect" href="//upload.wikimedia.org"/>
<link rel="alternate" media="only screen and (max-width: 720px)" href="//en.m.wikipedia.org/wiki/Main_Page"/>
<link rel="alternate" type="application/atom+xml" title="Wikipedia picture of the day feed" href="/w/api.php?action=featuredfeed&feed=potd&feedformat=atom"/>
<link rel="alternate" type="application/atom+xml" title="Wikipedia featured articles feed" href="/w/api.php?action=featuredfeed&feed=featured&feedformat=atom"/>
<link rel="alternate" type="application/atom+xml" title="Wikipedia "On this day..." feed" href="/w/api.php?action=featuredfeed&feed=onthisday&feedformat=atom"/>
<link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"/>
data/wiki0.html view on Meta::CPAN
<tbody><tr>
<td id="mp-left" class="MainPageBG mp-bordered">
<h2 id="mp-tfa-h2" class="mp-h2"><span id="From_today.27s_featured_article"></span><span class="mw-headline" id="From_today's_featured_article">From today's featured article</span></h2>
<div id="mp-tfa"><div id="mp-tfa-img" style="float: left; margin: 0.5em 0.9em 0.4em 0em;">
<div class="thumbinner mp-thumb" style="background: transparent; border: none; padding: 0; max-width: 171px;">
<a href="/wiki/File:G%C3%A9iseres_del_Tatio,_Atacama,_Chile,_2016-02-01,_DD_01-02_HDR.JPG" class="image" title="Geysers of El Tatio"><img alt="Geysers of El Tatio" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/5d/G%C3%A9iseres_del_Tatio%2C_At...
</div>
<p><b><a href="/wiki/El_Tatio" title="El Tatio">El Tatio</a></b> is a geothermal field with many <a href="/wiki/Geyser" title="Geyser">geysers</a> located in the <a href="/wiki/Andes" title="Andes">Andes</a> of <a href="/wiki/Norte_Grande" title="Nor...
</p>
<div class="tfa-recent" style="text-align: right;">
Recently featured: <div class="hlist hlist-separated inline">
data/wiki0.html view on Meta::CPAN
</div></div>
<h2 id="mp-dyk-h2" class="mp-h2"><span class="mw-headline" id="Did_you_know_...">Did you know ...</span></h2>
<div id="mp-dyk">
<div class="dyk-img" style="float: right; margin-left: 0.5em;">
<div class="thumbinner mp-thumb" style="background: transparent; border: none; padding: 0; max-width: 178px;">
<a href="/wiki/File:Lampetra_fluviatilis.jpg" class="image" title="European river lamprey"><img alt="European river lamprey" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/3f/Lampetra_fluviatilis.jpg/178px-Lampetra_fluviatilis.jpg" decoding="a...
</div>
<ul><li>... that on special occasions, the city of Gloucester supplies a <b><a href="/wiki/Lamprey_pie" title="Lamprey pie">pie made from lampreys</a></b> <i>(lamprey pictured)</i> to the British monarch?</li>
<li>... that in the board game <i><b><a href="/wiki/Sagrada_(board_game)" title="Sagrada (board game)">Sagrada</a></b></i>, players attempt to construct a <a href="/wiki/Stained_glass" title="Stained glass">stained-glass window</a> using dice?</li>
<li>... that economist <b><a href="/wiki/Nisvan_Erkal" title="Nisvan Erkal">Nisvan Erkal</a></b><span class="nowrap">'s</span> research showed that China's <a href="/wiki/One-child_policy" title="One-child policy">one-child policy</a> created chi...
<li>... that all stanzas of the 1963 song "<b><a href="/wiki/Herr,_gib_uns_Mut_zum_H%C3%B6ren" title="Herr, gib uns Mut zum Hören">Herr, gib uns Mut zum Hören</a></b>" (Lord, give us courage to listen), with text and tune by Kurt Rommel, begin with...
data/wiki0.html view on Meta::CPAN
</td>
<td id="mp-right" class="MainPageBG mp-bordered">
<h2 id="mp-itn-h2" class="mp-h2"><span class="mw-headline" id="In_the_news">In the news</span></h2>
<div id="mp-itn"><style data-mw-deduplicate="TemplateStyles:r1053378754">.mw-parser-output .itn-img{float:right;margin-left:0.5em;margin-top:0.2em}</style><div role="figure" class="itn-img">
<div class="thumbinner mp-thumb" style="background: transparent; border: none; padding: 0; max-width: 171px;">
<a href="/wiki/File:2020_Indian_farmers%27_protest_-_sitting_protest.jpg" class="image" title="Indian farmers protesting on the March to Delhi in November 2020"><img alt="Indian farmers protesting on the March to Delhi in November 2020" src="//upload...
</div>
<ul><li>The <a href="/wiki/2020_Indian_agriculture_acts" title="2020 Indian agriculture acts">Indian agriculture acts</a> are repealed after <b><a href="/wiki/2020%E2%80%932021_Indian_farmers%27_protest" title="2020â2021 Indian farmers' protest...
<li><a href="/wiki/Xiomara_Castro" title="Xiomara Castro">Xiomara Castro</a> <b><a href="/wiki/2021_Honduran_general_election" title="2021 Honduran general election">is elected</a></b> as the first female <a href="/wiki/President_of_Honduras" title="...
<li><b><a href="/wiki/Magdalena_Andersson" title="Magdalena Andersson">Magdalena Andersson</a></b>, who resigned a week earlier after less than one day as <a href="/wiki/Prime_minister%E2%80%93designate" title="Prime ministerâdesignate">prime minis...
<li>Barbados <b><a href="/wiki/Republicanism_in_Barbados" title="Republicanism in Barbados">becomes a republic</a></b>, with <a href="/wiki/Sandra_Mason" title="Sandra Mason">Sandra Mason</a> replacing <a href="/wiki/Elizabeth_II" title="Elizabeth II...
data/wiki0.html view on Meta::CPAN
<div id="mp-otd">
<p><b><a href="/wiki/December_3" title="December 3">December 3</a></b>
</p>
<div style="float:right;margin-left:0.5em;" id="mp-otd-img">
<div class="thumbinner mp-thumb" style="background: transparent; border: none; padding: 0; max-width: 120px;">
<a href="/wiki/File:Emmeline_Freda_du_Faur,_by_George_Edward_Mannering_(1862-1947).jpg" title="Freda Du Faur"><img alt="Freda Du Faur" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Emmeline_Freda_du_Faur%2C_by_George_Edward_Mannering_%2818...
</div>
<ul><li><a href="/wiki/1800" title="1800">1800</a> â <a href="/wiki/War_of_the_Second_Coalition" title="War of the Second Coalition">War of the Second Coalition</a>: French forces defeated Austrian and Bavarian troops at the <b><a href="/wiki/Battl...
<li><a href="/wiki/1910" title="1910">1910</a> â <b><a href="/wiki/Freda_Du_Faur" title="Freda Du Faur">Freda Du Faur</a></b> <i>(pictured)</i> became the first woman to climb <a href="/wiki/Aoraki_/_Mount_Cook" title="Aoraki / Mount Cook">Mount Co...
<li><a href="/wiki/1968" title="1968">1968</a> â <a href="/wiki/Elvis_Presley" title="Elvis Presley">Elvis Presley</a>'s first television special and first live performance in seven years, <i><b><a href="/wiki/Elvis_(1968_TV_program)" title="Elvis ...
<li><a href="/wiki/1976" title="1976">1976</a> â Jamaican <a href="/wiki/Reggae" title="Reggae">reggae</a> musician <b><a href="/wiki/Bob_Marley" title="Bob Marley">Bob Marley</a></b> survived <a href="/wiki/Attempted_assassination_of_Bob_Marley" t...
data/wiki0.html view on Meta::CPAN
</td></tr></tbody></table>
<div id="mp-middle" class="MainPageBG mp-bordered">
<div id="mp-center">
<h2 id="mp-tfl-h2" class="mp-h2"><span id="From_today.27s_featured_list"></span><span class="mw-headline" id="From_today's_featured_list">From today's featured list</span></h2>
<div id="mp-tfl"><div id="mp-tfl-img" style="float:right;margin:0.5em 0 0.4em 0.9em;"><div class="thumbinner mp-thumb" style="background: transparent; border: none; padding: 0; max-width: 140px;">
<a href="/wiki/File:British_2nd_Infantry_Division.svg" class="image" title="Divisional insignia used from c.â1940 until 2012"><img alt="Divisional insignia used from c.â1940 until 2012" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Bri...
</div>
<p>The <a href="/wiki/2nd_Infantry_Division_(United_Kingdom)" title="2nd Infantry Division (United Kingdom)">2nd Division</a>, a <a href="/wiki/Division_(military)" title="Division (military)">division</a> of <a href="/wiki/Infantry" title="Infantry"...
</p>
<div class="tfl-recent" style="text-align: right;">
Recently featured: <div class="hlist hlist-separated inline">
data/wiki0.html view on Meta::CPAN
<div id="mp-bottom">
<h2 id="mp-tfp-h2" class="mp-h2"><span id="Today.27s_featured_picture"></span><span class="mw-headline" id="Today's_featured_picture">Today's featured picture</span></h2>
<div id="mp-tfp">
<table role="presentation" style="margin:0 3px 3px; width:100%; box-sizing:border-box; text-align:center; background-color:transparent; border-collapse:collapse; padding:0.9em">
<tbody><tr>
<td><a href="/wiki/File:Russia_1771_Sestroretsk_Rouble.jpg" class="image" title="1771 Russian one-ruble coin"><img alt="1771 Russian one-ruble coin" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/41/Russia_1771_Sestroretsk_Rouble.jpg/450px-Rus...
</td></tr>
<tr>
<td style="padding:0 0.9em; text-align:left;">
<p>The <b><a href="/wiki/Ruble" title="Ruble">ruble</a></b> is the name of a currency unit in a number of countries in eastern Europe. This one-ruble coin was issued by the <a href="/wiki/Russian_Empire" title="Russian Empire">Russian Empire</a> in 1...
</p>
data/wiki0.html view on Meta::CPAN
<p>Wikipedia is hosted by the <a href="/wiki/Wikimedia_Foundation" title="Wikimedia Foundation">Wikimedia Foundation</a>, a non-profit organization that also hosts a range of other <a href="https://wikimediafoundation.org/our-work/wikimedia-projects/...
</p>
<div class="plainlist">
<ul id="sister-projects-list">
<li>
<div><a href="https://commons.wikimedia.org/wiki/" title="Commons"><img alt="Commons logo" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/31px-Commons-logo.svg.png" decoding="async" width="31" height="42" srcset="//upload.wiki...
<div><span><a href="https://commons.wikimedia.org/wiki/" class="extiw" title="c:">Commons</a></span><br />Free media repository</div>
</li>
<li>
<div><a href="https://www.mediawiki.org/wiki/" title="MediaWiki"><img alt="MediaWiki logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a6/MediaWiki-2020-icon.svg/35px-MediaWiki-2020-icon.svg.png" decoding="async" width="35" height="35" sr...
<div><span><a href="https://www.mediawiki.org/wiki/" class="extiw" title="mw:">MediaWiki</a></span><br />Wiki software development</div>
</li>
<li>
<div><a href="https://meta.wikimedia.org/wiki/" title="Meta-Wiki"><img alt="Meta-Wiki logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/7/75/Wikimedia_Community_Logo.svg/35px-Wikimedia_Community_Logo.svg.png" decoding="async" width="35" hei...
<div><span><a href="https://meta.wikimedia.org/wiki/" class="extiw" title="m:">Meta-Wiki</a></span><br />Wikimedia project coordination</div>
</li>
<li>
<div><a href="https://en.wikibooks.org/wiki/" title="Wikibooks"><img alt="Wikibooks logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/35px-Wikibooks-logo.svg.png" decoding="async" width="35" height="35" srcset="//upl...
<div><span><a href="https://en.wikibooks.org/wiki/" class="extiw" title="b:">Wikibooks</a></span><br />Free textbooks and manuals</div>
</li>
<li>
<div><a href="https://www.wikidata.org/wiki/" title="Wikidata"><img alt="Wikidata logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Wikidata-logo.svg/47px-Wikidata-logo.svg.png" decoding="async" width="47" height="26" srcset="//upload....
<div><span><a href="https://www.wikidata.org/wiki/" class="extiw" title="d:">Wikidata</a></span><br />Free knowledge base</div>
</li>
<li>
<div><a href="https://en.wikinews.org/wiki/" title="Wikinews"><img alt="Wikinews logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/24/Wikinews-logo.svg/51px-Wikinews-logo.svg.png" decoding="async" width="51" height="28" srcset="//upload.w...
<div><span><a href="https://en.wikinews.org/wiki/" class="extiw" title="n:">Wikinews</a></span><br />Free-content news</div>
</li>
<li>
<div><a href="https://en.wikiquote.org/wiki/" title="Wikiquote"><img alt="Wikiquote logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/35px-Wikiquote-logo.svg.png" decoding="async" width="35" height="41" srcset="//upl...
<div><span><a href="https://en.wikiquote.org/wiki/" class="extiw" title="q:">Wikiquote</a></span><br />Collection of quotations</div>
</li>
<li>
<div><a href="https://en.wikisource.org/wiki/" title="Wikisource"><img alt="Wikisource logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/35px-Wikisource-logo.svg.png" decoding="async" width="35" height="37" srcset="...
<div><span><a href="https://en.wikisource.org/wiki/" class="extiw" title="s:">Wikisource</a></span><br />Free-content library</div>
</li>
<li>
<div><a href="https://species.wikimedia.org/wiki/" title="Wikispecies"><img alt="Wikispecies logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikispecies-logo.svg/35px-Wikispecies-logo.svg.png" decoding="async" width="35" height="41" ...
<div><span><a href="https://species.wikimedia.org/wiki/" class="extiw" title="species:">Wikispecies</a></span><br />Directory of species</div>
</li>
<li>
<div><a href="https://en.wikiversity.org/wiki/" title="Wikiversity"><img alt="Wikiversity logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Wikiversity_logo_2017.svg/41px-Wikiversity_logo_2017.svg.png" decoding="async" width="41" heigh...
<div><span><a href="https://en.wikiversity.org/wiki/" class="extiw" title="v:">Wikiversity</a></span><br />Free learning tools</div>
</li>
<li>
<div><a href="https://en.wikivoyage.org/wiki/" title="Wikivoyage"><img alt="Wikivoyage logo" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Wikivoyage-Logo-v3-icon.svg/35px-Wikivoyage-Logo-v3-icon.svg.png" decoding="async" width="35" heig...
<div><span><a href="https://en.wikivoyage.org/wiki/" class="extiw" title="voy:">Wikivoyage</a></span><br />Free travel guide</div>
</li>
<li>
<div><a href="https://en.wiktionary.org/wiki/" title="Wiktionary"><img alt="Wiktionary logo" src="//upload.wikimedia.org/wikipedia/en/thumb/0/06/Wiktionary-logo-v2.svg/35px-Wiktionary-logo-v2.svg.png" decoding="async" width="35" height="35" srcset=...
<div><span><a href="https://en.wiktionary.org/wiki/" class="extiw" title="wikt:">Wiktionary</a></span><br />Dictionary and thesaurus</div>
</li>
</ul>
</div></div>
<h2 id="mp-lang" class="mp-h2"><span class="mw-headline" id="Wikipedia_languages">Wikipedia languages</span></h2>
data/wiki0.html view on Meta::CPAN
<span>Contribute</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Int...
</div>
</nav>
<nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal" aria-labelledby="p-tb-label" role="navigation"
>
data/wiki0.html view on Meta::CPAN
<span>Tools</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Main_Page" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</sp...
</div>
</nav>
<nav id="p-coll-print_export" class="mw-portlet mw-portlet-coll-print_export vector-menu vector-menu-portal portal" aria-labelledby="p-coll-print_export-label" role="navigation"
>
data/wiki0.html view on Meta::CPAN
</ul>
</footer>
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.497","walltime":"0.631","ppvisitednodes":{"value":3962,"limit":1000000},"postexpandincludesize":{"value":124618,"limit":2097152},"templatearg...
<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Main Page","url":"https:\/\/en.wikipedia.org\/wiki\/Main_Page","sameAs":"http:\/\/www.wikidata.org\/entity\/Q5296","mainEntity":"http:\/\/www.wikidata.org...
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":124,"wgHostname":"mw1393"});});</script>
</body>
</html>
view all matches for this distribution
view release on metacpan or search on metacpan
0.07 2012-08-23
- Declare in META files that share/ is not to be indexed
[Randy Stauner]
0.06 2012-08-16
- re-release due to wrong upload subdir
0.05 2012-08-15
- Dist::Zill'ified
- lib/auto/ now share/
- add cargo perl6-std for P6STD plugin
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Devel/CheckOS.pm view on Meta::CPAN
have access to most of them and have had to work from information
gleaned from L<perlport> and a few other places. For a complete list of
OS families, see L<Devel::CheckOS::Families>.
If you want to add your own OSes or families, see L<Devel::AssertOS::Extending>
and please feel free to upload the results to the CPAN.
=head1 BUGS and FEEDBACK
I welcome feedback about my code, including constructive criticism.
Bug reports should be made using L<http://rt.cpan.org/> or by email.
view all matches for this distribution
view release on metacpan or search on metacpan
Revision history for BenchmarkAnything-Config
0.003 2015-09-29
- re-upload due to META/provides freakup
0.002 2015-09-28
- fix reading BENCHMARKANYTHING_CONFIGFILE in tests
0.001 2015-09-24
view all matches for this distribution
view release on metacpan or search on metacpan
Revision history for BenchmarkAnything-Reporter
0.003 2015-09-29
- re-upload due to META/provides freakup
0.002 2015-09-28
- adapt tests to new BenchmarkAnything::Config behavior
0.001 2015-09-24
view all matches for this distribution
view release on metacpan or search on metacpan
0.015 2015-09-23
- more refactoring of common methods between db backends
0.014 2015-09-17
- namespace confusion carnage - redo cpan upload
0.013 2015-09-17
- forked into different namespace to better fit the common theme
was: Tapper-Benchmark
now: BenchmarkAnything-Storage-Backend-SQL
view all matches for this distribution
view release on metacpan or search on metacpan
0.014 2016-03-01
- shorter mysql user in boilerplate default config files
0.013 2015-09-29
- re-upload due to META/provides freakup
0.012 2015-09-28
- adapt tests to new BenchmarkAnything::Config behavior
0.011 2015-09-28
view all matches for this distribution
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
make changelog
make dist
make disttest
@echo
@echo -n "Upload" Biblio-Isis-*.tar.gz "to CPAN? [y/N]:"
@read upload && test "$$upload" == "y" && cpan-upload -verbose Biblio-Isis-*.tar.gz
MAKE_MORE
}
view all matches for this distribution
view release on metacpan or search on metacpan
$(PERL) "-Ilib" "-MModule::Install::Admin" -e "remove_meta()"
$(RM_RF) inc
reset :: purge
upload :: test dist
cpan-upload -verbose $(DISTVNAME).tar$(SUFFIX)
grok ::
perldoc Module::Install
distsign ::
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Biblio/Refbase.pm view on Meta::CPAN
}
return $self->_search($account, $search);
}
sub upload {
my $self = shift;
unshift @_, 'content' if @_ % 2;
my %args = @_;
my $account = $self->_account_args(\%args);
my $upload = $self->_upload_args(\%args);
my $show = delete $args{show};
$show = %args unless defined $show;
my $search = $self->_search_args(\%args);
if (%args) {
croak q{Unknown arguments provided to 'upload' method:}
. join("\n ", '', sort keys %args) . "\n";
}
my $url = $account->{url} . REFBASE_IMPORT;
my $request = $upload->{uploadFile}
? POST $url, Content_Type => 'form-data', Content => $upload
: POST $url, $upload;
my $response = $self->_request($account, $request);
unless ($response->is_error) {
if (defined(my $location = $response->header('location'))) {
lib/Biblio/Refbase.pm view on Meta::CPAN
$param{client} = $self->{_client};
return \%param;
}
# setup upload parameters from arguments hash, dynamic and static defaults
sub _upload_args {
my ($self, $args) = @_;
my %param;
if (defined(my $content = delete $args->{content})) {
$param{uploadFile} = [ undef, 'filename', Content => $content ];
$param{formType} = 'import';
}
elsif (defined(my $source_ids = delete $args->{source_ids})) {
$param{sourceIDs} = ref $source_ids eq 'ARRAY'
? join ' ', @$source_ids
: $source_ids;
$param{formType} = 'importID';
}
else {
croak q{upload requires either record content supplied by parameter 'content' or }
. q{a list of record IDs in parameter 'source_ids'};
}
if (delete $args->{skipbad}) {
$param{skipBadRecords} = 1;
}
lib/Biblio/Refbase.pm view on Meta::CPAN
else {
print 'An error occurred: ', $response->status_line;
}
print "\n\n";
$response = $refbase->upload(
user => 'user@refbase.net', # Switch user for
password => 'user', # this request.
show => 1, # Return records
format => 'BibTeX', # in BibTeX format.
source_ids => [ # Upload records
lib/Biblio/Refbase.pm view on Meta::CPAN
print 'ID range of records: ' , $response->records, "\n";
print "Records:\n\n", $response->content;
}
# Upload records by supplying a string of content:
# $response = $refbase->upload( content => $content );
=head1 DESCRIPTION
Biblio::Refbase is an object-oriented interface to refbase
Web Reference Database sites.
lib/Biblio/Refbase.pm view on Meta::CPAN
view view type (HTML only): 'Web', 'Print' or 'Mobile'
Refer to L<"EXAMPLES"> section for a short tutorial and working code
snippets.
=item $response = $refbase->upload(%args);
Imports/uploads records to a refbase database.
As with the C<search> method, all instance-wide configured values can be
overridden on a per-request basis (except 'ua'). See C<search> method and
L<"ACCESSORS"> section.
The C<upload> method requires one of these two keys to be present in the
arguments hash:
content a string containing records in a format known by refbase
source_ids a string or list of record IDs recognized by refbase
lib/Biblio/Refbase.pm view on Meta::CPAN
C<search> method) are present, the method call will perform a search request
after importing. The search request will automatically set the record selection
to the new IDs of the freshly imported records (overridable by 'records' key)
and the maximum number of records to the number of records that have
been imported (overridable by 'rows' key). I.e. if 'show' is true and no
search field parameters are set, the C<upload> method will return all
imported records (in the desired/default format and style).
Refer to L<"EXAMPLES"> section for a short tutorial and working code
snippets.
=item $response = $refbase->upload($content, %args);
If the constructor is called with an uneven arguments list the first
element will be taken as 'content'.
=item $boolean = $refbase->ping;
lib/Biblio/Refbase.pm view on Meta::CPAN
=back
=head1 RESPONSE ACCESSOR METHODS
The C<search> and C<upload> methods return C<$response> objects.
A C<$response> object is a formerly instance of C<HTTP::Response>
that has been re-blessed into the package C<Biblio::Refbase::Response>.
This package subclasses C<HTTP::Response> and extends it by three fields
and the corresponding accessors. No methods are overridden.
lib/Biblio/Refbase.pm view on Meta::CPAN
0 search has found nothing
undef search has failed
=item $response->rows;
Returns the number of records that have been imported by an C<upload>
request.
=item $response->records;
Returns the record ID range of the imported records, i.e. the first ID and the
view all matches for this distribution
view release on metacpan or search on metacpan
0.002 2013-12-20 23:59:47-0600
- specify minimum Perl v5.14
0.001 2013-12-20 16:33:51-0600
- initial upload
view all matches for this distribution
view release on metacpan or search on metacpan
0.36 2009-05-17 00:00:00
- do local $@ before eval
- support Tk::getOpenFile and Tk::getSaveFile
- rewrite in pure batch file perl55.bat, perl56.bat, perl58.bat, and perl510.bat
- fixing world writable files in tarball before upload to CPAN [ #38127 ]
- created by INABA Hitoshi
0.35 2009-05-06 00:00:00
- support do, require, and use for user library
- upper compatible function ord and reverse functions only when demanded
view all matches for this distribution
view release on metacpan or search on metacpan
0.36 2009-05-17 00:00:00
- do local $@ before eval
- support Tk::getOpenFile and Tk::getSaveFile
- rewrite in pure batch file perl55.bat, perl56.bat, perl58.bat, and perl510.bat
- fixing world writable files in tarball before upload to CPAN [ #38127 ]
- created by INABA Hitoshi
0.35 2009-05-06 00:00:00
- support do, require, and use for user library
- upper compatible function ord and reverse functions only when demanded
view all matches for this distribution
view release on metacpan or search on metacpan
lib/BingoX/Chromium.pm view on Meta::CPAN
Object Method:
Generic form field method called by AUTOLOAD.
Gets the default field params based on the fieldname and returns the value
in a form file upload field or in viewable format if the displaymode is 'view'.
=cut
sub HTML_file {
my $self = shift;
lib/BingoX/Chromium.pm view on Meta::CPAN
: $q->filefield(
-NAME => $qfieldname,
-SIZE => $qoptions->{'-SIZE'} || 40,
-MAXLENGTH => $qoptions->{'-MAXLENGTH'} || 200,
-OVERRIDE => 1,
-DEFAULT => '' # browsers null defaults in upload fields anyway
);
} #END sub HTML_file
=back
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bintray/API.pm view on Meta::CPAN
my $package = $repo->package( name => 'mypackage' );
my $version = $package->version( name => '1.0' );
my $version_info = $version->info();
# Upload and Publish a file
$version->upload(
file => '/path/to/local/file',
repo_path => 'myfiles/file',
publish => 1,
);
lib/Bintray/API.pm view on Meta::CPAN
my $info = $version->info(); # Info
## Version Operations
# Upload
$version->upload(
file => '/path/to/local/file',
repo_path => 'myfiles/file',
# Optional params
publish => 0, # Publish on upload
explode => 0, # Upload an exploded archive
);
# Update details
$version->update(
view all matches for this distribution
view release on metacpan or search on metacpan
foswiki/WebStatistics.txt view on Meta::CPAN
%META:TOPICINFO{author="ProjectContributor" date="1231502400" format="1.1" version="1"}%
%META:TOPICPARENT{name="WebHome"}%
---++ Statistics for <nop>%WEB% Web
| *Month:* | *Topic <br /> views:* | *Topic <br /> saves:* | *File <br /> uploads:* | *Most popular <br /> topic views:* | *Top contributors for <br /> topic save and uploads:* |
| <!--statDate--> | <!--statViews--> | <!--statSaves--> | <!--statUploads--> | <!--statTopViews--> | <!--statTopContributors--> |
*Notes:*
* Do not edit this topic, it is updated automatically. (You can also [[%SCRIPTURL{"statistics"}%/%WEB%][force]] an update)
* [[%SYSTEMWEB%.SiteTools#WebStatistics_site_statistics][Site tools]] tells you how to enable the automatic updates of the statistics.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bio/CIPRES.pm view on Meta::CPAN
as a scalar, they should be provided directly as the scalar value to the
appropriate key:
my $job = $ua->submit_job( 'input.infile_' => $in_contents );
However, if the input file is to be uploaded by filename, it should be passed
as an array reference:
my $job = $ua->submit_job( 'input.infile_' => [$in_filename] );
Failure to understand the difference will result in errors either during job
view all matches for this distribution
view release on metacpan or search on metacpan
* added naama's stock_dbxrefprop from upstream chado
0.06302 2010-10-20 09:58:19 PST8PDT
* corrected homepage url in CPAN upload
0.06301 2010-10-19 17:49:41 PST8PDT
* corrected missing DBIx::Class::Tree::NestedSet dep
* relaxed dependency on Carp 1.08
0.05702
* that upload was a bit TOO clean, was missing the Build.PL!
0.05701
* corrected a dirty cpan upload
0.05700
* re-dumped with latest schema loader devel version
* stripped _id suffixes for a number of relationships that still had
(thanks to Siddhartha Basu for troubleshooting). Things break if
these are on and you don't have every part of the schema installed.
0.04300
* Corrected a rather dirty CPAN upload, Util.pod file was in the
wrong place.
0.04200
* removed Util.pm, replaced with Util.pod for documentation, moved
view all matches for this distribution