8000 Move Git utilities to ``blurb._git`` (#54) · python/blurb@5dd62ee · GitHub
[go: up one dir, main page]

Skip to content

Commit 5dd62ee

Browse files
authored
Move Git utilities to blurb._git (#54)
1 parent fa99c26 commit 5dd62ee

File tree

4 files changed

+35
-28
lines changed

4 files changed

+35
-28
lines changed

src/blurb/_add.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@
99
import tempfile
1010

1111
from blurb._cli import subcommand,error,prompt
12+
from blurb._git import flush_git_add_files, git_add_files
1213
from blurb._template import sections, template
13-
from blurb.blurb import Blurbs, BlurbError, flush_git_add_files, git_add_files
14+
from blurb.blurb import Blurbs, BlurbError
1415

1516
TYPE_CHECKING = False
1617
if TYPE_CHECKING:

src/blurb/_git.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import os
2+
import subprocess
3+
4+
git_add_files: list[str] = []
5+
git_rm_files: list[str] = []
6+
7+
8+
def flush_git_add_files() -> None:
9+
if not git_add_files:
10+
return
11+
args = ('git', 'add', '--force', *git_add_files)
12+
subprocess.run(args, check=True)
13+
git_add_files.clear()
14+
15+
16+
def flush_git_rm_files() -> None:
17+
if not git_rm_files:
18+
return
19+
args = ('git', 'rm', '--quiet', '--force', *git_rm_files)
20+
subprocess.run(args, check=False)
21+
22+
# clean up
23+
for path in git_rm_files:
24+
try:
25+
os.unlink(path)
26+
except FileNotFoundError:
27+
pass
28+
29+
git_rm_files.clear()

src/blurb/_release.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55

66
import blurb.blurb
77
from blurb._cli import error, subcommand
8-
from blurb.blurb import (Blurbs, flush_git_add_files, flush_git_rm_files,
9-
git_rm_files, git_add_files, glob_blurbs, nonceify)
8+
from blurb._git import (flush_git_add_files, flush_git_rm_files,
9+
git_rm_files, git_add_files)
10+
from blurb.blurb import Blurbs, glob_blurbs, nonceify
1011

1112

1213
@subcommand

src/blurb/blurb.py

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@
4949
from pathlib import Path
5050
import re
5151
import shutil
52-
import subprocess
5352
import sys
5453
import textwrap
5554
import time
5655

5756
from blurb._cli import main, subcommand
57+
from blurb._git import git_add_files, flush_git_add_files
5858
from blurb._template import (
5959
next_filename_unsanitize_sections, sanitize_section,
6060
sanitize_section_legacy, sections, unsanitize_section,
@@ -673,30 +673,6 @@ def print(*a, sep=" "):
673673
builtins.print(output, "is already up to date")
674674

675675

676-
git_add_files = []
677-
def flush_git_add_files():
678-
if git_add_files:
679-
subprocess.run(["git", "add", "--force", *git_add_files]).check_returncode()
680-
git_add_files.clear()
681-
682-
git_rm_files = []
683-
def flush_git_rm_files():
684-
if git_rm_files:
685-
try:
686-
subprocess.run(["git", "rm", "--quiet", "--force", *git_rm_files]).check_returncode()
687-
except subprocess.CalledProcessError:
688-
pass
689-
690-
# clean up
691-
for path in git_rm_files:
692-
try:
693-
os.unlink(path)
694-
except FileNotFoundError:
695-
pass
696-
697-
git_rm_files.clear()
698-
699-
700676
@subcommand
701677
def populate():
702678
"""

0 commit comments

Comments
 (0)
0