trex-model 1.3.3__tar.gz → 1.3.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of trex-model might be problematic. Click here for more details.
- {trex-model-1.3.3/trex_model.egg-info → trex-model-1.3.5}/PKG-INFO +1 -1
- {trex-model-1.3.3 → trex-model-1.3.5}/setup.py +1 -1
- {trex-model-1.3.3 → trex-model-1.3.5/trex_model.egg-info}/PKG-INFO +1 -1
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/loyalty_models.py +3 -1
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/marketing_models.py +53 -5
- {trex-model-1.3.3 → trex-model-1.3.5}/LICENSE +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/MANIFEST.in +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/README.md +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/setup.cfg +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trex_model.egg-info/SOURCES.txt +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trex_model.egg-info/dependency_links.txt +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trex_model.egg-info/requires.txt +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trex_model.egg-info/top_level.txt +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/__init__.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/conf.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/__init__.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/__init__.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/admin_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/analytic_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/app_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/coporate_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/customer_model_helpers.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/customer_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/fb_subsriber_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/import_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/inventory_model.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/lucky_draw_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/membership_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/merchant_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/message_model_helper.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/message_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/model_decorators.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/ndb_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/pos_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/prepaid_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/product_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/program_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/rating_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/redeem_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/redemption_catalogue_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/reward_model_helpers.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/reward_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/spending_base_program_model.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/system_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/task_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/test_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/transaction_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/user_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/voucher_models.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/merchant_helpers.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/model_decorator.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/prepaid_helpers.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/pos_conf.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/program_conf.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/utils/__init__.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/utils/gcloud/__init__.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/utils/gcloud/datastore_util.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/utils/model/__init__.py +0 -0
- {trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/utils/model/model_util.py +0 -0
|
@@ -35,8 +35,10 @@ class LoyaltyDeviceSetting(BaseNModel,DictModel):
|
|
|
35
35
|
|
|
36
36
|
@property
|
|
37
37
|
def device_tokens_list(self):
|
|
38
|
+
_tokens_list = []
|
|
39
|
+
|
|
38
40
|
if self.device_details:
|
|
39
|
-
|
|
41
|
+
|
|
40
42
|
for k,v in self.device_details.items():
|
|
41
43
|
for dd in v:
|
|
42
44
|
_tokens_list.append(dd.get('device_token'))
|
|
@@ -138,11 +138,41 @@ class PushNotificationSetup(BaseNModel, DictModel):
|
|
|
138
138
|
return PushNotificationSetup.query(ndb.AND(PushNotificationSetup.is_archived==True), ancestor=merchant_acct.create_ndb_key()).fetch(limit=model_conf.MAX_FETCH_RECORD)
|
|
139
139
|
|
|
140
140
|
@staticmethod
|
|
141
|
-
def list(
|
|
142
|
-
|
|
141
|
+
def list(start_datetime=datetime.utcnow(), end_datetime=datetime.utcnow(), send=False):
|
|
142
|
+
if send==False:
|
|
143
|
+
result = PushNotificationSetup.query(
|
|
143
144
|
ndb.AND(
|
|
144
145
|
PushNotificationSetup.send==False,
|
|
145
|
-
PushNotificationSetup.schedule_datetime
|
|
146
|
+
PushNotificationSetup.schedule_datetime>start_datetime,
|
|
147
|
+
PushNotificationSetup.schedule_datetime<=end_datetime,
|
|
148
|
+
)
|
|
149
|
+
).fetch(offset=0, limit=conf.MAX_FETCH_RECORD)
|
|
150
|
+
else:
|
|
151
|
+
result = PushNotificationSetup.query(
|
|
152
|
+
ndb.AND(
|
|
153
|
+
PushNotificationSetup.schedule_datetime>start_datetime,
|
|
154
|
+
PushNotificationSetup.schedule_datetime<=end_datetime,
|
|
155
|
+
)
|
|
156
|
+
).fetch(offset=0, limit=conf.MAX_FETCH_RECORD)
|
|
157
|
+
return result
|
|
158
|
+
|
|
159
|
+
@staticmethod
|
|
160
|
+
def cound(start_datetime=datetime.utcnow(), end_datetime=datetime.utcnow(), send=False):
|
|
161
|
+
if send==False:
|
|
162
|
+
result = PushNotificationSetup.query(
|
|
163
|
+
ndb.AND(
|
|
164
|
+
PushNotificationSetup.send==False,
|
|
165
|
+
PushNotificationSetup.schedule_datetime>start_datetime,
|
|
166
|
+
PushNotificationSetup.schedule_datetime<=end_datetime,
|
|
167
|
+
)
|
|
168
|
+
).fetch(offset=0, limit=conf.MAX_FETCH_RECORD)
|
|
169
|
+
else:
|
|
170
|
+
result = PushNotificationSetup.query(
|
|
171
|
+
ndb.AND(
|
|
172
|
+
PushNotificationSetup.schedule_datetime>start_datetime,
|
|
173
|
+
PushNotificationSetup.schedule_datetime<=end_datetime,
|
|
174
|
+
)
|
|
175
|
+
).fetch(offset=0, limit=conf.MAX_FETCH_RECORD)
|
|
146
176
|
return result
|
|
147
177
|
|
|
148
178
|
class MarketingImage(BaseNModel, DictModel):
|
|
@@ -217,10 +247,28 @@ class ScheduledPushNotificationHistory(BaseNModel, DictModel):
|
|
|
217
247
|
|
|
218
248
|
|
|
219
249
|
@staticmethod
|
|
220
|
-
def list(scheduled_datetime=datetime.utcnow()):
|
|
221
|
-
|
|
250
|
+
def list(scheduled_datetime=datetime.utcnow(), send=False):
|
|
251
|
+
if send==False:
|
|
252
|
+
result = ScheduledPushNotificationHistory.query(
|
|
222
253
|
ndb.AND(
|
|
223
254
|
ScheduledPushNotificationHistory.send==False,
|
|
224
255
|
ScheduledPushNotificationHistory.scheduled_datetime<=scheduled_datetime)).fetch(offset=0, limit=conf.MAX_FETCH_RECORD)
|
|
256
|
+
else:
|
|
257
|
+
result = ScheduledPushNotificationHistory.query(
|
|
258
|
+
ndb.AND(
|
|
259
|
+
ScheduledPushNotificationHistory.scheduled_datetime<=scheduled_datetime)).fetch(offset=0, limit=conf.MAX_FETCH_RECORD)
|
|
225
260
|
return result
|
|
261
|
+
|
|
262
|
+
@staticmethod
|
|
263
|
+
def count(scheduled_datetime=datetime.utcnow(), send=False):
|
|
264
|
+
if send==False:
|
|
265
|
+
return ScheduledPushNotificationHistory.query(
|
|
266
|
+
ndb.AND(
|
|
267
|
+
ScheduledPushNotificationHistory.send==False,
|
|
268
|
+
ScheduledPushNotificationHistory.scheduled_datetime<=scheduled_datetime)).count(limit=conf.MAX_FETCH_RECORD)
|
|
269
|
+
else:
|
|
270
|
+
return ScheduledPushNotificationHistory.query(
|
|
271
|
+
ndb.AND(
|
|
272
|
+
ScheduledPushNotificationHistory.scheduled_datetime<=scheduled_datetime)).count(limit=conf.MAX_FETCH_RECORD)
|
|
273
|
+
|
|
226
274
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/redemption_catalogue_models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{trex-model-1.3.3 → trex-model-1.3.5}/trexmodel/models/datastore/spending_base_program_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|