Subversion Repositories SmartDukaan

Rev

Rev 3378 | Rev 3431 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3378 Rev 3385
Line 572... Line 572...
572
     - userId
572
     - userId
573
     - itemId
573
     - itemId
574
    """
574
    """
575
    pass
575
    pass
576
 
576
 
-
 
577
  def getCartsWithCouponCount(self, couponCode):
-
 
578
    """
-
 
579
    Returns count of Carts with given coupon applied
-
 
580
    
-
 
581
    Parameters:
-
 
582
     - couponCode
-
 
583
    """
-
 
584
    pass
-
 
585
 
577
 
586
 
578
class Client(shop2020.thriftpy.generic.GenericService.Client, Iface):
587
class Client(shop2020.thriftpy.generic.GenericService.Client, Iface):
579
  """
588
  """
580
  service
589
  service
581
  """
590
  """
Line 2831... Line 2840...
2831
    result = updateBrowseHistory_result()
2840
    result = updateBrowseHistory_result()
2832
    result.read(self._iprot)
2841
    result.read(self._iprot)
2833
    self._iprot.readMessageEnd()
2842
    self._iprot.readMessageEnd()
2834
    return
2843
    return
2835
 
2844
 
-
 
2845
  def getCartsWithCouponCount(self, couponCode):
-
 
2846
    """
-
 
2847
    Returns count of Carts with given coupon applied
-
 
2848
    
-
 
2849
    Parameters:
-
 
2850
     - couponCode
-
 
2851
    """
-
 
2852
    self.send_getCartsWithCouponCount(couponCode)
-
 
2853
    return self.recv_getCartsWithCouponCount()
-
 
2854
 
-
 
2855
  def send_getCartsWithCouponCount(self, couponCode):
-
 
2856
    self._oprot.writeMessageBegin('getCartsWithCouponCount', TMessageType.CALL, self._seqid)
-
 
2857
    args = getCartsWithCouponCount_args()
-
 
2858
    args.couponCode = couponCode
-
 
2859
    args.write(self._oprot)
-
 
2860
    self._oprot.writeMessageEnd()
-
 
2861
    self._oprot.trans.flush()
-
 
2862
 
-
 
2863
  def recv_getCartsWithCouponCount(self, ):
-
 
2864
    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
-
 
2865
    if mtype == TMessageType.EXCEPTION:
-
 
2866
      x = TApplicationException()
-
 
2867
      x.read(self._iprot)
-
 
2868
      self._iprot.readMessageEnd()
-
 
2869
      raise x
-
 
2870
    result = getCartsWithCouponCount_result()
-
 
2871
    result.read(self._iprot)
-
 
2872
    self._iprot.readMessageEnd()
-
 
2873
    if result.success != None:
-
 
2874
      return result.success
-
 
2875
    raise TApplicationException(TApplicationException.MISSING_RESULT, "getCartsWithCouponCount failed: unknown result");
-
 
2876
 
2836
 
2877
 
2837
class Processor(shop2020.thriftpy.generic.GenericService.Processor, Iface, TProcessor):
2878
class Processor(shop2020.thriftpy.generic.GenericService.Processor, Iface, TProcessor):
2838
  def __init__(self, handler):
2879
  def __init__(self, handler):
2839
    shop2020.thriftpy.generic.GenericService.Processor.__init__(self, handler)
2880
    shop2020.thriftpy.generic.GenericService.Processor.__init__(self, handler)
2840
    self._processMap["createAnonymousUser"] = Processor.process_createAnonymousUser
2881
    self._processMap["createAnonymousUser"] = Processor.process_createAnonymousUser
Line 2902... Line 2943...
2902
    self._processMap["getMyResearchItems"] = Processor.process_getMyResearchItems
2943
    self._processMap["getMyResearchItems"] = Processor.process_getMyResearchItems
2903
    self._processMap["updateMyResearch"] = Processor.process_updateMyResearch
2944
    self._processMap["updateMyResearch"] = Processor.process_updateMyResearch
2904
    self._processMap["deleteItemFromMyResearch"] = Processor.process_deleteItemFromMyResearch
2945
    self._processMap["deleteItemFromMyResearch"] = Processor.process_deleteItemFromMyResearch
2905
    self._processMap["getBrowseHistoryItems"] = Processor.process_getBrowseHistoryItems
2946
    self._processMap["getBrowseHistoryItems"] = Processor.process_getBrowseHistoryItems
2906
    self._processMap["updateBrowseHistory"] = Processor.process_updateBrowseHistory
2947
    self._processMap["updateBrowseHistory"] = Processor.process_updateBrowseHistory
-
 
2948
    self._processMap["getCartsWithCouponCount"] = Processor.process_getCartsWithCouponCount
2907
 
2949
 
2908
  def process(self, iprot, oprot):
2950
  def process(self, iprot, oprot):
2909
    (name, type, seqid) = iprot.readMessageBegin()
2951
    (name, type, seqid) = iprot.readMessageBegin()
2910
    if name not in self._processMap:
2952
    if name not in self._processMap:
2911
      iprot.skip(TType.STRUCT)
2953
      iprot.skip(TType.STRUCT)
Line 3838... Line 3880...
3838
    oprot.writeMessageBegin("updateBrowseHistory", TMessageType.REPLY, seqid)
3880
    oprot.writeMessageBegin("updateBrowseHistory", TMessageType.REPLY, seqid)
3839
    result.write(oprot)
3881
    result.write(oprot)
3840
    oprot.writeMessageEnd()
3882
    oprot.writeMessageEnd()
3841
    oprot.trans.flush()
3883
    oprot.trans.flush()
3842
 
3884
 
-
 
3885
  def process_getCartsWithCouponCount(self, seqid, iprot, oprot):
-
 
3886
    args = getCartsWithCouponCount_args()
-
 
3887
    args.read(iprot)
-
 
3888
    iprot.readMessageEnd()
-
 
3889
    result = getCartsWithCouponCount_result()
-
 
3890
    result.success = self._handler.getCartsWithCouponCount(args.couponCode)
