myusuf3 / octogit Goto Github PK
View Code? Open in Web Editor NEWgiving git more tentacles
Home Page: http://myusuf3.github.com/octogit/
License: MIT License
giving git more tentacles
Home Page: http://myusuf3.github.com/octogit/
License: MIT License
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',
],
},
)
make this pretty ugly as of now.
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!
Does octogit support GitHub's 2fa login?
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?
creating an already create repo.
tired. look at this tomorrow.
the tracking branch shouldn't be hardcoded, not everyone uses origin
.
after installing octogit, I get "octogit is not recognized as an internal or external command"
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)
description for test issue
I keep getting this error even though:
>git remote -v
>github [email protected]:amejias101/alexismejias2.git (fetch)
>github [email protected]:amejias101/alexismejias2.git (push)
Hi,
why are you storing passwords in plaintext? That's pretty irresponsible.
it would be cool if the labels would be listed along with the issues, preferably in the same background color
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.
Add better messages for errors.
Would be nice to implement specs and test coverage
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.
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!
sample
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
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?
make sure the login information is being passed when requesting issues.
test description
please.
Looking at the documentation at http://myusuf3.github.com/octogit/ it says:
octogit login <username> <password> # 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
There seem to be some HTML encoding / formatting problems.
Because shells are typically logged, it would be nice if authentication was handled via a separate prompt so that the password does not get stored in .bash_history files and the like.
For prior art, see "sudo". The password is specified after the command is typed, not as an argument.
Hi.
octogit looks cool but it would be even cooler if it could create new issues from the command line.
some description data
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?
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)
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
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.
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)
you need maintain branch of clint with changes for octogit; as well as add requirement to install from github branch myusuf3/clint
It would be awesome if we could create and edit issues from the terminal.
Maybe add in the feature to clone an existing repo and the feature to fork one? Also maybe a repo search feature...
I see similarities with hub
: https://github.com/defunkt/hub and I think that you should join forces, e.g. by adding more support for issues to hub
.
Octogit issues will have lines with more than 80 lines.
this now needs to follow pagination links in order to get entire list of issues.
I have a project with 1 open issue but when I use 'octogit issues' in that repo, it shows 0.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.