Skip to content

Commit 3fba564

Browse files
committed
auto push commit coverage
1 parent e583bef commit 3fba564

5 files changed

Lines changed: 94 additions & 80 deletions

File tree

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,27 @@ To install PyBen, follow these steps:
2020
Using pip:
2121

2222
```bash
23-
pip install pyben
23+
pip install pyben
2424
```
2525

2626
Using git:
2727

2828
```cmd
29-
git clone https://github.com/alexpdev/pyben.git
29+
git clone https://github.com/alexpdev/pyben.git
3030
```
3131

3232
## Using PyBen
3333

3434
The API is intentionally designed to mimic Python's json module.
3535

3636
```python
37-
>>> fd = "path/to/file"
38-
>>> data = {"item1": ["item2", 3, [4], {5: "item6"}]}
39-
>>> encoded = pyben.dumps(data)
40-
>>> encoded
41-
b'd5:item1l5:item2i3eli4eedi5e5:item6eee'
42-
>>> decoded = pyben.loads(encoded)
43-
{'item1': ['item2', 3, [4], {5: 'item6'}]}
37+
>>> fd = "path/to/file"
38+
>>> data = {"item1": ["item2", 3, [4], {5: "item6"}]}
39+
>>> encoded = pyben.dumps(data)
40+
>>> encoded
41+
... b'd5:item1l5:item2i3eli4eedi5e5:item6eee'
42+
>>> decoded = pyben.loads(encoded)
43+
... {'item1': ['item2', 3, [4], {5: 'item6'}]}
4444
```
4545

4646
One key difference is that the 'load' and 'dump' methods accept as arguments,
@@ -49,17 +49,17 @@ string paths or path objects as well as open iobuffer.
4949
For Example this:
5050

5151
```python
52-
>> with open("encoded.file", "wb") as fd:
53-
... pyben.dump(data, fd)
54-
>> with open("encoded.file", "rb") as fd:
55-
... decoded = pyben.load(fd)
52+
>> with open("encoded.file", "wb") as fd:
53+
... pyben.dump(data, fd)
54+
>> with open("encoded.file", "rb") as fd:
55+
... decoded = pyben.load(fd)
5656
```
5757

5858
is the same as doing following.
5959

6060
```python
61-
>>> pyben.dump(data, "encoded.file")
62-
>>> decoded = pyben.load("encoded.file")
61+
>>> pyben.dump(data, "encoded.file")
62+
>>> decoded = pyben.load("encoded.file")
6363
```
6464

6565
The full API includes many other functions and classes as well.

corbertura.xml