-
 
3891
    oprot.writeMessageBegin("getCartsWithCouponCount", TMessageType.REPLY, seqid)
-
 
3892
    result.write(oprot)
-
 
3893
    oprot.writeMessageEnd()
-
 
3894
    oprot.trans.flush()
-
 
3895
 
3843
 
3896
 
3844
# HELPER FUNCTIONS AND STRUCTURES
3897
# HELPER FUNCTIONS AND STRUCTURES
3845
 
3898
 
3846
class createAnonymousUser_args:
3899
class createAnonymousUser_args:
3847
  """
3900
  """
Line 6164... Line 6217...
6164
      if ftype == TType.STOP:
6217
      if ftype == TType.STOP:
6165
        break
6218
        break
6166
      if fid == 0:
6219
      if fid == 0:
6167
        if ftype == TType.LIST:
6220
        if ftype == TType.LIST:
6168
          self.success = []
6221
          self.success = []
6169
          (_etype31, _size28) = iprot.readListBegin()
6222
          (_etype38, _size35) = iprot.readListBegin()
6170
          for _i32 in xrange(_size28):
6223
          for _i39 in xrange(_size35):
6171
            _elem33 = Address()
6224
            _elem40 = Address()
6172
            _elem33.read(iprot)
6225
            _elem40.read(iprot)
6173
            self.success.append(_elem33)
6226
            self.success.append(_elem40)
6174
          iprot.readListEnd()
6227
          iprot.readListEnd()
6175
        else:
6228
        else:
6176
          iprot.skip(ftype)
6229
          iprot.skip(ftype)
6177
      elif fid == 1:
6230
      elif fid == 1:
6178
        if ftype == TType.STRUCT:
6231
        if ftype == TType.STRUCT:
Line 6191... Line 6244...
6191
      return
6244
      return
6192
    oprot.writeStructBegin('getAllAddressesForUser_result')
6245
    oprot.writeStructBegin('getAllAddressesForUser_result')
6193
    if self.success != None:
6246
    if self.success != None:
6194
      oprot.writeFieldBegin('success', TType.LIST, 0)
6247
      oprot.writeFieldBegin('success', TType.LIST, 0)
6195
      oprot.writeListBegin(TType.STRUCT, len(self.success))
6248
      oprot.writeListBegin(TType.STRUCT, len(self.success))
6196
      for iter34 in self.success:
6249
      for iter41 in self.success:
6197
        iter34.write(oprot)
6250
        iter41.write(oprot)
6198
      oprot.writeListEnd()
6251
      oprot.writeListEnd()
6199
      oprot.writeFieldEnd()
6252
      oprot.writeFieldEnd()
6200
    if self.ucx != None:
6253
    if self.ucx != None:
6201
      oprot.writeFieldBegin('ucx', TType.STRUCT, 1)
6254
      oprot.writeFieldBegin('ucx', TType.STRUCT, 1)
6202
      self.ucx.write(oprot)
6255
      self.ucx.write(oprot)
Line 7003... Line 7056...
7003
      if ftype == TType.STOP:
7056
      if ftype == TType.STOP:
7004
        break
7057
        break
7005
      if fid == 0:
7058
      if fid == 0:
7006
        if ftype == TType.LIST:
7059
        if ftype == TType.LIST:
7007
          self.success = []
7060
          self.success = []
7008
          (_etype38, _size35) = iprot.readListBegin()
7061
          (_etype45, _size42) = iprot.readListBegin()
7009
          for _i39 in xrange(_size35):
7062
          for _i46 in xrange(_size42):
7010
            _elem40 = UserCommunication()
7063
            _elem47 = UserCommunication()
7011
            _elem40.read(iprot)
7064
            _elem47.read(iprot)
7012
            self.success.append(_elem40)
7065
            self.success.append(_elem47)
7013
          iprot.readListEnd()
7066
          iprot.readListEnd()
7014
        else:
7067
        else:
7015
          iprot.skip(ftype)
7068
          iprot.skip(ftype)
7016
      elif fid == 1:
7069
      elif fid == 1:
7017
        if ftype == TType.STRUCT:
7070
        if ftype == TType.STRUCT:
Line 7030... Line 7083...
7030
      return
7083
      return
7031
    oprot.writeStructBegin('getUserCommunicationByUser_result')
7084
    oprot.writeStructBegin('getUserCommunicationByUser_result')
7032
    if self.success != None:
7085
    if self.success != None:
7033
      oprot.writeFieldBegin('success', TType.LIST, 0)
7086
      oprot.writeFieldBegin('success', TType.LIST, 0)
7034
      oprot.writeListBegin(TType.STRUCT, len(self.success))
7087
      oprot.writeListBegin(TType.STRUCT, len(self.success))
7035
      for iter41 in self.success:
7088
      for iter48 in self.success:
7036
        iter41.write(oprot)
7089
        iter48.write(oprot)
7037
      oprot.writeListEnd()
7090
      oprot.writeListEnd()
7038
      oprot.writeFieldEnd()
7091
      oprot.writeFieldEnd()
7039
    if self.ucx != None:
7092
    if self.ucx != None:
7040
      oprot.writeFieldBegin('ucx', TType.STRUCT, 1)
7093
      oprot.writeFieldBegin('ucx', TType.STRUCT, 1)
7041
      self.ucx.write(oprot)
7094
      self.ucx.write(oprot)
Line 7118... Line 7171...
7118
      if ftype == TType.STOP:
7171
      if ftype == TType.STOP:
7119
        break
7172
        break
7120
      if fid == 0:
7173
      if fid == 0:
7121
        if ftype == TType.LIST:
7174
        if ftype == TType.LIST:
7122
          self.success = []
7175
          self.success = []
7123
          (_etype45, _size42) = iprot.readListBegin()
7176
          (_etype52, _size49) = iprot.readListBegin()
7124
          for _i46 in xrange(_size42):
7177
          for _i53 in xrange(_size49):
7125
            _elem47 = UserCommunication()
7178
            _elem54 = UserCommunication()
