Skip to content

Upload to imgur using API(v3). Support CLI, KDE, Zenity(GTK) and Mac dialog upload. And you can also use your account to upload :)

License

Notifications You must be signed in to change notification settings

carlcarl/imgurup

Repository files navigation

imgurup

Latest PyPI version

MIT license

https://coveralls.io/repos/github/carlcarl/imgurup/badge.svg?branch=master

Upload to imgur using its API(v3). Support CLI, KDE, Zenity(GTK) and Mac dialog upload.

Feature

Support upload images(anonymously/account)
Support CLI, KDE, Zenity(GTK) and Mac dialog upload
Support Python 3

Installation

$ sudo python setup.py install

or

$ sudo pip install imgurup

Usage

img [-h] [-f [<image path> [<image path> ...]]] [-d [<album id>]] [-g] [-n] [-q]

You can just type img without any argument, the program will ask you for another infomation.
But add -f argument with your image file would be easier to use, ex: img -f xx.jpg
After the authentication, the access_token and refresh_token will be saved in ~/.imgurup.conf

Optional arguments:

-h, --help       show this help message and exit
-f [<image path> [<image path> ...]] The images you want to upload
-d [<album id>]  The album id you want your image to be uploaded to
-g               GUI mode
-n               Anonymous upload
-s               Add command in the context menu of file manager(Support Gnome and KDE)
-q               Choose album with each file
-t               Use image name as the title

Packcage Dependency

  • None

Customize example

from imgurup import Imgur


class MyImgur(Imgur):

    def get_error_dialog_args(self, msg='Error'):
        args = [
            'zenity',
            '--error',
            '--text={text}'.format(text=msg),
        ]
        return args

    def get_auth_msg_dialog_args(self, auth_msg, auth_url):
        args = [
            'zenity',
            '--entry',
            '--text={msg}'.format(msg=auth_msg),
            '--entry-text={link}'.format(link=auth_url),
        ]
        return args

    def get_enter_pin_dialog_args(self, token_msg):
        args = [
            'zenity',
            '--entry',
            '--text={msg}'.format(msg=token_msg),
        ]
        return args

    def get_ask_image_path_dialog_args(self):
        args = [
            'zenity',
            '--file-selection',
        ]
        return args

    def get_ask_album_id_dialog_args(self, albums, no_album_msg):
        i = 1
        arg = [
            'zenity',
            '--list',
            '--text="Choose the album"',
            '--column=No.',
            '--column=Album name',
            '--column=Privacy',
        ]
        for album in albums:
            arg.append(str(i))
            arg.append('{album[title]}'.format(album=album))
            arg.append('{album[privacy]}'.format(album=album))
            i += 1
        arg.append(str(i))
        arg.append(no_album_msg)
        arg.append('public')

    def get_show_link_dialog_args(self, links):
        args = [
            'zenity',
            '--info',
            '--text={links}'.format(links=links),
        ]
        return args

License

The imgurup package is written by Chien-Wei Huang. It’s MIT licensed and freely available.

Feel free to improve this package and send a pull request to GitHub.

About

Upload to imgur using API(v3). Support CLI, KDE, Zenity(GTK) and Mac dialog upload. And you can also use your account to upload :)

Resources

License

Stars

Watchers

Forks

Packages

No packages published