Skip to content

Commit 58194f3

Browse files
committed
Add filesystem to docs.
1 parent 4b88795 commit 58194f3

File tree

4 files changed

+34
-3
lines changed

4 files changed

+34
-3
lines changed

docs/source/api/filesystem.rst

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Filesystem Module
2+
=================
3+
4+
.. automodule:: judge0.filesystem
5+
:members:
6+
:member-order: bysource

docs/source/api/types.rst

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ Types
3434
Type aliases
3535
------------
3636

37+
.. autoclass:: judge0.base_types.Iterable
38+
:members:
39+
:member-order: bysource
40+
3741
.. autoclass:: judge0.base_types.TestCaseType
3842
:members:
3943
:member-order: bysource

docs/source/index.rst

+4-3
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,12 @@ Every contribution, big or small, is valuable!
5656
:hidden:
5757

5858
api/api
59-
api/submission
6059
api/clients
61-
api/types
62-
api/retry
6360
api/errors
61+
api/filesystem
62+
api/retry
63+
api/submission
64+
api/types
6465

6566
.. toctree::
6667
:caption: Getting Involved

src/judge0/filesystem.py

+20
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,16 @@
1111

1212

1313
class File(BaseModel):
14+
"""File object for storing file content.
15+
16+
Parameters
17+
----------
18+
name : str
19+
File name.
20+
content : str or bytes, optional
21+
File content. If str is provided, it will be encoded to bytes.
22+
"""
23+
1424
name: str
1525
content: Optional[Union[str, bytes]] = None
1626

@@ -29,6 +39,15 @@ def __str__(self):
2939

3040

3141
class Filesystem(BaseModel):
42+
"""Filesystem object for storing multiple files.
43+
44+
Parameters
45+
----------
46+
content : str or bytes or File or Iterable[File] or Filesystem, optional
47+
Filesystem content. If str or bytes is provided, it will be decoded to
48+
files.
49+
"""
50+
3251
files: list[File] = []
3352

3453
def __init__(self, **data):
@@ -66,6 +85,7 @@ def __repr__(self) -> str:
6685
return f"{self.__class__.__name__}(content={content_encoded!r})"
6786

6887
def encode(self) -> bytes:
88+
"""Encode Filesystem object to bytes."""
6989
zip_buffer = io.BytesIO()
7090
with zipfile.ZipFile(zip_buffer, "w") as zip_file:
7191
for file in self.files:

0 commit comments

Comments
 (0)