7126
            _elem47.read(iprot)
7179
            _elem54.read(iprot)
7127
            self.success.append(_elem47)
7180
            self.success.append(_elem54)
7128
          iprot.readListEnd()
7181
          iprot.readListEnd()
7129
        else:
7182
        else:
7130
          iprot.skip(ftype)
7183
          iprot.skip(ftype)
7131
      elif fid == 1:
7184
      elif fid == 1:
7132
        if ftype == TType.STRUCT:
7185
        if ftype == TType.STRUCT:
Line 7145... Line 7198...
7145
      return
7198
      return
7146
    oprot.writeStructBegin('getAllUserCommunications_result')
7199
    oprot.writeStructBegin('getAllUserCommunications_result')
7147
    if self.success != None:
7200
    if self.success != None:
7148
      oprot.writeFieldBegin('success', TType.LIST, 0)
7201
      oprot.writeFieldBegin('success', TType.LIST, 0)
7149
      oprot.writeListBegin(TType.STRUCT, len(self.success))
7202
      oprot.writeListBegin(TType.STRUCT, len(self.success))
7150
      for iter48 in self.success:
7203
      for iter55 in self.success:
7151
        iter48.write(oprot)
7204
        iter55.write(oprot)
7152
      oprot.writeListEnd()
7205
      oprot.writeListEnd()
7153
      oprot.writeFieldEnd()
7206
      oprot.writeFieldEnd()
7154
    if self.ucx != None:
7207
    if self.ucx != None:
7155
      oprot.writeFieldBegin('ucx', TType.STRUCT, 1)
7208
      oprot.writeFieldBegin('ucx', TType.STRUCT, 1)
7156
      self.ucx.write(oprot)
7209
      self.ucx.write(oprot)
Line 7370... Line 7423...
7370
      if ftype == TType.STOP:
7423
      if ftype == TType.STOP:
7371
        break
7424
        break
7372
      if fid == 0:
7425
      if fid == 0:
7373
        if ftype == TType.LIST:
7426
        if ftype == TType.LIST:
7374
          self.success = []
7427
          self.success = []
7375
          (_etype52, _size49) = iprot.readListBegin()
7428
          (_etype59, _size56) = iprot.readListBegin()
7376
          for _i53 in xrange(_size49):
7429
          for _i60 in xrange(_size56):
7377
            _elem54 = MasterAffiliate()
7430
            _elem61 = MasterAffiliate()
7378
            _elem54.read(iprot)
7431
            _elem61.read(iprot)
7379
            self.success.append(_elem54)
7432
            self.success.append(_elem61)
7380
          iprot.readListEnd()
7433
          iprot.readListEnd()
7381
        else:
7434
        else:
7382
          iprot.skip(ftype)
7435
          iprot.skip(ftype)
7383
      elif fid == 1:
7436
      elif fid == 1:
7384
        if ftype == TType.STRUCT:
7437
        if ftype == TType.STRUCT:
Line 7397... Line 7450...
7397
      return
7450
      return
7398
    oprot.writeStructBegin('getAllMasterAffiliates_result')
7451
    oprot.writeStructBegin('getAllMasterAffiliates_result')
7399
    if self.success != None:
7452
    if self.success != None:
7400
      oprot.writeFieldBegin('success', TType.LIST, 0)
7453
      oprot.writeFieldBegin('success', TType.LIST, 0)
7401
      oprot.writeListBegin(TType.STRUCT, len(self.success))
7454
      oprot.writeListBegin(TType.STRUCT, len(self.success))
7402
      for iter55 in self.success:
7455
      for iter62 in self.success:
7403
        iter55.write(oprot)
7456
        iter62.write(oprot)
7404
      oprot.writeListEnd()
7457
      oprot.writeListEnd()
7405
      oprot.writeFieldEnd()
7458
      oprot.writeFieldEnd()
7406
    if self.utx != None:
7459
    if self.utx != None:
7407
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
7460
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
7408
      self.utx.write(oprot)
7461
      self.utx.write(oprot)
Line 8289... Line 8342...
8289
      if ftype == TType.STOP:
8342
      if ftype == TType.STOP:
8290
        break
8343
        break
8291
      if fid == 0:
8344
      if fid == 0:
8292
        if ftype == TType.LIST:
8345
        if ftype == TType.LIST:
8293
          self.success = []
8346
          self.success = []
8294
          (_etype59, _size56) = iprot.readListBegin()
8347
          (_etype66, _size63) = iprot.readListBegin()
8295
          for _i60 in xrange(_size56):
8348
          for _i67 in xrange(_size63):
8296
            _elem61 = Affiliate()
8349
            _elem68 = Affiliate()
8297
            _elem61.read(iprot)
8350
            _elem68.read(iprot)
8298
            self.success.append(_elem61)
8351
            self.success.append(_elem68)
8299
          iprot.readListEnd()
8352
          iprot.readListEnd()
8300
        else:
8353
        else:
8301
          iprot.skip(ftype)
8354
          iprot.skip(ftype)
8302
      elif fid == 1:
8355
      elif fid == 1:
8303
        if ftype == TType.STRUCT:
8356
        if ftype == TType.STRUCT:
Line 8316... Line 8369...
8316
      return
8369
      return
8317
    oprot.writeStructBegin('getAffiliatesByMasterAffiliate_result')
8370
    oprot.writeStructBegin('getAffiliatesByMasterAffiliate_result')
8318
    if self.success != None:
8371
    if self.success != None:
8319
      oprot.writeFieldBegin('success', TType.LIST, 0)
8372
      oprot.writeFieldBegin('success', TType.LIST, 0)
8320
      oprot.writeListBegin(TType.STRUCT, len(self.success))
8373
      oprot.writeListBegin(TType.STRUCT, len(self.success))
8321
      for iter62 in self.success:
8374
      for iter69 in self.success:
8322
        iter62.write(oprot)
8375
        iter69.write(oprot)
8323
      oprot.writeListEnd()
8376
      oprot.writeListEnd()
8324
      oprot.writeFieldEnd()
