Esempio n. 1
0
File: Find.py Progetto: rec/grit
def _match(root, prefix):
    for dirpath, dirnames, filenames in os.walk(root):
        for d in dirnames:
            if d.startswith(prefix):
                yield d, os.path.join(dirpath, d)
        if not startswith(os.path.basename(dirpath), (prefix)):
            for f in filenames:
                if startswith(f, prefix):
                    yield dirpath, os.path.join(dirpath, f)
                    break
Esempio n. 2
0
File: EFind.py Progetto: rec/grit
def match(root, prefix):
    paths = []
    for dirpath, dirnames, filenames in os.walk(root):
        for d in dirnames:
            if d.startswith(prefix):
                paths.append(os.path.join(dirpath, d))
        for f in filenames:
            if startswith(f, prefix):
                paths.append(os.path.join(dirpath, f))
    return sorted(paths)
Esempio n. 3
0
def get_format_string(name, user, context):
    if name and 'commits'.startswith(name):
        return _COMMIT

    if name and 'diffs'.startswith(name):
        return _DIFF

    if name.isdigit():
        context['number'] = int(name)
        return PULL

    if name and 'pulls'.startswith(name):
        if user == Settings.PROJECT_USER:
            return Pulls.pull_urls()[0]

        if user == Settings.USER:
            branch_name = '%s:%s' % (user, Git.branch())
            for number, pull in Git.pulls().items():
                if pull.branch == branch_name:
                    context['number'] = number
                    return PULL
            else:
                return _NEW_PULL

        raise ValueError("Can't pull for user %s." % user)

    if name and 'root'.startswith(name):
        name = GitRoot.root()

    full_path = os.getcwd()
    if name:
        path, f = os.path.split(name)
        full_path = os.path.join(full_path, path)
        if not os.path.exists(full_path):
            raise ValueError("Path %s doesn't exist." % full_path)
        if f:
            for p in os.listdir(full_path):
                if startswith(p, f):
                    full_path = os.path.join(full_path, p)
                    break
            else:
                raise ValueError("Can't find file matching " + name)

    if user != Settings.USER:
        context['branch'] = Project.settings.get('base_branch', 'develop')
    context['path'] = os.path.relpath(full_path, GitRoot.ROOT)
    return _URL
Esempio n. 4
0
File: Open.py Progetto: rec/grit
    def get_url():
        full_path = os.getcwd()
        if name:
            path, f = os.path.split(name)
            full_path = os.path.join(full_path, path)
            if not os.path.exists(full_path):
                raise ValueError("Path %s doesn't exist." % full_path)
            if f:
                for p in os.listdir(full_path):
                    if startswith(p, f):
                        full_path = os.path.join(full_path, p)
                        break
                else:
                    raise ValueError("Can't find file matching " + name)

        context['path'] = os.path.relpath(full_path, GitRoot.ROOT)
        return _URL