Skip to content

Commit cae29a8

Browse files
committed
added --ignore-pullrequests option
1 parent 9fed7f6 commit cae29a8

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

gh-issues-import.py

+14-4
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ def init_config():
3939
config.add_section('target')
4040
config.add_section('format')
4141
config.add_section('settings')
42-
42+
config.add_section('filter')
43+
4344
arg_parser = argparse.ArgumentParser(description="Import issues from one GitHub repository into another.")
4445

4546
config_group = arg_parser.add_mutually_exclusive_group(required=False)
@@ -54,7 +55,10 @@ def init_config():
5455
arg_parser.add_argument('--ignore-comments', dest='ignore_comments', action='store_true', help="Do not import comments in the issue.")
5556
arg_parser.add_argument('--ignore-milestone', dest='ignore_milestone', action='store_true', help="Do not import the milestone attached to the issue.")
5657
arg_parser.add_argument('--ignore-labels', dest='ignore_labels', action='store_true', help="Do not import labels attached to the issue.")
57-
58+
arg_parser.add_argument('--ignore-pullrequests', dest='ignore_pullrequests', action='store_true', help="Do not import issues that are pull requests.")
59+
60+
arg_parser.add_argument('--filter-labels', dest='filter_labels', help="Comma separated values of labels to use as filters.")
61+
5862
arg_parser.add_argument('--issue-template', help="Specify a template file for use with issues.")
5963
arg_parser.add_argument('--comment-template', help="Specify a template file for use with comments.")
6064
arg_parser.add_argument('--pull-request-template', help="Specify a template file for use with pull requests.")
@@ -242,11 +246,17 @@ def get_issues_by_id(which, issue_ids):
242246
def get_issues_by_state(which, state):
243247
issues = []
244248
page = 1
249+
import_pullrequests = config.getboolean('settings', 'import-pullrequests')
250+
default_labels = ''
251+
labels = config.get('filter', 'labels', fallback=default_labels)
245252
while True:
246-
new_issues = send_request(which, "issues?state=%s&direction=asc&page=%d" % (state, page))
253+
new_issues = send_request(which, "issues?state=%s&direction=asc&page=%d&labels=%s" % (state, page, labels))
247254
if not new_issues:
248255
break
249-
issues.extend(new_issues)
256+
if import_pullrequests:
257+
issues.extend(new_issues)
258+
else:
259+
issues.extend(filter(lambda issue:'pull_request' not in issue ,new_issues))
250260
page += 1
251261
return issues
252262

0 commit comments

Comments
 (0)