8377
      oprot.writeFieldEnd()
8325
    if self.utx != None:
8378
    if self.utx != None:
8326
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
8379
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
8327
      self.utx.write(oprot)
8380
      self.utx.write(oprot)
Line 8755... Line 8808...
8755
      if ftype == TType.STOP:
8808
      if ftype == TType.STOP:
8756
        break
8809
        break
8757
      if fid == 0:
8810
      if fid == 0:
8758
        if ftype == TType.LIST:
8811
        if ftype == TType.LIST:
8759
          self.success = []
8812
          self.success = []
8760
          (_etype66, _size63) = iprot.readListBegin()
8813
          (_etype73, _size70) = iprot.readListBegin()
8761
          for _i67 in xrange(_size63):
8814
          for _i74 in xrange(_size70):
8762
            _elem68 = TrackLog()
8815
            _elem75 = TrackLog()
8763
            _elem68.read(iprot)
8816
            _elem75.read(iprot)
8764
            self.success.append(_elem68)
8817
            self.success.append(_elem75)
8765
          iprot.readListEnd()
8818
          iprot.readListEnd()
8766
        else:
8819
        else:
8767
          iprot.skip(ftype)
8820
          iprot.skip(ftype)
8768
      elif fid == 1:
8821
      elif fid == 1:
8769
        if ftype == TType.STRUCT:
8822
        if ftype == TType.STRUCT:
Line 8782... Line 8835...
8782
      return
8835
      return
8783
    oprot.writeStructBegin('getTrackLogsByAffiliate_result')
8836
    oprot.writeStructBegin('getTrackLogsByAffiliate_result')
8784
    if self.success != None:
8837
    if self.success != None:
8785
      oprot.writeFieldBegin('success', TType.LIST, 0)
8838
      oprot.writeFieldBegin('success', TType.LIST, 0)
8786
      oprot.writeListBegin(TType.STRUCT, len(self.success))
8839
      oprot.writeListBegin(TType.STRUCT, len(self.success))
8787
      for iter69 in self.success:
8840
      for iter76 in self.success:
8788
        iter69.write(oprot)
8841
        iter76.write(oprot)
8789
      oprot.writeListEnd()
8842
      oprot.writeListEnd()
8790
      oprot.writeFieldEnd()
8843
      oprot.writeFieldEnd()
8791
    if self.utx != None:
8844
    if self.utx != None:
8792
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
8845
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
8793
      self.utx.write(oprot)
8846
      self.utx.write(oprot)
Line 8888... Line 8941...
8888
      if ftype == TType.STOP:
8941
      if ftype == TType.STOP:
8889
        break
8942
        break
8890
      if fid == 0:
8943
      if fid == 0:
8891
        if ftype == TType.LIST:
8944
        if ftype == TType.LIST:
8892
          self.success = []
8945
          self.success = []
8893
          (_etype73, _size70) = iprot.readListBegin()
8946
          (_etype80, _size77) = iprot.readListBegin()
8894
          for _i74 in xrange(_size70):
8947
          for _i81 in xrange(_size77):
8895
            _elem75 = TrackLog()
8948
            _elem82 = TrackLog()
8896
            _elem75.read(iprot)
8949
            _elem82.read(iprot)
8897
            self.success.append(_elem75)
8950
            self.success.append(_elem82)
8898
          iprot.readListEnd()
8951
          iprot.readListEnd()
8899
        else:
8952
        else:
8900
          iprot.skip(ftype)
8953
          iprot.skip(ftype)
8901
      elif fid == 1:
8954
      elif fid == 1:
8902
        if ftype == TType.STRUCT:
8955
        if ftype == TType.STRUCT:
Line 8915... Line 8968...
8915
      return
8968
      return
8916
    oprot.writeStructBegin('getTrackLogsByUser_result')
8969
    oprot.writeStructBegin('getTrackLogsByUser_result')
8917
    if self.success != None:
8970
    if self.success != None:
8918
      oprot.writeFieldBegin('success', TType.LIST, 0)
8971
      oprot.writeFieldBegin('success', TType.LIST, 0)
8919
      oprot.writeListBegin(TType.STRUCT, len(self.success))
8972
      oprot.writeListBegin(TType.STRUCT, len(self.success))
8920
      for iter76 in self.success:
8973
      for iter83 in self.success:
8921
        iter76.write(oprot)
8974
        iter83.write(oprot)
8922
      oprot.writeListEnd()
8975
      oprot.writeListEnd()
8923
      oprot.writeFieldEnd()
8976
      oprot.writeFieldEnd()
8924
    if self.utx != None:
8977
    if self.utx != None:
8925
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
8978
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
8926
      self.utx.write(oprot)
8979
      self.utx.write(oprot)
Line 9045... Line 9098...
9045
      if ftype == TType.STOP:
9098
      if ftype == TType.STOP:
9046
        break
9099
        break
9047
      if fid == 0:
9100
      if fid == 0:
9048
        if ftype == TType.LIST:
9101
        if ftype == TType.LIST:
9049
          self.success = []
9102
          self.success = []
9050
          (_etype80, _size77) = iprot.readListBegin()
9103
          (_etype87, _size84) = iprot.readListBegin()
9051
          for _i81 in xrange(_size77):
9104
          for _i88 in xrange(_size84):
9052
            _elem82 = TrackLog()
9105
            _elem89 = TrackLog()
9053
            _elem82.read(iprot)
9106
            _elem89.read(iprot)
9054
            self.success.append(_elem82)
9107
            self.success.append(_elem89)
9055
          iprot.readListEnd()
9108
          iprot.readListEnd()
9056
        else:
9109
        else:
9057
          iprot.skip(ftype)
9110
          iprot.skip(ftype)
9058
      elif fid == 1:
9111
      elif fid == 1:
9059
        if ftype == TType.STRUCT:
9112
        if ftype == TType.STRUCT:
Line 9072... Line 9125...
9072
      return
9125
      return
9073
    oprot.writeStructBegin('getTrackLogs_result')
