Browse Source

Remove comment finder

Put it in a better place...
tags/v0.5.1
smittytone 5 years ago
parent
commit
da701bc09b
2 changed files with 32 additions and 23 deletions
  1. +0
    -19
      gitup/config.py
  2. +32
    -4
      gitup/update.py

+ 0
- 19
gitup/config.py View File

@@ -37,27 +37,8 @@ def _load_config_file(config_path=None):
except IOError: except IOError:
return [] return []
paths = [path.decode("utf8").strip() for path in paths] paths = [path.decode("utf8").strip() for path in paths]
paths = _strip_comment_lines(paths)
return [path for path in paths if path] return [path for path in paths if path]


def _strip_comment_lines(paths):
"""Remove any lines starting with #."""
i = 0
while i < len(paths):
path = paths[i]
removed_comment = False
for j in range(0, len(path)):
path_char = path[j]
if path_char == " ":
continue
if path_char == "#":
removed_comment = True
paths.pop(i)
break
if removed_comment is False:
i = i + 1
return paths

def _save_config_file(bookmarks, config_path=None): def _save_config_file(bookmarks, config_path=None):
"""Save the bookmarks list to the given config file.""" """Save the bookmarks list to the given config file."""
run_migrations() run_migrations()


+ 32
- 4
gitup/update.py View File

@@ -21,6 +21,7 @@ BOLD = Style.BRIGHT
BLUE = Fore.BLUE + BOLD BLUE = Fore.BLUE + BOLD
GREEN = Fore.GREEN + BOLD GREEN = Fore.GREEN + BOLD
RED = Fore.RED + BOLD RED = Fore.RED + BOLD
CYAN = Fore.CYAN + BOLD
YELLOW = Fore.YELLOW + BOLD YELLOW = Fore.YELLOW + BOLD
RESET = Style.RESET_ALL RESET = Style.RESET_ALL


@@ -256,11 +257,17 @@ def _dispatch(base_path, callback, args):
Repo(base) Repo(base)
valid = [base] valid = [base]
except exc.NoSuchPathError: except exc.NoSuchPathError:
paths = glob(base)
if not paths:
print(ERROR, BOLD + base, "doesn't exist!")
if is_comment(base):
comment = get_comment(base)
if len(comment) > 0:
print(CYAN + BOLD + comment)
return return
valid = _collect(paths, max_depth)
else:
paths = glob(base)
if not paths:
print(ERROR, BOLD + base, "doesn't exist!")
return
valid = _collect(paths, max_depth)
except exc.InvalidGitRepositoryError: except exc.InvalidGitRepositoryError:
if not os.path.isdir(base) or args.max_depth == 0: if not os.path.isdir(base) or args.max_depth == 0:
print(ERROR, BOLD + base, "isn't a repository!") print(ERROR, BOLD + base, "isn't a repository!")
@@ -276,6 +283,27 @@ def _dispatch(base_path, callback, args):
for name, path in sorted(paths): for name, path in sorted(paths):
callback(Repo(path), name, args) callback(Repo(path), name, args)


def is_comment(path):
"""Does the line start with a # symbol?"""
cs = path.lstrip()
if cs[0] == "#":
return True
return False

def get_comment(path):
"""Return the string minus the comment symbol."""
rs = ""
cs = path.lstrip()
if len(cs) > 0:
for j in range(0, len(cs)):
c = cs[j]
if c == "#" and len(rs) == 0:
continue
rs = rs + c
if len(rs) > 0:
rs = rs.lstrip()
return rs

def update_bookmarks(bookmarks, args): def update_bookmarks(bookmarks, args):
"""Loop through and update all bookmarks.""" """Loop through and update all bookmarks."""
if not bookmarks: if not bookmarks:


Loading…
Cancel
Save