[Israel.pm] Announcing "sky" - an uploading wrapper

Shlomi Fish shlomif at shlomifish.org
Sun Jun 2 01:16:12 PDT 2013


Hi all,

I have written about "sky" here:

http://blogs.perl.org/users/shlomi_fish/2013/06/the-sky-command-line-application-and-other-recent-hacktivity.html

You can find it at:

* http://www.shlomifish.org/open-source/projects/sky/

* https://metacpan.org/release/App-Sky

Here is the description:

<QUOTE>
If you have a good web hosting, you may have run into a pattern, where you are
uploading files to it for other people to download and need to find the URL
where they were uploaded to. Thing is - recalling the exact Rsync (= a file
uploader) command and then going to the web browser to access the URL is
time-consuming, and repetitive. sky, written in Perl using Moo and available on
CPAN, aims to fix all that.

Here is a sample invocation from the web-site:

shlomif at telaviv1:~$ sky up /home/music/Music/mp3s/Thierry\ de\ Massia/Elements\
essentiels/01\ -\ Le\ vent.ogg X11 forwarding request failed on channel 0
sending incremental file list
01 - Le vent.ogg
     5271287 100%  147.24kB/s    0:00:34 (xfer#1, to-check=0/1)

sent 5272011 bytes  received 31 bytes  87141.19 bytes/sec
total size is 5271287  speedup is 1.00
Got URL:
http://www.shlomifish.org/Files/files/music/mp3-ogg/01%20-%20Le%20vent.ogg
shlomif at telaviv1:~$

As you can see, we just specified the file, and it divined the rsync command
and gave us the resultant URL. Convenient.

sky requires a configuration file in ~/.config/Perl/App-Sky/app_sky_conf.yml
such as this one:

---
default_site: homepage
sites:
    homepage:
        base_upload_cmd:
            - 'rsync'
            - '-a'
            - '-v'
            - '--progress'
            - '--inplace'
        dest_upload_prefix: 'hostgator:public_html/'
        dest_upload_url_prefix: 'http://www.shlomifish.org/'
        sections:
            code:
                basename_re: '\.(?:pl|pm|c|py)\z'
                target_dir: 'Files/files/code/'
            music:
                basename_re: '\.(?:mp3|ogg|wav|aac|m4a)\z'
                target_dir: 'Files/files/music/mp3-ogg/'
            video:
                basename_re: '\.(?:webm|flv|avi|mpeg|mpg|mp4|ogv)\z'
                target_dir: 'Files/files/video/'

And it uses the basename_re to figure out where to upload it later. The next
features I would like to see added are an ability to specify the target
directory or alternatively override the target section, and naturally - better
documentation. But I'm happy with what I have so far.
</QUOTE>

Sky is open-source under the MIT/X11 licence ( =
http://en.wikipedia.org/wiki/MIT_License ).

Regards,

	Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
Rethinking CPAN - http://shlom.in/rethinking-cpan

Hacker sees bug. Hacker does not want bug. Hacker fixes bug.

Please reply to list if it's a mailing list post - http://shlom.in/reply .


More information about the Perl mailing list