9126
    oprot.writeStructBegin('getTrackLogs_result')
9074
    if self.success != None:
9127
    if self.success != None:
9075
      oprot.writeFieldBegin('success', TType.LIST, 0)
9128
      oprot.writeFieldBegin('success', TType.LIST, 0)
9076
      oprot.writeListBegin(TType.STRUCT, len(self.success))
9129
      oprot.writeListBegin(TType.STRUCT, len(self.success))
9077
      for iter83 in self.success:
9130
      for iter90 in self.success:
9078
        iter83.write(oprot)
9131
        iter90.write(oprot)
9079
      oprot.writeListEnd()
9132
      oprot.writeListEnd()
9080
      oprot.writeFieldEnd()
9133
      oprot.writeFieldEnd()
9081
    if self.utx != None:
9134
    if self.utx != None:
9082
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
9135
      oprot.writeFieldBegin('utx', TType.STRUCT, 1)
9083
      self.utx.write(oprot)
9136
      self.utx.write(oprot)
Line 9564... Line 9617...
9564
      if ftype == TType.STOP:
9617
      if ftype == TType.STOP:
9565
        break
9618
        break
9566
      if fid == 0:
9619
      if fid == 0:
9567
        if ftype == TType.LIST:
9620
        if ftype == TType.LIST:
9568
          self.success = []
9621
          self.success = []
9569
          (_etype87, _size84) = iprot.readListBegin()
9622
          (_etype94, _size91) = iprot.readListBegin()
9570
          for _i88 in xrange(_size84):
9623
          for _i95 in xrange(_size91):
9571
            _elem89 = Cart()
9624
            _elem96 = Cart()
9572
            _elem89.read(iprot)
9625
            _elem96.read(iprot)
9573
            self.success.append(_elem89)
9626
            self.success.append(_elem96)
9574
          iprot.readListEnd()
9627
          iprot.readListEnd()
9575
        else:
9628
        else:
9576
          iprot.skip(ftype)
9629
          iprot.skip(ftype)
9577
      elif fid == 1:
9630
      elif fid == 1:
9578
        if ftype == TType.STRUCT:
9631
        if ftype == TType.STRUCT:
Line 9591... Line 9644...
9591
      return
9644
      return
9592
    oprot.writeStructBegin('getCartsForUser_result')
9645
    oprot.writeStructBegin('getCartsForUser_result')
9593
    if self.success != None:
9646
    if self.success != None:
9594
      oprot.writeFieldBegin('success', TType.LIST, 0)
9647
      oprot.writeFieldBegin('success', TType.LIST, 0)
9595
      oprot.writeListBegin(TType.STRUCT, len(self.success))
9648
      oprot.writeListBegin(TType.STRUCT, len(self.success))
9596
      for iter90 in self.success:
9649
      for iter97 in self.success:
9597
        iter90.write(oprot)
9650
        iter97.write(oprot)
9598
      oprot.writeListEnd()
9651
      oprot.writeListEnd()
9599
      oprot.writeFieldEnd()
9652
      oprot.writeFieldEnd()
9600
    if self.scx != None:
9653
    if self.scx != None:
9601
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
9654
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
9602
      self.scx.write(oprot)
9655
      self.scx.write(oprot)
Line 9697... Line 9750...
9697
      if ftype == TType.STOP:
9750
      if ftype == TType.STOP:
9698
        break
9751
        break
9699
      if fid == 0:
9752
      if fid == 0:
9700
        if ftype == TType.LIST:
9753
        if ftype == TType.LIST:
9701
          self.success = []
9754
          self.success = []
9702
          (_etype94, _size91) = iprot.readListBegin()
9755
          (_etype101, _size98) = iprot.readListBegin()
9703
          for _i95 in xrange(_size91):
9756
          for _i102 in xrange(_size98):
9704
            _elem96 = Cart()
9757
            _elem103 = Cart()
9705
            _elem96.read(iprot)
9758
            _elem103.read(iprot)
9706
            self.success.append(_elem96)
9759
            self.success.append(_elem103)
9707
          iprot.readListEnd()
9760
          iprot.readListEnd()
9708
        else:
9761
        else:
9709
          iprot.skip(ftype)
9762
          iprot.skip(ftype)
9710
      elif fid == 1:
9763
      elif fid == 1:
9711
        if ftype == TType.STRUCT:
9764
        if ftype == TType.STRUCT:
Line 9724... Line 9777...
9724
      return
9777
      return
9725
    oprot.writeStructBegin('getCartsByStatus_result')
9778
    oprot.writeStructBegin('getCartsByStatus_result')
9726
    if self.success != None:
9779
    if self.success != None:
9727
      oprot.writeFieldBegin('success', TType.LIST, 0)
9780
      oprot.writeFieldBegin('success', TType.LIST, 0)
9728
      oprot.writeListBegin(TType.STRUCT, len(self.success))
9781
      oprot.writeListBegin(TType.STRUCT, len(self.success))
9729
      for iter97 in self.success:
9782
      for iter104 in self.success:
9730
        iter97.write(oprot)
9783
        iter104.write(oprot)
9731
      oprot.writeListEnd()
9784
      oprot.writeListEnd()
9732
      oprot.writeFieldEnd()
9785
      oprot.writeFieldEnd()
9733
    if self.scx != None:
9786
    if self.scx != None:
9734
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
9787
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
9735
      self.scx.write(oprot)
9788
      self.scx.write(oprot)
Line 9854... Line 9907...
9854
      if ftype == TType.STOP:
9907
      if ftype == TType.STOP:
9855
        break
9908
        break
9856
      if fid == 0:
9909
      if fid == 0:
9857
        if ftype == TType.LIST:
9910
        if ftype == TType.LIST:
9858
          self.success = []
9911
          self.success = []
9859
          (_etype101, _size98) = iprot.readListBegin()
9912
          (_etype108, _size105) = iprot.readListBegin()
9860
          for _i102 in xrange(_size98):
9913
          for _i109 in xrange(_size105):
9861
            _elem103 = Cart()
