Compare commits

..

10 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
fac8e4274f Release version 0.26.0 2019-09-23 11:45:01 -04:00
Jose Diaz-Gonzalez
17fee66f31 Merge pull request #128 from Snawoot/master
Workaround gist clone in `--prefer-ssh` mode
2019-09-23 11:44:21 -04:00
Vladislav Yarmak
a56d27dd8b workaround gist clone in --prefer-ssh mode 2019-09-21 19:22:27 +03:00
Jose Diaz-Gonzalez
e57873b6dd Create PULL_REQUEST.md 2019-08-14 17:51:19 -04:00
Jose Diaz-Gonzalez
2658b039a1 Create ISSUE_TEMPLATE.md 2019-08-14 17:47:47 -04:00
Jose Diaz-Gonzalez
fd684a71fb Update README.rst 2019-07-11 13:40:25 -07:00
Jose Diaz-Gonzalez
bacd77030b Update README.rst 2019-07-11 13:39:41 -07:00
Jose Diaz-Gonzalez
b73079daf2 Release version 0.25.0 2019-07-03 17:46:12 -04:00
Jose Diaz-Gonzalez
eca8a70666 Merge pull request #120 from 8h2a/patch-1
Issue 119: Change retrieve_data to be a generator
2019-07-03 17:45:40 -04:00
2a
e74765ba7f Issue 119: Change retrieve_data to be a generator
See issue #119.
2019-07-03 23:01:00 +02:00
6 changed files with 53 additions and 14 deletions

View File

@@ -1,9 +1,23 @@
Changelog
=========
0.24.0 (2019-06-27)
0.26.0 (2019-09-23)
-------------------
------------------------
- Workaround gist clone in `--prefer-ssh` mode. [Vladislav Yarmak]
- Create PULL_REQUEST.md. [Jose Diaz-Gonzalez]
- Create ISSUE_TEMPLATE.md. [Jose Diaz-Gonzalez]
0.25.0 (2019-07-03)
-------------------
- Issue 119: Change retrieve_data to be a generator. [2a]
See issue #119.
0.24.0 (2019-06-27)
-------------------
- QKT-45: include assets - update readme. [Ethan Timm]
update readme with flag information for including assets alongside their respective releases

13
ISSUE_TEMPLATE.md Normal file
View File

@@ -0,0 +1,13 @@
# Important notice regarding filed issues
This project already fills my needs, and as such I have no real reason to continue it's development. This project is otherwise provided as is, and no support is given.
If pull requests implementing bug fixes or enhancements are pushed, I am happy to review and merge them (time permitting).
If you wish to have a bug fixed, you have a few options:
- Fix it yourself.
- File a bug and hope someone else fixes it for you.
- Pay me to fix it (my rate is $200 an hour, minimum 1 hour, contact me via my [github email address](https://github.com/josegonzalez) if you want to go this route).
In all cases, feel free to file an issue, they may be of help to others in the future.

7
PULL_REQUEST.md Normal file
View File

@@ -0,0 +1,7 @@
# Important notice regarding filed pull requests
This project already fills my needs, and as such I have no real reason to continue it's development. This project is otherwise provided as is, and no support is given.
I will attempt to review pull requests at _my_ earliest convenience. If I am unable to get to your pull request in a timely fashion, it is what it is. This repository does not pay any bills, and I am not required to merge any pull request from any individual.
If you wish to jump my personal priority queue, you may pay me for my time to review. My rate is $200 an hour - minimum 1 hour - feel free contact me via my github email address if you want to go this route.

View File

@@ -4,6 +4,8 @@ github-backup
|PyPI| |Python Versions|
This project is considered feature complete for the primary maintainer. If you would like a bugfix or enhancement and cannot sponsor the work, pull requests are welcome. Feel free to contact the maintainer for consulting estimates if desired.
backup a github user or organization
Requirements

View File

@@ -387,12 +387,12 @@ def get_github_host(args):
def get_github_repo_url(args, repository):
if args.prefer_ssh:
return repository['ssh_url']
if repository.get('is_gist'):
return repository['git_pull_url']
if args.prefer_ssh:
return repository['ssh_url']
auth = get_auth(args, False)
if auth:
repo_url = 'https://{0}@{1}/{2}/{3}.git'.format(
@@ -406,12 +406,11 @@ def get_github_repo_url(args, repository):
return repo_url
def retrieve_data(args, template, query_args=None, single_request=False):
def retrieve_data_gen(args, template, query_args=None, single_request=False):
auth = get_auth(args)
query_args = get_query_args(query_args)
per_page = 100
page = 0
data = []
while True:
page = page + 1
@@ -438,11 +437,12 @@ def retrieve_data(args, template, query_args=None, single_request=False):
response = json.loads(r.read().decode('utf-8'))
if len(errors) == 0:
if type(response) == list:
data.extend(response)
for resp in response:
yield resp
if len(response) < per_page:
break
elif type(response) == dict and single_request:
data.append(response)
yield response
if len(errors) > 0:
log_error(errors)
@@ -450,8 +450,8 @@ def retrieve_data(args, template, query_args=None, single_request=False):
if single_request:
break
return data
def retrieve_data(args, template, query_args=None, single_request=False):
return list(retrieve_data_gen(args, template, query_args, single_request))
def get_query_args(query_args=None):
if not query_args:
@@ -836,18 +836,21 @@ def backup_pulls(args, repo_cwd, repository, repos_template):
pull_states = ['open', 'closed']
for pull_state in pull_states:
query_args['state'] = pull_state
# It'd be nice to be able to apply the args.since filter here...
_pulls = retrieve_data(args,
_pulls = retrieve_data_gen(args,
_pulls_template,
query_args=query_args)
for pull in _pulls:
if args.since and pull['updated_at'] < args.since:
break
if not args.since or pull['updated_at'] >= args.since:
pulls[pull['number']] = pull
else:
_pulls = retrieve_data(args,
_pulls = retrieve_data_gen(args,
_pulls_template,
query_args=query_args)
for pull in _pulls:
if args.since and pull['updated_at'] < args.since:
break
if not args.since or pull['updated_at'] >= args.since:
pulls[pull['number']] = retrieve_data(
args,

View File

@@ -1 +1 @@
__version__ = '0.24.0'
__version__ = '0.26.0'