Lines changed: 58 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" ?>
2-
<coverage version="5.5" timestamp="1632297182106" lines-valid="513" lines-covered="490" line-rate="0.9552" branches-covered="0" branches-valid="0" branch-rate="0" complexity="0">
2+
<coverage version="5.5" timestamp="1632300194856" lines-valid="513" lines-covered="490" line-rate="0.9552" branches-covered="0" branches-valid="0" branch-rate="0" complexity="0">
33
<!-- Generated by coverage.py: https://coverage.readthedocs.io -->
44
<!-- Based on https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd -->
55
<sources>
@@ -15,58 +15,55 @@
1515
<line number="30" hits="1"/>
1616
<line number="31" hits="1"/>
1717
<line number="35" hits="1"/>
18-
<line number="51" hits="1"/>
19-
<line number="52" hits="1"/>
20-
<line number="53" hits="1"/>
2118
<line number="54" hits="1"/>
19+
<line number="55" hits="1"/>
2220
<line number="56" hits="1"/>
2321
<line number="57" hits="1"/>
24-
<line number="58" hits="1"/>
22+
<line number="59" hits="1"/>
23+
<line number="60" hits="1"/>
2524
<line number="61" hits="1"/>
26-
<line number="75" hits="1"/>
25+
<line number="64" hits="1"/>
2726
<line number="78" hits="1"/>
28-
<line number="92" hits="1"/>
29-
<line number="93" hits="0"/>
27+
<line number="81" hits="1"/>
3028
<line number="95" hits="1"/>
31-
<line number="96" hits="1"/>
32-
<line number="97" hits="1"/>
29+
<line number="96" hits="0"/>
30+
<line number="98" hits="1"/>
31+
<line number="99" hits="1"/>
3332
<line number="100" hits="1"/>
34-
<line number="114" hits="1"/>
35-
<line number="115" hits="1"/>
33+
<line number="103" hits="1"/>
34+
<line number="117" hits="1"/>
3635
<line number="118" hits="1"/>
37-
<line number="132" hits="1"/>
38-
<line number="133" hits="1"/>
39-
<line number="134" hits="1"/>
36+
<line number="121" hits="1"/>
4037
<line number="135" hits="1"/>
4138
<line number="136" hits="1"/>
42-
<line number="137" hits="0"/>
43-
<line number="138" hits="0"/>
39+
<line number="137" hits="1"/>
40+
<line number="138" hits="1"/>
4441
<line number="139" hits="1"/>
42+
<line number="140" hits="0"/>
43+
<line number="141" hits="0"/>
4544
<line number="142" hits="1"/>
46-
<line number="156" hits="1"/>
47-
<line number="157" hits="1"/>
45+
<line number="145" hits="1"/>
46+
<line number="159" hits="1"/>
4847
<line number="160" hits="1"/>
49-
<line number="174" hits="1"/>
50-
<line number="175" hits="1"/>
51-
<line number="176" hits="1"/>
48+
<line number="163" hits="1"/>
5249
<line number="177" hits="1"/>
5350
<line number="178" hits="1"/>
5451
<line number="179" hits="1"/>
5552
<line number="180" hits="1"/>
5653
<line number="181" hits="1"/>
5754
<line number="182" hits="1"/>
55+
<line number="183" hits="1"/>
56+
<line number="184" hits="1"/>
5857
<line number="185" hits="1"/>
59-
<line number="199" hits="1"/>
60-
<line number="200" hits="1"/>
61-
<line number="201" hits="1"/>
58+
<line number="188" hits="1"/>
6259
<line number="202" hits="1"/>
6360
<line number="203" hits="1"/>
6461
<line number="204" hits="1"/>
6562
<line number="205" hits="1"/>
63+
<line number="206" hits="1"/>
64+
<line number="207" hits="1"/>
6665
<line number="208" hits="1"/>
67-
<line number="227" hits="1"/>
68-
<line number="228" hits="1"/>
69-
<line number="229" hits="1"/>
66+
<line number="211" hits="1"/>
7067
<line number="230" hits="1"/>
7168
<line number="231" hits="1"/>
7269
<line number="232" hits="1"/>
@@ -76,39 +73,42 @@
7673
<line number="236" hits="1"/>
7774
<line number="237" hits="1"/>
7875
<line number="238" hits="1"/>
79-
<line number="240" hits="0"/>
80-
<line number="243" hits="1"/>
81-
<line number="262" hits="1"/>
82-
<line number="263" hits="1"/>
83-
<line number="264" hits="1"/>
76+
<line number="239" hits="1"/>
77+
<line number="240" hits="1"/>
78+
<line number="241" hits="1"/>
79+
<line number="243" hits="0"/>
80+
<line number="246" hits="1"/>
8481
<line number="265" hits="1"/>
8582
<line number="266" hits="1"/>
8683
<line number="267" hits="1"/>
8784
<line number="268" hits="1"/>
8885
<line number="269" hits="1"/>
89-
<line number="270" hits="0"/>
90-
<line number="271" hits="0"/>
86+
<line number="270" hits="1"/>
87+
<line number="271" hits="1"/>
88+
<line number="272" hits="1"/>
9189
<line number="273" hits="0"/>
92-
<line number="276" hits="1"/>
93-
<line number="290" hits="0"/>
94-
<line number="291" hits="0"/>
95-
<line number="294" hits="1"/>
96-
<line number="308" hits="1"/>
97-
<line number="309" hits="1"/>
90+
<line number="274" hits="0"/>
91+
<line number="276" hits="0"/>
92+
<line number="279" hits="1"/>
93+
<line number="293" hits="0"/>
94+
<line number="294" hits="0"/>
95+
<line number="297" hits="1"/>
96+
<line number="311" hits="1"/>
9897
<line number="312" hits="1"/>
99-
<line number="326" hits="1"/>
98+
<line number="315" hits="1"/>
10099
<line number="329" hits="1"/>
101-
<line number="343" hits="1"/>
102-
<line number="344" hits="1"/>
103-
<line number="345" hits="1"/>
100+
<line number="332" hits="1"/>
104101
<line number="346" hits="1"/>
105102
<line number="347" hits="1"/>
106103
<line number="348" hits="1"/>
104+
<line number="349" hits="1"/>
105+
<line number="350" hits="1"/>
107106
<line number="351" hits="1"/>
108-
<line number="365" hits="1"/>
109-
<line number="366" hits="1"/>
110-
<line number="367" hits="1"/>
107+
<line number="354" hits="1"/>
111108
<line number="368" hits="1"/>
109+
<line number="369" hits="1"/>
110+
<line number="370" hits="1"/>
111+
<line number="371" hits="1"/>
112112
</lines>
113113
</class>
114114
<class name="classes.py" filename="pyben/classes.py" complexity="0" line-rate="0.9084" branch-rate="0">
@@ -252,17 +252,17 @@
252252
<lines>
253253
<line number="15" hits="1"/>
254254
<line number="18" hits="1"/>
255-
<line number="29" hits="1"/>
256-
<line number="31" hits="1"/>
257-
<line number="32" hits="1"/>
255+
<line number="33" hits="1"/>
258256
<line number="35" hits="1"/>
259-
<line number="46" hits="1"/>
260-
<line number="48" hits="1"/>
261-
<line number="49" hits="1"/>
262-
<line number="53" hits="1"/>
263-
<line number="64" hits="1"/>
264-
<line number="66" hits="1"/>
265-
<line number="67" hits="1"/>
257+
<line number="36" hits="1"/>
258+
<line number="39" hits="1"/>
259+
<line number="54" hits="1"/>
260+
<line number="56" hits="1"/>
261+
<line number="57" hits="1"/>
262+
<line number="61" hits="1"/>
263+
<line number="75" hits="1"/>
264+
<line number="77" hits="1"/>
265+
<line number="78" hits="1"/>
266266
</lines>
267267
</class>
268268
<class name="__init__.py" filename="pyben/__init__.py" complexity="0" line-rate="1" branch-rate="0">