9914
            _elem110 = Cart()
9862
            _elem103.read(iprot)
9915
            _elem110.read(iprot)
9863
            self.success.append(_elem103)
9916
            self.success.append(_elem110)
9864
          iprot.readListEnd()
9917
          iprot.readListEnd()
9865
        else:
9918
        else:
9866
          iprot.skip(ftype)
9919
          iprot.skip(ftype)
9867
      elif fid == 1:
9920
      elif fid == 1:
9868
        if ftype == TType.STRUCT:
9921
        if ftype == TType.STRUCT:
Line 9881... Line 9934...
9881
      return
9934
      return
9882
    oprot.writeStructBegin('getCartsByTime_result')
9935
    oprot.writeStructBegin('getCartsByTime_result')
9883
    if self.success != None:
9936
    if self.success != None:
9884
      oprot.writeFieldBegin('success', TType.LIST, 0)
9937
      oprot.writeFieldBegin('success', TType.LIST, 0)
9885
      oprot.writeListBegin(TType.STRUCT, len(self.success))
9938
      oprot.writeListBegin(TType.STRUCT, len(self.success))
9886
      for iter104 in self.success:
9939
      for iter111 in self.success:
9887
        iter104.write(oprot)
9940
        iter111.write(oprot)
9888
      oprot.writeListEnd()
9941
      oprot.writeListEnd()
9889
      oprot.writeFieldEnd()
9942
      oprot.writeFieldEnd()
9890
    if self.scx != None:
9943
    if self.scx != None:
9891
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
9944
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
9892
      self.scx.write(oprot)
9945
      self.scx.write(oprot)
Line 11498... Line 11551...
11498
        else:
11551
        else:
11499
          iprot.skip(ftype)
11552
          iprot.skip(ftype)
11500
      elif fid == 2:
11553
      elif fid == 2:
11501
        if ftype == TType.MAP:
11554
        if ftype == TType.MAP:
11502
          self.items = {}
11555
          self.items = {}
11503
          (_ktype106, _vtype107, _size105 ) = iprot.readMapBegin() 
11556
          (_ktype113, _vtype114, _size112 ) = iprot.readMapBegin() 
11504
          for _i109 in xrange(_size105):
11557
          for _i116 in xrange(_size112):
11505
            _key110 = iprot.readI64();
11558
            _key117 = iprot.readI64();
11506
            _val111 = iprot.readDouble();
11559
            _val118 = iprot.readDouble();
11507
            self.items[_key110] = _val111
11560
            self.items[_key117] = _val118
11508
          iprot.readMapEnd()
11561
          iprot.readMapEnd()
11509
        else:
11562
        else:
11510
          iprot.skip(ftype)
11563
          iprot.skip(ftype)
11511
      else:
11564
      else:
11512
        iprot.skip(ftype)
11565
        iprot.skip(ftype)
Line 11523... Line 11576...
11523
      oprot.writeI64(self.cartId)
11576
      oprot.writeI64(self.cartId)
11524
      oprot.writeFieldEnd()
11577
      oprot.writeFieldEnd()
11525
    if self.items != None:
11578
    if self.items != None:
11526
      oprot.writeFieldBegin('items', TType.MAP, 2)
11579
      oprot.writeFieldBegin('items', TType.MAP, 2)
11527
      oprot.writeMapBegin(TType.I64, TType.DOUBLE, len(self.items))
11580
      oprot.writeMapBegin(TType.I64, TType.DOUBLE, len(self.items))
11528
      for kiter112,viter113 in self.items.items():
11581
      for kiter119,viter120 in self.items.items():
11529
        oprot.writeI64(kiter112)
11582
        oprot.writeI64(kiter119)
11530
        oprot.writeDouble(viter113)
11583
        oprot.writeDouble(viter120)
11531
      oprot.writeMapEnd()
11584
      oprot.writeMapEnd()
11532
      oprot.writeFieldEnd()
11585
      oprot.writeFieldEnd()
11533
    oprot.writeFieldStop()
11586
    oprot.writeFieldStop()
11534
    oprot.writeStructEnd()
11587
    oprot.writeStructEnd()
11535
 
11588
 
Line 11826... Line 11879...
11826
      if ftype == TType.STOP:
11879
      if ftype == TType.STOP:
11827
        break
11880
        break
11828
      if fid == 0:
11881
      if fid == 0:
11829
        if ftype == TType.LIST:
11882
        if ftype == TType.LIST:
11830
          self.success = []
11883
          self.success = []
11831
          (_etype117, _size114) = iprot.readListBegin()
11884
          (_etype124, _size121) = iprot.readListBegin()
11832
          for _i118 in xrange(_size114):
11885
          for _i125 in xrange(_size121):
11833
            _elem119 = User()
11886
            _elem126 = User()
11834
            _elem119.read(iprot)
11887
            _elem126.read(iprot)
11835
            self.success.append(_elem119)
11888
            self.success.append(_elem126)
11836
          iprot.readListEnd()
11889
          iprot.readListEnd()
11837
        else:
11890
        else:
11838
          iprot.skip(ftype)
11891
          iprot.skip(ftype)
11839
      else:
11892
      else:
11840
        iprot.skip(ftype)
11893
        iprot.skip(ftype)
Line 11847... Line 11900...
11847
      return
11900
      return
11848
    oprot.writeStructBegin('getAllUsers_result')
11901
    oprot.writeStructBegin('getAllUsers_result')
11849
    if self.success != None:
11902
    if self.success != None:
11850
      oprot.writeFieldBegin('success', TType.LIST, 0)
11903
      oprot.writeFieldBegin('success', TType.LIST, 0)
11851
      oprot.writeListBegin(TType.STRUCT, len(self.success))
11904
      oprot.writeListBegin(TType.STRUCT, len(self.success))
11852
      for iter120 in self.success:
11905
      for iter127 in self.success:
11853
        iter120.write(oprot)
11906
        iter127.write(oprot)
11854
      oprot.writeListEnd()
11907
      oprot.writeListEnd()
11855
      oprot.writeFieldEnd()
