def get_tzinfo_range(klass, start, end): result = [] while start and (start < end): tzinfo = klass(start) result.append(tzinfo) start = tzinfo.next_dst_toggle return result # # Install the XMLRPC Marshaller: # from xmlrpclib import register_marshaller from xmlrpclib import ObjectMarshaller class TZInfoMarshaller(ObjectMarshaller): def encode_on(self, xmlrpc_marshaller, *args): xmlrpc_marshaller.dump_struct(*map(lambda arg: arg.as_dict(), args)) return def encode(self, d): raise 'Huh?' def decode(self, d): raise 'Huh?' register_marshaller(TZInfo, TZInfoMarshaller())
self.is_dst = 0 self.next_dst_toggle = 0 self.tz_offsets = (0, 0) self.tz_names = ('UTC', 'UTC') return def get_tzinfo_range(klass, start, end): result = [] while start and (start < end): tzinfo = klass(start) result.append(tzinfo) start = tzinfo.next_dst_toggle return result # # Install the XMLRPC Marshaller: # from xmlrpclib import register_marshaller from xmlrpclib import ObjectMarshaller class TZInfoMarshaller(ObjectMarshaller): def encode_on(self, xmlrpc_marshaller, *args): xmlrpc_marshaller.dump_struct(*map(lambda arg: arg.as_dict(), args)) return def encode(self, d): raise 'Huh?' def decode(self, d): raise 'Huh?' register_marshaller(TZInfo, TZInfoMarshaller())
def _load_custom_marshallers(): import xmlrpc from xmlrpclib import register_marshaller from stream import StreamingTupleWithCallback from xmlrpclib import ArrayMarshaller from xmlrpclib import DictMarshaller from xmlrpclib import ExceptionMarshaller from xmlrpclib import FloatMarshaller from xmlrpclib import IntMarshaller from xmlrpclib import LongMarshaller from xmlrpclib import StringMarshaller register_marshaller(Exception, ExceptionMarshaller()) register_marshaller(StreamingTupleWithCallback, ArrayMarshaller()) register_marshaller(dict, DictMarshaller()) register_marshaller(float, FloatMarshaller()) register_marshaller(int, IntMarshaller()) register_marshaller(list, ArrayMarshaller()) register_marshaller(long, LongMarshaller()) register_marshaller(str, StringMarshaller()) register_marshaller(tuple, ArrayMarshaller()) return