diff options
author | ng0 <ng0@n0.is> | 2017-12-01 20:27:51 +0000 |
---|---|---|
committer | ng0 <ng0@n0.is> | 2017-12-01 20:27:51 +0000 |
commit | e46b690de9baafbeaa52f178d361556298538172 (patch) | |
tree | f7a3f4c3332273940bc74c6ed64466662e545edf | |
parent | 737dad3d2564636a0d0daf3f3df6998a9aed318d (diff) | |
download | gnunet-python-e46b690de9baafbeaa52f178d361556298538172.tar.gz gnunet-python-e46b690de9baafbeaa52f178d361556298538172.zip |
PEP fixes
-rw-r--r-- | gnunet/strings.py | 173 |
1 files changed, 88 insertions, 85 deletions
diff --git a/gnunet/strings.py b/gnunet/strings.py index cfbdaa5..595c450 100644 --- a/gnunet/strings.py +++ b/gnunet/strings.py | |||
@@ -2,96 +2,99 @@ import datetime | |||
2 | 2 | ||
3 | from gnunet import * | 3 | from gnunet import * |
4 | 4 | ||
5 | |||
5 | encTable = "0123456789ABCDEFGHIJKLMNOPQRSTUV" | 6 | encTable = "0123456789ABCDEFGHIJKLMNOPQRSTUV" |
6 | 7 | ||
7 | def data_to_string(data): | ||
8 | data = bytearray(data) | ||
9 | size = len(data) | ||
10 | bits = 0 | ||
11 | rpos = 0 | ||
12 | vbit = 0 | ||
13 | ret = "" | ||
14 | while rpos < size: | ||
15 | while rpos < size and vbit < 5: | ||
16 | bits = (bits << 8) | data[rpos] | ||
17 | rpos += 1 | ||
18 | vbit += 8 | ||
19 | while vbit >= 5: | ||
20 | vbit -= 5 | ||
21 | ret += encTable[(bits >> vbit) & 31] | ||
22 | if vbit > 0: | ||
23 | ret += encTable[(bits << (5 - vbit)) & 31] | ||
24 | return ret | ||
25 | 8 | ||
26 | def string_to_data(s): | 9 | def data_to_string(data): |
27 | s = str(s) | 10 | data = bytearray(data) |
28 | size = len(s) | 11 | size = len(data) |
29 | bits = 0 | 12 | bits = 0 |
30 | rpos = 0 | 13 | rpos = 0 |
31 | vbit = 0 | 14 | vbit = 0 |
32 | ret = bytearray([]) | 15 | ret = "" |
33 | try: | ||
34 | while rpos < size: | 16 | while rpos < size: |
35 | while rpos < size and vbit < 8: | 17 | while rpos < size and vbit < 5: |
36 | bits = (bits << 5) | int(s[rpos], 32) | 18 | bits = (bits << 8) | data[rpos] |
37 | rpos += 1 | 19 | rpos += 1 |
38 | vbit += 5 | 20 | vbit += 8 |
39 | while vbit >= 8: | 21 | while vbit >= 5: |
40 | vbit -= 8 | 22 | vbit -= 5 |
41 | ret.append((bits >> vbit) & 255) | 23 | ret += encTable[(bits >> vbit) & 31] |
42 | if vbit > 0: | 24 | if vbit > 0: |
43 | if bits & ((1 << vbit) - 1) != 0: | 25 | ret += encTable[(bits << (5 - vbit)) & 31] |
44 | raise ValueError("") | 26 | return ret |
45 | except ValueError: | ||
46 | raise ValueError("'" + s + "' is not a valid data-encoding string") | ||
47 | return ret | ||
48 | |||
49 | def absolute_time_to_string(t): | ||
50 | return t.strftime("%a %b %d %H:%M:%S %Y") | ||
51 | 27 | ||
52 | def string_to_absolute_time(s): | 28 | |
53 | if s == "end of time": | 29 | def string_to_data(s): |
54 | return None | 30 | s = str(s) |
55 | try: | 31 | size = len(s) |
56 | return datetime.datetime.strptime(s, "%a %b %d %H:%M:%S %Y") | 32 | bits = 0 |
57 | except ValueError: | 33 | rpos = 0 |
58 | pass | 34 | vbit = 0 |
59 | try: | 35 | ret = bytearray([]) |
60 | return datetime.datetime.strptime(s, "%c") | 36 | try: |
61 | except ValueError: | 37 | while rpos < size: |
62 | pass | 38 | while rpos < size and vbit < 8: |
63 | try: | 39 | bits = (bits << 5) | int(s[rpos], 32) |
64 | return datetime.datetime.strptime(s, "%Ec") | 40 | rpos += 1 |
65 | except ValueError: | 41 | vbit += 5 |
66 | pass | 42 | while vbit >= 8: |
67 | try: | 43 | vbit -= 8 |
68 | return datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S") | 44 | ret.append((bits >> vbit) & 255) |
69 | except ValueError: | 45 | if vbit > 0: |
70 | pass | 46 | if bits & ((1 << vbit) - 1) != 0: |
71 | try: | 47 | raise ValueError("") |
72 | return datetime.datetime.strptime(s, "%Y-%m-%d %H:%M") | 48 | except ValueError: |
73 | except ValueError: | 49 | raise ValueError("'" + s + "' is not a valid data-encoding string") |
74 | pass | 50 | return ret |
75 | try: | 51 | |
76 | return datetime.datetime.strptime(s, "%x") | 52 | |
77 | except ValueError: | 53 | def absolute_time_to_string(t): |
78 | pass | 54 | return t.strftime("%a %b %d %H:%M:%S %Y") |
79 | try: | ||
80 | return datetime.datetime.strptime(s, "%Ex") | ||
81 | except ValueError: | ||
82 | pass | ||
83 | try: | ||
84 | return datetime.datetime.strptime(s, "%Y-%m-%d") | ||
85 | except ValueError: | ||
86 | pass | ||
87 | try: | ||
88 | return datetime.datetime.strptime(s, "%Y-%m") | ||
89 | except ValueError: | ||
90 | pass | ||
91 | try: | ||
92 | return datetime.datetime.strptime(s, "%Y") | ||
93 | except ValueError: | ||
94 | pass | ||
95 | raise ValueError("%s is not a properly formatted time string" % s) | ||
96 | 55 | ||
97 | 56 | ||
57 | def string_to_absolute_time(s): | ||
58 | if s == "end of time": | ||
59 | return None | ||
60 | try: | ||
61 | return datetime.datetime.strptime(s, "%a %b %d %H:%M:%S %Y") | ||
62 | except ValueError: | ||
63 | pass | ||
64 | try: | ||
65 | return datetime.datetime.strptime(s, "%c") | ||
66 | except ValueError: | ||
67 | pass | ||
68 | try: | ||
69 | return datetime.datetime.strptime(s, "%Ec") | ||
70 | except ValueError: | ||
71 | pass | ||
72 | try: | ||
73 | return datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S") | ||
74 | except ValueError: | ||
75 | pass | ||
76 | try: | ||
77 | return datetime.datetime.strptime(s, "%Y-%m-%d %H:%M") | ||
78 | except ValueError: | ||
79 | pass | ||
80 | try: | ||
81 | return datetime.datetime.strptime(s, "%x") | ||
82 | except ValueError: | ||
83 | pass | ||
84 | try: | ||
85 | return datetime.datetime.strptime(s, "%Ex") | ||
86 | except ValueError: | ||
87 | pass | ||
88 | try: | ||
89 | return datetime.datetime.strptime(s, "%Y-%m-%d") | ||
90 | except ValueError: | ||
91 | pass | ||
92 | try: | ||
93 | return datetime.datetime.strptime(s, "%Y-%m") | ||
94 | except ValueError: | ||
95 | pass | ||
96 | try: | ||
97 | return datetime.datetime.strptime(s, "%Y") | ||
98 | except ValueError: | ||
99 | pass | ||
100 | raise ValueError("%s is not a properly formatted time string" % s) | ||