pyben/bencode.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ def dump(obj, iobuffer):
3636
"""
3737
Shortcut function for bencode encode data and write to file.
3838
39+
Works effectively the same as it's json equivelant except also
40+
accepts a path as well as an open fileIO.
41+
3942
Args
4043
-----------------
4144
* obj : any

pyben/classes.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def __init__(self, data=None):
3737
3838
Args
3939
--------
40-
data: ``bytes`` or `bytearray`
40+
data : ``bytes`` or `bytearray`
4141
(Optional) (default=None)Target data for decoding.
4242
"""
4343
self.data = data
@@ -139,7 +139,7 @@ def _decode_dict(self, bits):
139139
140140
Args
141141
--------
142-
bits: ``bytes`` or `bytearray`
142+
bits : ``bytes`` or `bytearray`
143143
`Bytes` of data for decoding.
144144
145145
Returns
@@ -186,7 +186,7 @@ def _decode_str(bits):
186186
187187
Args
188188
--------
189-
bits: ``bytes`` or `bytearray`
189+
bits : ``bytes`` or `bytearray`
190190
Bencoded string.
191191
192192
Returns
@@ -210,7 +210,7 @@ def _decode_int(bits):
210210
211211
Args
212212
--------
213-
bits: ``bytes`` or `bytearray`
213+
bits : ``bytes`` or `bytearray`
214214
Bencoded intiger.
215215
216216
Returns

pyben/exceptions.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,13 @@ class DecodeError(Exception):
2020
"""
2121
Error occured during decode process.
2222
23+
Raised when attempting to decode an incompatible bytearray.
24+
Mostly it indicates the object is a hash digest and should remian
25+
as a bytes object.
26+
2327
Args
2428
------
25-
val: any
29+
val : any
2630
Value that cause the exception
2731
"""
2832

@@ -37,9 +41,13 @@ class EncodeError(Exception):
3741
"""
3842
Error occured during encoding process.
3943
44+
Raised when attempting to bencode encode an incompatible
45+
data type into bencode format. Bencode accepts lists, dicts,
46+
strings, integers, and bytes.
47+
4048
Args
4149
------
42-
val: any
50+
val : any
4351
Value that cause the exception
4452
"""
4553

@@ -55,9 +63,12 @@ class FilePathError(Exception):
5563
"""
5664
Bad path error.
5765
66+
Generally raised when the file at the path specified
67+
does not exist.
68+
5869
Args
5970
------
60-
val: any
71+
val : any
6172
Value that cause the exception
6273
"""
6374

0 commit comments

Comments
 (0)