|
| 1 | +import pendulum |
1 | 2 | import datetime
|
2 |
| -import traceback |
3 |
| -from Pyro5.api import Proxy, config |
| 3 | +from Pyro5.api import Proxy |
4 | 4 |
|
5 | 5 |
|
6 | 6 | uri = input("What is the server uri? ").strip()
|
7 | 7 | fmt = '%Y-%m-%d %H:%M:%S %Z%z'
|
8 | 8 | print("local time without timezone: ", datetime.datetime.now().strftime(fmt))
|
9 | 9 |
|
10 | 10 |
|
11 |
| -def test(): |
12 |
| - with Proxy(uri) as serv: |
13 |
| - print("\nFIRST: no timezone") |
14 |
| - try: |
15 |
| - date1 = serv.echo(datetime.datetime.now()) |
16 |
| - print("Got from server:", date1) |
17 |
| - print("{0}\n {1} ({2})".format(date1, repr(date1), type(date1))) |
18 |
| - if isinstance(date1, datetime.datetime): |
19 |
| - if hasattr(date1, "tzinfo"): |
20 |
| - print(" tzinfo =", date1.tzinfo) |
21 |
| - else: |
22 |
| - print(" no tzinfo attribute") |
23 |
| - except Exception: |
24 |
| - print("ERROR!") |
25 |
| - traceback.print_exc() |
26 |
| - |
27 |
| - print("\nSECOND: PyTz timezones") |
28 |
| - try: |
29 |
| - date1 = serv.pytz() |
30 |
| - print("Got from server:", date1) |
31 |
| - if isinstance(date1, datetime.datetime): |
32 |
| - assert isinstance(date1.tzinfo, datetime.tzinfo) |
33 |
| - print("{0}\n {1} ({2})\n {3}".format(date1, date1.tzinfo, type(date1.tzinfo), date1.strftime(fmt))) |
34 |
| - date2 = serv.echo(date1) |
35 |
| - print("{0}\n {1} ({2})\n {3}".format(date2, date2.tzinfo, type(date2.tzinfo), date2.strftime(fmt))) |
36 |
| - assert date1 == date2 |
37 |
| - except Exception: |
38 |
| - print("ERROR!") |
39 |
| - traceback.print_exc() |
40 |
| - |
41 |
| - print("\nTHIRD: DateUtil timezones") |
42 |
| - try: |
43 |
| - date1 = serv.dateutil() |
44 |
| - print("Got from server:", date1) |
45 |
| - if isinstance(date1, datetime.datetime): |
46 |
| - assert isinstance(date1.tzinfo, datetime.tzinfo) |
47 |
| - print("{0}\n {1} ({2})\n {3}".format(date1, date1.tzinfo, type(date1.tzinfo), date1.strftime(fmt))) |
48 |
| - date2 = serv.echo(date1) |
49 |
| - print("{0}\n {1} ({2})\n {3}".format(date2, date2.tzinfo, type(date2.tzinfo), date2.strftime(fmt))) |
50 |
| - assert date1 == date2 |
51 |
| - except Exception: |
52 |
| - print("ERROR!") |
53 |
| - traceback.print_exc() |
54 |
| - |
55 |
| - print("\nFOURTH: Pendulum timezones") |
56 |
| - try: |
57 |
| - date1 = serv.pendulum() |
58 |
| - print("Got from server:", date1) |
59 |
| - if isinstance(date1, datetime.datetime): |
60 |
| - assert isinstance(date1.tzinfo, datetime.tzinfo) |
61 |
| - print("{0}\n {1} ({2})\n {3}".format(date1, date1.tzinfo, type(date1.tzinfo), date1.strftime(fmt))) |
62 |
| - date2 = serv.echo(date1) |
63 |
| - print("{0}\n {1} ({2})\n {3}".format(date2, date2.tzinfo, type(date2.tzinfo), date2.strftime(fmt))) |
64 |
| - assert date1 == date2 |
65 |
| - except Exception: |
66 |
| - print("ERROR!") |
67 |
| - traceback.print_exc() |
68 |
| - |
69 |
| - |
70 |
| -# serpent. |
71 |
| -print("\n******* serpent *******") |
72 |
| -config.SERIALIZER = "serpent" |
73 |
| -try: |
74 |
| - test() |
75 |
| -except Exception: |
76 |
| - import traceback |
77 |
| - traceback.print_exc() |
78 |
| - |
79 |
| -# json. |
80 |
| -print("\n******* json *******") |
81 |
| -config.SERIALIZER = "json" |
82 |
| -try: |
83 |
| - test() |
84 |
| -except Exception: |
85 |
| - import traceback |
86 |
| - traceback.print_exc() |
87 |
| - |
88 |
| -# msgpack. |
89 |
| -print("\n******* msgpack *******") |
90 |
| -config.SERIALIZER = "msgpack" |
91 |
| -try: |
92 |
| - test() |
93 |
| -except Exception: |
94 |
| - import traceback |
95 |
| - traceback.print_exc() |
96 |
| - |
97 |
| -# marshal. |
98 |
| -print("\n******* marshal *******") |
99 |
| -config.SERIALIZER = "marshal" |
100 |
| -try: |
101 |
| - test() |
102 |
| -except Exception: |
103 |
| - import traceback |
104 |
| - traceback.print_exc() |
105 |
| - |
| 11 | +with Proxy(uri) as serv: |
| 12 | + print("\n1. no timezone") |
| 13 | + datestr = serv.echo(datetime.datetime.now()) |
| 14 | + print("Got from server:", repr(datestr)) |
| 15 | + dt = pendulum.parse(datestr) |
| 16 | + print(" parsed:", repr(dt)) |
| 17 | + |
| 18 | + print("\n2. PyTz timezones") |
| 19 | + datestr = serv.pytz() |
| 20 | + print("Got from server:", repr(datestr)) |
| 21 | + dt = pendulum.parse(datestr) |
| 22 | + print(" parsed:", repr(dt)) |
| 23 | + |
| 24 | + print("\n3. DateUtil timezones") |
| 25 | + datestr = serv.dateutil() |
| 26 | + print("Got from server:", repr(datestr)) |
| 27 | + dt = pendulum.parse(datestr) |
| 28 | + print(" parsed:", repr(dt)) |
| 29 | + |
| 30 | + print("\n4. Pendulum timezones") |
| 31 | + datestr = serv.pendulum() |
| 32 | + print("Got from server:", repr(datestr)) |
| 33 | + dt = pendulum.parse(datestr) |
| 34 | + print(" parsed:", repr(dt)) |
| 35 | + print() |
0 commit comments