GithubHelp home page GithubHelp logo

octogit's Introduction

Octogit

image

A free and open source interface to github from the command line. Avoid the usual copy and paste when creating repositories, keep up to date on issues, and much more.

--Everybody loves more tentacles.

Installation

Installing using pip. :

pip install octogit

Using Octogit

Available commands. :

octogit login 
# allows you to store your github authentication data 

octogit create <reponame> 'description' 
# lets you create the repository both locally and on github 

octogit issues 
# lets you see all the related issues in the current repository 

octogit issues <number> 
# lets you see a specific issue with summary 

octogit issues <number> close 
# lets you close an issue

Contribute

If you would like to contribute simply fork this project and add yourself to the AUTHORS.txt along with some changes hopefully and submit a pull request.

octogit's People

Contributors

bsdlp avatar cesarfrias avatar dbr avatar eudisd avatar justinazoff avatar lmartinking avatar mgrouchy avatar mikedehart avatar mrshu avatar myusuf3 avatar posativ avatar richo avatar satshabad avatar thulio avatar trjordan avatar zjhein avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

octogit's Issues

figure out how to distribute from git master in setup.py

I would welcome any ideas if anyone has any how to distribute my own version of clint from github repository here is setup.py

#!/usr/bin/env python

"""
========
Octogit
========

Do you hate this screen? Do you hate switching screens to see issues? Do you love the
terminal? Then you will love this project.

During the development of this plugin Github smartened up and introduced a new way to
create repositories. Hopefully people who like to stay in the terminal will enjoy this
little cli app.

.. image:: https://github.com/myusuf3/octogit/raw/gh-pages/assets/img/readme_image.png


Installation
============

`pip install octogit`


How to Octogit
==============

Go to http://myusuf3.github.com/octogit


Contribute
==========
If you would like to contribute simply fork this project and add yourself to the
AUTHORS.txt along with some changes hopefully and submit a pull request.

"""

import os
import sys

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup


sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))

from octogit import __version__

def publish():
    os.system("python setup.py sdist upload")

if sys.argv[-1] == "publish":
    publish()
    sys.exit()

dependencies = ['requests', 'clint==0.3.2']

setup(
    name='octogit',
    version=".".join(str(x) for x in __version__),
    description='giving git tentacles to work better with github',
    url='https://github.com/myusuf3/octogit',
    author='Mahdi Yusuf',
    author_email='[email protected]',
    dependency_links = ['http://github.com/myusuf3/clint/tarball/master/#egg=clint-0.3.2'],
    install_requires=dependencies,
    tests_require=['tox==1.3'],
    packages=['octogit', ],
    license='MIT License',
    long_description=open('README.rst').read(),
    entry_points={
        'console_scripts': [
            'octogit = octogit.cli:begin',
        ],
    },
    )

Bad visualization with "issues" in Ubuntu

I'm trying this software on Ubuntu 12.04 but this is how issues are shown in standard terminal. I think that is a character encoding problem but I don't know how to fix it.

