Major rework of piwigo_refresh.pl to also support updating already synced photos
Fix folder sync function was also updating files
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
# --directory=absolute path to your photos
|
||||
# [--caddie=0 or 1]
|
||||
# [--privacy_level=4 or 8]
|
||||
# [--meta_all=0 of 1]
|
||||
# [--cat=categorie_id]
|
||||
# [--subcat=0 or 1]
|
||||
|
||||
@@ -33,18 +34,19 @@ use Digest::MD5 qw/md5 md5_hex/;
|
||||
|
||||
my %opt = ();
|
||||
GetOptions(
|
||||
\%opt,
|
||||
qw/
|
||||
base_url=s
|
||||
site=s
|
||||
username=s
|
||||
password=s
|
||||
directory=s
|
||||
caddie=s
|
||||
privacy_level=s
|
||||
cat=s
|
||||
subcat=s
|
||||
/
|
||||
\%opt,
|
||||
qw/
|
||||
base_url=s
|
||||
site=s
|
||||
username=s
|
||||
password=s
|
||||
directory=s
|
||||
caddie=s
|
||||
privacy_level=s
|
||||
meta_all=s
|
||||
cat=s
|
||||
subcat=s
|
||||
/
|
||||
);
|
||||
|
||||
my $album_dir = $opt{directory};
|
||||
@@ -56,22 +58,23 @@ $ua->cookie_jar({});
|
||||
|
||||
my %conf;
|
||||
my %conf_default = (
|
||||
base_url => 'http://localhost:81/piwigogit',
|
||||
site => 1,
|
||||
username => 'plg',
|
||||
password => 'plg',
|
||||
caddie => 0,
|
||||
privacy_level => 4,
|
||||
cat => 162,
|
||||
subcat => 1,
|
||||
base_url => 'http://localhost:81/piwigogit',
|
||||
site => 1,
|
||||
username => 'plg',
|
||||
password => 'plg',
|
||||
caddie => 0,
|
||||
privacy_level => 4,
|
||||
meta_all => 0,
|
||||
cat => 162,
|
||||
subcat => 1,
|
||||
);
|
||||
foreach my $conf_key (keys %conf_default) {
|
||||
$conf{$conf_key} = defined $opt{$conf_key} ? $opt{$conf_key} : $conf_default{$conf_key}
|
||||
$conf{$conf_key} = defined $opt{$conf_key} ? $opt{$conf_key} : $conf_default{$conf_key}
|
||||
}
|
||||
|
||||
$ua->default_headers->authorization_basic(
|
||||
$conf{username},
|
||||
$conf{password}
|
||||
$conf{username},
|
||||
$conf{password}
|
||||
);
|
||||
|
||||
my $result = undef;
|
||||
@@ -89,65 +92,121 @@ piwigo_refresh();
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
sub piwigo_login {
|
||||
$ua->post(
|
||||
$conf{base_url}.'/ws.php?format=json',
|
||||
{
|
||||
method => 'pwg.session.login',
|
||||
username => $conf{username},
|
||||
password => $conf{password},
|
||||
}
|
||||
);
|
||||
$ua->post(
|
||||
$conf{base_url}.'/ws.php?format=json',
|
||||
{
|
||||
method => 'pwg.session.login',
|
||||
username => $conf{username},
|
||||
password => $conf{password},
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
sub piwigo_refresh {
|
||||
if ($conf{cat} > 0)
|
||||
{
|
||||
$ua->post(
|
||||
$conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},
|
||||
{
|
||||
sync => 'files',
|
||||
display_info => 0,
|
||||
add_to_caddie => $conf{caddie},
|
||||
privacy_level => $conf{privacy_level},
|
||||
sync_meta => 1,
|
||||
simulate => 0,
|
||||
cat => $conf{cat},
|
||||
'subcats-included' => $conf{subcat},
|
||||
submit => 1,
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$ua->post(
|
||||
$conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},
|
||||
{
|
||||
sync => 'files',
|
||||
display_info => 0,
|
||||
add_to_caddie => $conf{caddie},
|
||||
privacy_level => $conf{privacy_level},
|
||||
sync_meta => 1,
|
||||
simulate => 0,
|
||||
#cat => $conf{cat},
|
||||
'subcats-included' => $conf{subcat},
|
||||
submit => 1,
|
||||
}
|
||||
);
|
||||
}
|
||||
my $noMetaCat =
|
||||
[
|
||||
'sync' => 'files',
|
||||
'display_info' => 0,
|
||||
'add_to_caddie' => $conf{caddie},
|
||||
'privacy_level' => $conf{privacy_level},
|
||||
'sync_meta' => 1,
|
||||
'simulate' => 0,
|
||||
'cat' => $conf{cat},
|
||||
'subcats-included' => $conf{subcat},
|
||||
'submit' => 1,
|
||||
];
|
||||
my $wMetaCat =
|
||||
[
|
||||
'sync' => 'files',
|
||||
'display_info' => 0,
|
||||
'add_to_caddie' => $conf{caddie},
|
||||
'privacy_level' => $conf{privacy_level},
|
||||
'sync_meta' => 1,
|
||||
'meta_all' => $conf{meta_all},
|
||||
'simulate' => 0,
|
||||
'cat' => $conf{cat},
|
||||
'subcats-included' => $conf{subcat},
|
||||
'submit' => 1,
|
||||
];
|
||||
my $noMeta =
|
||||
[
|
||||
'sync' => 'files',
|
||||
'display_info' => 0,
|
||||
'add_to_caddie' => $conf{caddie},
|
||||
'privacy_level' => $conf{privacy_level},
|
||||
'sync_meta' => 1,
|
||||
'simulate' => 0,
|
||||
'subcats-included' => $conf{subcat},
|
||||
'submit' => 1,
|
||||
];
|
||||
my $wMeta =
|
||||
[
|
||||
'sync' => 'files',
|
||||
'display_info' => 0,
|
||||
'add_to_caddie' => $conf{caddie},
|
||||
'privacy_level' => $conf{privacy_level},
|
||||
'sync_meta' => 1,
|
||||
'meta_all' => $conf{meta_all},
|
||||
'simulate' => 0,
|
||||
'subcats-included' => $conf{subcat},
|
||||
'submit' => 1,
|
||||
];
|
||||
|
||||
if ($conf{cat} > 0)
|
||||
{
|
||||
if ($conf{meta_all} > 0)
|
||||
{
|
||||
$ua->post($conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},$wMetaCat);
|
||||
}
|
||||
else
|
||||
{
|
||||
$ua->post($conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},$noMetaCat);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($conf{meta_all} > 0)
|
||||
{
|
||||
$ua->post($conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},$wMeta);
|
||||
}
|
||||
else
|
||||
{
|
||||
$ua->post($conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},$noMeta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub piwigo_refreshFolder {
|
||||
$ua->post(
|
||||
$conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},
|
||||
{
|
||||
sync => 'dirs',
|
||||
display_info => 0,
|
||||
privacy_level => $conf{privacy_level},
|
||||
sync_meta => 1,
|
||||
simulate => 0,
|
||||
#cat => $conf{cat},
|
||||
'subcats-included' => 1,
|
||||
submit => 1,
|
||||
}
|
||||
);
|
||||
if ($conf{cat} > 0)
|
||||
{
|
||||
$ua->post(
|
||||
$conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},
|
||||
{
|
||||
'sync' => 'dirs',
|
||||
'display_info' => 0,
|
||||
'add_to_caddie' => 0,
|
||||
'privacy_level' => $conf{privacy_level},
|
||||
'sync_meta' => 0,
|
||||
'simulate' => 0,
|
||||
'cat' => $conf{cat},
|
||||
'subcats-included' => $conf{subcat},
|
||||
'submit' => 1,
|
||||
}
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$ua->post(
|
||||
$conf{base_url}.'/admin.php?page=site_update&site='.$conf{site},
|
||||
{
|
||||
'sync' => 'dirs',
|
||||
'display_info' => 0,
|
||||
'privacy_level' => $conf{privacy_level},
|
||||
'sync_meta' => 0,
|
||||
'simulate' => 0,
|
||||
'subcats-included' => 1,
|
||||
'submit' => 1,
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user