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 details)

Uploaded Source

File details

Details for the file imgurup-1.7.0.tar.gz.

File metadata

  • Download URL: imgurup-1.7.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for imgurup-1.7.0.tar.gz
Algorithm Hash digest
SHA256 69c28f8332f71ec35240db118c9a33158befe616748664583157f8063bdaef3a
MD5 7b6829aeb3c94ea62bf92c4ac7f441a9
BLAKE2b-256 5ee3f5e181f790f415a530c59280c2a71dc166ac5b098ba21c24caf9f732921d

See more details on using hashes here.

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