#1  Add "Next Turn" button                                                           ���[�3�1�m�����[�3�9�m� 
                                                                                  �[31m[�[39m 
                                                                                  �[31m3�[39m 
                                                                                  �[31m1 
                                                                                  �[31mm�[39m 
                                                                                  ( 
                                                                                  T 
                                                                                  H 
                                                                                  e 
                                                                                  K 
                                                                                  �[31m3�[39m 
                                                                                  n 
                                                                                  g 
                                                                                  e 
                                                                                  r 
                                                                                  ) 
                                                                                  ���[�3�1�m�����[�3�9�m� 
                                                                                  �[31m[�[39m 
                                                                                  �[31m3�[39m 
                                                                                  9�[39m 
                                                                                  m  

Can't login, even with correct credentials

Using the correct credentials (I double checked them via the github.com website) I keep getting the following with 'octogit login':

Github username: jasperla
Password for jasperla: 
octogit. Do you even have a Github account? Bad Credentials

It seems there's no verbose flag for octogit to see what's going on, is there?

Crashes upon special characters such as this: é

The following stack trace appears when it tries to list an issue with an accentuated character such as "é":

Traceback (most recent call last):
  File "/usr/local/bin/octogit", line 9, in <module>
    load_entry_point('octogit==0.1.3', 'console_scripts', 'octogit')()
  File "/usr/local/lib/python2.6/dist-packages/octogit-0.1.3-py2.6.egg/octogit/cli.py", line 121, in begin
    get_issues(username, url)
  File "/usr/local/lib/python2.6/dist-packages/octogit-0.1.3-py2.6.egg/octogit/core.py", line 238, in get_issues
    width.append(['{0}'.format(issue['title']), 70])
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 65: ordinal not in range(128)

"TypeError: coercing to unicode" when piping colored output

When I use octogit in a pipeline

$ octogit issues | less

I get the following traceback:

Traceback (most recent call last):
  File "/home/dialelo/.virtualenvs/o/bin/octogit", line 8, in <module>
    load_entry_point('octogit==0.1.3', 'console_scripts', 'octogit')()
link. https://github.com/alejandrogomez/turses/issues 

  File "build/bdist.linux-i686/egg/octogit/cli.py", line 126, in begin
  File "build/bdist.linux-i686/egg/octogit/core.py", line 252, in get_issues
TypeError: coercing to Unicode: need string or buffer, int found

The line that causes the error:

puts('listing all {0} issues.'.format(colored.red(get_number_issues(json_data)))) 

If I remove the colored.red function call it does not happen.

422 Response defaults to 'Bad Credentials'

Hey guys,

Not sure if this project is even still being maintained, but thought I'd contribute in case it is.

I noticed after logging in once it was successful, but subsequent attempts to login return a 422 status code as the access token already exists.

However, this is caught by default 'else' statement to just output Bad Credentials. It might be more informative to tell the user they are already logged in or an access token already exists.

I'll submit a simple PR for this.

Crash after login

After logging in I get this message:

> octogit login                   
Github username: satshabad
Password for satshabad: 
You have successfully been authenticated with Github

Traceback (most recent call last):
  File "/usr/local/bin/octogit", line 9, in <module>
    load_entry_point('octogit==0.3.3', 'console_scripts', 'octogit')()
 File "/usr/local/lib/python2.7/dist-packages/octogit-0.3.3-py2.7.egg/octogit/cli.py", line 170, in begin
   login(username, password)
  File "/usr/local/lib/python2.7/dist-packages/octogit-0.3.3-py2.7.egg/octogit/config.py", line 97, in login
    set_username(username)
  File "/usr/local/lib/python2.7/dist-packages/octogit-0.3.3-py2.7.egg/octogit/config.py", line 78, in set_username
    config.set('octogit', 'username', username)
  File "/usr/lib/python2.7/ConfigParser.py", line 396, in set
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'octogit'

Looks like something to do with the Config.

manage own version of clint

you need maintain branch of clint with changes for octogit; as well as add requirement to install from github branch myusuf3/clint

Plaintext passwords

Hi,
why are you storing passwords in plaintext? That's pretty irresponsible.

encoding issues in python 2.7

  Traceback (most recent call last):
  File "/usr/bin/octogit", line 9, in <module>
    load_entry_point('octogit==0.1.3', 'console_scripts', 'octogit')()
  File "/usr/lib/python2.7/site-packages/octogit-0.1.3-py2.7.egg/octogit/cli.py", line 121, in begin
    get_issues(username, url)
  File "/usr/lib/python2.7/site-packages/octogit-0.1.3-py2.7.egg/octogit/core.py", line 238, in get_issues
    width.append(['{0}'.format(issue['title']), 70])
  UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 1: ordinal not in range(128)

Issues not showing

I have a project with 1 open issue but when I use 'octogit issues' in that repo, it shows 0.

octogit issues returns a python error.

As you can see below I get an error trying to run octogit issues

This happens regardless of the repository having issues or not.

kristoffer at dev in ~/code/cognitive.io (master●●●)
$ octogit issues
Traceback (most recent call last):
  File "/usr/local/bin/octogit", line 9, in <module>
    load_entry_point('octogit==0.3.3', 'console_scripts', 'octogit')()
  File "/usr/local/lib/python2.6/dist-packages/octogit/cli.py", line 121, in begin
    username, url = get_username_and_repo(url)
  File "/usr/local/lib/python2.6/dist-packages/octogit/cli.py", line 83, in get_username_and_repo
    parent_repo = get_parent_repository(info)
  File "/usr/local/lib/python2.6/dist-packages/octogit/cli.py", line 54, in get_parent_repository
    parent = data['parent']['full_name']
TypeError: 'instancemethod' object is unsubscriptable

kristoffer at dev in ~/code/cognitive.io (master●●●)
$ python --version
Python 2.6.5

I'm not entirely sure what is wrong here. I am logged in, I can create a repository just fine.

The README did not mention a required python version, could my version of python be the problem?

Add command line gist support

Please add Gist support as well. It will be wonder to be able to create gist from command line. This app does everything, with that it would be just awesome.

octogit issues - doesn't work

It thinks issues are disabled. But they're not:

$ git remote -v | grep origin
origin  [email protected]:isaacs/npm-www.git (fetch)
origin  [email protected]:isaacs/npm-www.git (push)

$ octogit issues
octogit. Issues are disabled for this repo

Compare: https://github.com/isaacs/npm-www/issues

Same with another repo, but with a different error message:

$ octogit issues
octogit. Not Found

$ git remote -v | grep origin
origin  [email protected]:isaacs/npm.git (fetch)
origin  [email protected]:isaacs/npm.git (push)

Remove --use-mirrors from Travis CI tests.

As per the following: pypa/pip#1098

The --use-mirrors argument for travis.yml was deprecated in 2015.

pip builds for 2.7 and 2.6 used after this change fail during automated testing with 'no option --use-mirrors'

This cause failure of PRs #85 #87 with pip builds of 8.x and 9.x.

Looks like downgrading pip will work, but this isn't ideal. In cases where python 2.6 isnt installed, the latest from AWS is installed (which is 9.x) and this also fails. See PR #87

2.6 is not installed; attempting download
Downloading archive: https://s3.amazonaws.com/travis-python-archives/binaries/ubuntu/12.04/x86_64/python-2.6.tar.bz2
$ sudo tar xjf python-2.6.tar.bz2 --directory /
git.checkout
0.83s$ git clone --depth=50 https://github.com/myusuf3/octogit.git myusuf3/octogit
Cloning into 'myusuf3/octogit'...
remote: Counting objects: 505, done.
remote: Compressing objects: 100% (200/200), done.
remote: Total 505 (delta 283), reused 503 (delta 281), pack-reused 0
Receiving objects: 100% (505/505), 72.16 KiB | 0 bytes/s, done.
Resolving deltas: 100% (283/283), done.
Checking connectivity... done.
$ cd myusuf3/octogit
0.69s$ git fetch origin +refs/pull/87/merge:
remote: Counting objects: 19, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 19 (delta 11), reused 9 (delta 2), pack-reused 0
Unpacking objects: 100% (19/19), done.
From https://github.com/myusuf3/octogit
branch refs/pull/87/merge -> FETCH_HEAD
$ git checkout -qf FETCH_HEAD
0.00s$ source ~/virtualenv/python2.6/bin/activate
$ python --version
Python 2.6.9
$ pip --version
pip 9.0.1 from /home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages (python 2.6)
install.1
0.43s$ pip install nose
DEPRECATION: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of pip will drop support for Python 2.6
Requirement already satisfied: nose in /home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages
0.35s$ pip install -r requirements.txt --use-mirrors
Usage:
pip install [options] [package-index-options] ...
pip install [options] -r [package-index-options] ...
pip install [options] [-e] ...
pip install [options] [-e] ...
pip install [options] <archive url/path> ...
no such option: --use-mirrors

Default README.rst

The default README.rst is a bit annoying.

I created a repository using your tool and when I tried to push git complained about non-fast-forward updates. I had no idea what was going on, I just created a fresh repository, what could possibly go wrong? Turns out octogit had pushed a default README.

I suggest leaving out the default README.rst. While the README.rst is cute, it's a bit annoying that you have to merge before you even make your first push. Also, "Author: Mahdi Yusuf" is a bit misleading.

Thanks for octogit, it seems like a great tool!

encoding problems in website

Looking at the documentation at http://myusuf3.github.com/octogit/ it says:

octogit login &ltusername> &ltpassword> # allows you to store your github authentication data octogit create &ltreponame> 'description' # lets you create the repository both locally and on github octogit issues # lets you see all the related issues in the current repository octogit issues &ltnumber> # lets you see a specific issue with summary octogit issues &ltnumber> close # lets you close an issue

There seem to be some HTML encoding / formatting problems.

UnicodeEncodeError: 'ascii' codec can't encode characters when include multibyte string.

I am Japanese and love Programming with Python. When try octogit, I find the bug.

Detail:

File "/usr/local/lib/python2.7/dist-packages/octogit-0.1.3-py2.7.egg/octogit/cli.py", line 126, in begin
get_issues(username, url)
File "/usr/local/lib/python2.7/dist-packages/octogit-0.1.3-py2.7.egg/octogit/core.py", line 258, in get_issues
width.append(['{0}'.format(issue['title']), 70])
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-9: ordinal not in range(128)

According to the result that I m was examined by the interpreter of Python, "Column function" is apparently a cause in get_issure function.Once I have rewrite as follows , Octogit work :

    width = colored.yellow('#'+str(issue['number']))
    if isinstance(issue['title'],unicode):
        issue['title'] = unicodedata.normalize('NFKC',issue['title']).encode('utf-8','ignore')
    width = width + ('    {0}'.format(issue['title']))
    width = width + colored.red('(' + issue['user']['login'] + ')')
    puts(width)

Then, I think I'd better not use "Column function" until the bug is fixed. What do you think?

Path error on windows

after installing octogit, I get "octogit is not recognized as an internal or external command"

Forking, cloning

Maybe add in the feature to clone an existing repo and the feature to fork one? Also maybe a repo search feature...

Please tag releases

Hi!
Can you please tag releases? I want to include this nifty script in the MacPorts tree, and using tags for releases would greatly ease the maintainership :)

Thank you very much!

BDD Testing

Would be nice to implement specs and test coverage

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.