рдкрд┐рдХрд╛рд╕рд╛ рд╡реЗрдм рдПрд▓реНрдмрдо рдкрд░ рдмрд▓реНрдХ рд▓реЗрдмрд▓рд┐рдВрдЧ рдФрд░ рдЪрд┐рддреНрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛


рдЬреЛ рд▓реЛрдЧ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЪрд┐рддреНрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рд╢рд╛рдпрдж рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдХрдо рд╕реЗ рдХрдо рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЙрдирдХреЗ рд▓реЗрдЦрдХ рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ, рдирд╛рдо, рдХреЙрдкреАрд░рд╛рдЗрдЯ рдпрд╛ рдХреЙрдкреАрд▓реЗрдлреНрдЯ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЧреГрд╣рд┐рдгреА рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЧреНрд░рд╛рдлрд┐рдХ рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЦреЛрд▓реЗрдЧреА, "рдЯреЗрдХреНрд╕реНрдЯ" рдЯреВрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдкреАрдврд╝рд┐рдпреЛрдВ рдХреЛ рд╕реБрдВрджрд░ рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рд▓рд┐рдЦреЗрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдХрдИ рдЫрд╡рд┐рдпрд╛рдВ рд╣реИрдВ, рддреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдЙрдмрд╛рдК рд╣реЛ рдЬрд╛рддреА рд╣реИред рдФрд░ рд╣рдо, рд╕рдВрдХрд▓рди рдХрд╡рд┐ рдФрд░ рдХреЛрдб рдореВрд░реНрддрд┐рдХрд╛рд░, рд░рдЪрдирд╛рддреНрдордХ рд╡реНрдпрдХреНрддрд┐рддреНрд╡ рд╣реИрдВ, рд╣рдо рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЛ рдирд╛рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред

рдлреЛрдЯреЛрдЧреНрд░рд╛рдлрд░-рдмреНрд▓реЙрдЧрд░-рдЧреНрд░рд╛рдлреЛрдордирд┐рдХ рдХреА рджреВрд╕рд░реА рджрд┐рдирдЪрд░реНрдпрд╛ рдПрдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░ рд░рд╣реА рд╣реИред

рдЗрди рд╕рднреА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдИ рдЙрдкрдХрд░рдг рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕рднреА рдХрд▓реНрдкрдиреАрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрди рд╕рднреА рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рд╡реЗ рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕рд╣реА рдерд╛, рдФрд░ рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд▓рди рдХреЗ рдХрд╛рд░рдг рдлрд┐рд░ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореИрдиреБрдЕрд▓ рдХрд╛рдо рд╣реЛрддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рд▓рд┐рдирдХреНрд╕ рд╕реЗ рдкреНрдпрд╛рд░ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкрд┐рдХрд╛рд╕рд╛ рд╡реЗрдм рдПрд▓реНрдмрдо рдмрд╣реБрдд рдкрд╕рдВрдж рд╣реИ: Google рдиреЗ рд╣рдореЗрдВ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдлрд╛рдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП googlecl рджрд┐рдпрд╛ - рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдЧреБрдб рдХреЙрд░реНрдкреЛрд░реЗрд╢рди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ (рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмреЗ рдкрд░ рд╡рд░реНрдгрд┐рдд рдерд╛)ред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдирдИ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рд╣реИред


рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ



рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЪрд▓реЛ рдЗрд╕реЗ picasa-upload рдХрд╣рддреЗ picasa-upload ) рдмреИрд╢ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 picasa-upload [options] picture_dir [album_name] 


рдпрд╣рд╛рдВ:

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
 picasa-upload -DRs "/home/vassily/Pictures/ 2011" " 2011" 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╕реНрдерд┐рд░рд╛рдВрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ: рдЕрдзрд┐рдХрддрдо рдЫрд╡рд┐ рдЖрдХрд╛рд░, рдирд┐рдпрдорд┐рдд рдФрд░ "рдЫреЛрдЯреЗ" рд▓реЗрдмрд▓ рдХрд╛ рдкрде рдФрд░ рдкрд┐рдХрд╛рд╕рд╛ рд╡реЗрдм рдПрд▓реНрдмрдо рдореЗрдВ рдЦрд╛рддреЗ рдХрд╛ рдирд╛рдоред

рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдкрд╛рд░рджрд░реНрд╢реА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд╕рд╛рде рдкреАрдПрдирдЬреА рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рдЪрд▓реЗ рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ 90% рдХреА рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдУрд╡рд░рд▓реЗ рдХрд░рддреА рд╣реИред рдпрд╣ рд╕рдм рдмрд╕ composite рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ




рдХрдВрдкреНрдпреВрдЯрд░ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ


рдкреВрд░рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

 #!/bin/bash #================================================================================ # Description # Script for automated upload of photos to Picasa Web Albums # Author # Dmitry Kann, http://yktoo.com/ # License # CC BY-SA 3.0 # Requires # ImageMagick # googlecl (http://code.google.com/p/googlecl/) #================================================================================ # Setup vars pic_size=1600 # Max size of the pictures to upload file_watermark="$HOME/Pictures/my-watermark.png" # Watermark file file_watermark_small="$HOME/Pictures/my-watermark-small.png" # 'Small' watermark file picasa_owner="vasily.poupkine" # Owner of the Picasa account #-------------------------------------------------------------------------------- # Functions #-------------------------------------------------------------------------------- # Logs a message # Parameters: # 1 - message log() { echo "$(date +%H:%M:%S) $1" } # Logs a normal message # Parameters: # 1 - message info() { log " $1" } # Logs a success message # Parameters: # 1 - message ok() { log "+ $1" } # Logs a failure message # Parameters: # 1 - message err() { log "- $1" exit 1 } # Displays usage info and exits # Parameters: # 1 - error message (if any) usage() { [ -z "$1" ] || log "- $1" cat << EOF Usage: $0 [options] photos_dir [album_name] Options: -D Do not delete the photos after uploading (leave them in the source dir) -R Do not resize photos to $pic_size pixels -U Do not upload the photos to Picasa (implies -D) -s Use "small" watermark instead of the default one (more appropriate for smaller images) album_name is mandatory unless -U is specified. EOF exit 2 } #-------------------------------------------------------------------------------- # Main routine #-------------------------------------------------------------------------------- # Parse command line options b_delete=1 b_resize=1 b_upload=1 s_watermark_to_use="$file_watermark" args=$(getopt -o DRUs -- "$@") [ $? -ne 0 ] && usage eval set -- $args for i; do case "$i" in -D) b_delete=0 shift ;; -R) b_resize=0 shift ;; -U) b_delete=0 b_upload=0 shift ;; -s) s_watermark_to_use="$file_watermark_small" shift ;; --) shift; break ;; esac done # Parse the rest of the command line dir_photos="$1" picasa_album_name="$2" # Check photos_dir [ ! -z "$dir_photos" ] || usage "Directory for photos is not specified" [ -d "$dir_photos" ] || err "Directory '$dir_photos' does not exist." # Check album_name [ $b_upload -eq 0 ] || [ ! -z "$picasa_album_name" ] || usage "Album name is not specified" [ $b_resize -ne 0 ] && convert_flags="-resize $pic_size" find "$dir_photos" -type f \( -iname '*.jpg' -o -iname '*.png' \) ! -name '*.picasaweb.*' -print | while read src_file; do dst_file=${src_file%\.*}.picasaweb.jpg info "Processing $src_file -> $dst_file" && # Resize and autorotate the image convert $convert_flags -quality 90 -auto-orient "$src_file" "$dst_file" && # Apply watermark composite -blend 90% -gravity southeast "$s_watermark_to_use" "$dst_file" "$dst_file" && # Upload the picture ( [ $b_upload -eq 0 ] || google picasa post "$picasa_album_name" "$dst_file" --owner "$picasa_owner" ) && # Remove the handled picture ( [ $b_delete -eq 0 ] || rm -f "$dst_file" ) done 


рдореИрдВ рдЦреБрдж рд╕реНрдерд╛рдиреАрдп рдирд╣реАрдВ рд╣реВрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдЦрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

Source: https://habr.com/ru/post/In122859/


All Articles