11908
      oprot.writeFieldEnd()
11856
    oprot.writeFieldStop()
11909
    oprot.writeFieldStop()
11857
    oprot.writeStructEnd()
11910
    oprot.writeStructEnd()
11858
 
11911
 
Line 12088... Line 12141...
12088
      if ftype == TType.STOP:
12141
      if ftype == TType.STOP:
12089
        break
12142
        break
12090
      if fid == 0:
12143
      if fid == 0:
12091
        if ftype == TType.LIST:
12144
        if ftype == TType.LIST:
12092
          self.success = []
12145
          self.success = []
12093
          (_etype124, _size121) = iprot.readListBegin()
12146
          (_etype131, _size128) = iprot.readListBegin()
12094
          for _i125 in xrange(_size121):
12147
          for _i132 in xrange(_size128):
12095
            _elem126 = UserNote()
12148
            _elem133 = UserNote()
12096
            _elem126.read(iprot)
12149
            _elem133.read(iprot)
12097
            self.success.append(_elem126)
12150
            self.success.append(_elem133)
12098
          iprot.readListEnd()
12151
          iprot.readListEnd()
12099
        else:
12152
        else:
12100
          iprot.skip(ftype)
12153
          iprot.skip(ftype)
12101
      else:
12154
      else:
12102
        iprot.skip(ftype)
12155
        iprot.skip(ftype)
Line 12109... Line 12162...
12109
      return
12162
      return
12110
    oprot.writeStructBegin('getUserNotes_result')
12163
    oprot.writeStructBegin('getUserNotes_result')
12111
    if self.success != None:
12164
    if self.success != None:
12112
      oprot.writeFieldBegin('success', TType.LIST, 0)
12165
      oprot.writeFieldBegin('success', TType.LIST, 0)
12113
      oprot.writeListBegin(TType.STRUCT, len(self.success))
12166
      oprot.writeListBegin(TType.STRUCT, len(self.success))
12114
      for iter127 in self.success:
12167
      for iter134 in self.success:
12115
        iter127.write(oprot)
12168
        iter134.write(oprot)
12116
      oprot.writeListEnd()
12169
      oprot.writeListEnd()
12117
      oprot.writeFieldEnd()
12170
      oprot.writeFieldEnd()
12118
    oprot.writeFieldStop()
12171
    oprot.writeFieldStop()
12119
    oprot.writeStructEnd()
12172
    oprot.writeStructEnd()
12120
 
12173
 
Line 12211... Line 12264...
12211
      if ftype == TType.STOP:
12264
      if ftype == TType.STOP:
12212
        break
12265
        break
12213
      if fid == 0:
12266
      if fid == 0:
12214
        if ftype == TType.LIST:
12267
        if ftype == TType.LIST:
12215
          self.success = []
12268
          self.success = []
12216
          (_etype131, _size128) = iprot.readListBegin()
12269
          (_etype138, _size135) = iprot.readListBegin()
12217
          for _i132 in xrange(_size128):
12270
          for _i139 in xrange(_size135):
12218
            _elem133 = iprot.readI64();
12271
            _elem140 = iprot.readI64();
12219
            self.success.append(_elem133)
12272
            self.success.append(_elem140)
12220
          iprot.readListEnd()
12273
          iprot.readListEnd()
12221
        else:
12274
        else:
12222
          iprot.skip(ftype)
12275
          iprot.skip(ftype)
12223
      elif fid == 1:
12276
      elif fid == 1:
12224
        if ftype == TType.STRUCT:
12277
        if ftype == TType.STRUCT:
Line 12237... Line 12290...
12237
      return
12290
      return
12238
    oprot.writeStructBegin('getMyResearchItems_result')
12291
    oprot.writeStructBegin('getMyResearchItems_result')
12239
    if self.success != None:
12292
    if self.success != None:
12240
      oprot.writeFieldBegin('success', TType.LIST, 0)
12293
      oprot.writeFieldBegin('success', TType.LIST, 0)
12241
      oprot.writeListBegin(TType.I64, len(self.success))
12294
      oprot.writeListBegin(TType.I64, len(self.success))
12242
      for iter134 in self.success:
12295
      for iter141 in self.success:
12243
        oprot.writeI64(iter134)
12296
        oprot.writeI64(iter141)
12244
      oprot.writeListEnd()
12297
      oprot.writeListEnd()
12245
      oprot.writeFieldEnd()
12298
      oprot.writeFieldEnd()
12246
    if self.scx != None:
12299
    if self.scx != None:
12247
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
12300
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
12248
      self.scx.write(oprot)
12301
      self.scx.write(oprot)
Line 12604... Line 12657...
12604
      if ftype == TType.STOP:
12657
      if ftype == TType.STOP:
12605
        break
12658
        break
12606
      if fid == 0:
12659
      if fid == 0:
12607
        if ftype == TType.LIST:
12660
        if ftype == TType.LIST:
12608
          self.success = []
12661
          self.success = []
12609
          (_etype138, _size135) = iprot.readListBegin()
12662
          (_etype145, _size142) = iprot.readListBegin()
12610
          for _i139 in xrange(_size135):
12663
          for _i146 in xrange(_size142):
12611
            _elem140 = iprot.readI64();
12664
            _elem147 = iprot.readI64();
12612
            self.success.append(_elem140)
12665
            self.success.append(_elem147)
12613
          iprot.readListEnd()
12666
          iprot.readListEnd()
12614
        else:
12667
        else:
12615
          iprot.skip(ftype)
12668
          iprot.skip(ftype)
12616
      elif fid == 1:
12669
      elif fid == 1:
12617
        if ftype == TType.STRUCT:
12670
        if ftype == TType.STRUCT:
Line 12630... Line 12683...
12630
      return
12683
      return
12631
    oprot.writeStructBegin('getBrowseHistoryItems_result')
12684
    oprot.writeStructBegin('getBrowseHistoryItems_result')
12632
    if self.success != None:
12685
    if self.success != None:
12633
      oprot.writeFieldBegin('success', TType.LIST, 0)
