Skip to content

Commit ac25a44

Browse files
committed
Add FilterList.__len__
1 parent 0f87129 commit ac25a44

File tree

4 files changed

+8
-0
lines changed

4 files changed

+8
-0
lines changed

pygit2/_run.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
C_PREAMBLE = """\
9898
#include <git2.h>
9999
#include <git2/sys/repository.h>
100+
#include <git2/sys/filter.h>
100101
"""
101102

102103
# ffi

pygit2/decl/filter.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,7 @@ int git_filter_list_contains(
2323
git_filter_list *filters,
2424
const char *name);
2525

26+
size_t git_filter_list_length(
27+
const git_filter_list *fl);
28+
2629
void git_filter_list_free(git_filter_list *filters);

pygit2/filter.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,5 +133,8 @@ def __contains__(self, name: str) -> bool:
133133
result = C.git_filter_list_contains(self._pointer, c_name)
134134
return bool(result)
135135

136+
def __len__(self) -> int:
137+
return C.git_filter_list_length(self._pointer)
138+
136139
def __del__(self):
137140
C.git_filter_list_free(self._pointer)

test/test_filter.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ def test_filterlist_crlf(testrepo: Repository) -> None:
148148

149149
fl = testrepo.load_filter_list('hello.txt')
150150
assert fl is not None
151+
assert len(fl) == 1
151152
assert 'crlf' in fl
152153

153154
with pytest.raises(TypeError):

0 commit comments

Comments
 (0)