Skip to main 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 :).

Project description

Latest PyPI version MIT license https://coveralls.io/repos/carlcarl/imgurup/badge.svg?branch=master&service=github

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imgurup-1.7.0.tar.gz (14.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page