12686
      oprot.writeFieldBegin('success', TType.LIST, 0)
12634
      oprot.writeListBegin(TType.I64, len(self.success))
12687
      oprot.writeListBegin(TType.I64, len(self.success))
12635
      for iter141 in self.success:
12688
      for iter148 in self.success:
12636
        oprot.writeI64(iter141)
12689
        oprot.writeI64(iter148)
12637
      oprot.writeListEnd()
12690
      oprot.writeListEnd()
12638
      oprot.writeFieldEnd()
12691
      oprot.writeFieldEnd()
12639
    if self.scx != None:
12692
    if self.scx != None:
12640
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
12693
      oprot.writeFieldBegin('scx', TType.STRUCT, 1)
12641
      self.scx.write(oprot)
12694
      self.scx.write(oprot)
Line 12749... Line 12802...
12749
    oprot.writeFieldStop()
12802
    oprot.writeFieldStop()
12750
    oprot.writeStructEnd()
12803
    oprot.writeStructEnd()
12751
 
12804
 
12752
  def __repr__(self):
12805
  def __repr__(self):
12753
    L = ['%s=%r' % (key, value)
12806
    L = ['%s=%r' % (key, value)
-
 
12807
      for key, value in self.__dict__.iteritems()]
-
 
12808
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
 
12809
 
-
 
12810
  def __eq__(self, other):
-
 
12811
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
 
12812
 
-
 
12813
  def __ne__(self, other):
-
 
12814
    return not (self == other)
-
 
12815
 
-
 
12816
class getCartsWithCouponCount_args:
-
 
12817
  """
-
 
12818
  Attributes:
-
 
12819
   - couponCode
-
 
12820
  """
-
 
12821
 
-
 
12822
  thrift_spec = (
-
 
12823
    None, # 0
-
 
12824
    (1, TType.STRING, 'couponCode', None, None, ), # 1
-
 
12825
  )
-
 
12826
 
-
 
12827
  def __init__(self, couponCode=None,):
-
 
12828
    self.couponCode = couponCode
-
 
12829
 
-
 
12830
  def read(self, iprot):
-
 
12831
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-
 
12832
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-
 
12833
      return
-
 
12834
    iprot.readStructBegin()
-
 
12835
    while True:
-
 
12836
      (fname, ftype, fid) = iprot.readFieldBegin()
-
 
12837
      if ftype == TType.STOP:
-
 
12838
        break
-
 
12839
      if fid == 1:
-
 
12840
        if ftype == TType.STRING:
-
 
12841
          self.couponCode = iprot.readString();
-
 
12842
        else:
-
 
12843
          iprot.skip(ftype)
-
 
12844
      else:
-
 
12845
        iprot.skip(ftype)
-
 
12846
      iprot.readFieldEnd()
-
 
12847
    iprot.readStructEnd()
-
 
12848
 
-
 
12849
  def write(self, oprot):
-
 
12850
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-
 
12851
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-
 
12852
      return
-
 
12853
    oprot.writeStructBegin('getCartsWithCouponCount_args')
-
 
12854
    if self.couponCode != None:
-
 
12855
      oprot.writeFieldBegin('couponCode', TType.STRING, 1)
-
 
12856
      oprot.writeString(self.couponCode)
-
 
12857
      oprot.writeFieldEnd()
-
 
12858
    oprot.writeFieldStop()
-
 
12859
    oprot.writeStructEnd()
-
 
12860
 
-
 
12861
  def __repr__(self):
-
 
12862
    L = ['%s=%r' % (key, value)
-
 
12863
      for key, value in self.__dict__.iteritems()]
-
 
12864
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
 
12865
 
-
 
12866
  def __eq__(self, other):
-
 
12867
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
 
12868
 
-
 
12869
  def __ne__(self, other):
-
 
12870
    return not (self == other)
-
 
12871
 
-
 
12872
class getCartsWithCouponCount_result:
-
 
12873
  """
-
 
12874
  Attributes:
-
 
12875
   - success
-
 
12876
  """
-
 
12877
 
-
 
12878
  thrift_spec = (
-
 
12879
    (0, TType.I64, 'success', None, None, ), # 0
-
 
12880
  )
-
 
12881
 
-
 
12882
  def __init__(self, success=None,):
-
 
12883
    self.success = success
-
 
12884
 
-
 
12885
  def read(self, iprot):
-
 
12886
    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-
 
12887
      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-
 
12888
      return
-
 
12889
    iprot.readStructBegin()
-
 
12890
    while True:
-
 
12891
      (fname, ftype, fid) = iprot.readFieldBegin()
-
 
12892
      if ftype == TType.STOP:
-
 
12893
        break
-
 
12894
      if fid == 0:
-
 
12895
        if ftype == TType.I64:
-
 
12896
          self.success = iprot.readI64();
-
 
12897
        else:
-
 
12898
          iprot.skip(ftype)
-
 
12899
      else:
-
 
12900
        iprot.skip(ftype)
-
 
12901
      iprot.readFieldEnd()
-
 
12902
    iprot.readStructEnd()
-
 
12903
 
-
 
12904
  def write(self, oprot):
-
 
12905
    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-
 
12906
      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-
 
12907
      return
-
 
12908
    oprot.writeStructBegin('getCartsWithCouponCount_result')
-
 
12909
    if self.success != None:
-
 
12910
      oprot.writeFieldBegin('success', TType.I64, 0)
-
 
12911
      oprot.writeI64(self.success)
-
 
12912
      oprot.writeFieldEnd()
-
 
12913
    oprot.writeFieldStop()
-
 
12914
    oprot.writeStructEnd()
-
 
12915
 
-
 
12916
  def __repr__(self):
-
 
12917
    L = ['%s=%r' % (key, value)
12754
      for key, value in self.__dict__.iteritems()]
12918
      for key, value in self.__dict__.iteritems()]
12755
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
12919
    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
12756
 
12920
 
12757
  def __eq__(self, other):
12921
  def __eq__(self, other):
12758
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
12922
    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__