def test__initiate_embargo_with_save_does_save_embargo(self): initial_count = Embargo.find().count() self.registration._initiate_embargo( self.user, self.valid_embargo_end_date, for_existing_registration=True, ) assert_equal(Embargo.find().count(), initial_count + 1)
def save_bare_embargos(page_size=10000): print 'Starting {}...'.format(sys._getframe().f_code.co_name) embargo_key_blacklist = ['__backrefs', '_version', ] start = datetime.now() count = 0 total = MODMEmbargo.find().count() while count < total: with transaction.atomic(): embargos = [] for modm_embargo in MODMEmbargo.find().sort('-_id')[count:count + page_size]: embargo_fields = modm_embargo.to_storage() cleaned_embargo_fields = {key: embargo_fields[key] for key in embargo_fields if key not in (embargo_key_blacklist) } for k, v in cleaned_embargo_fields.iteritems(): if isinstance(v, datetime): cleaned_embargo_fields[k] = pytz.utc.localize(v) try: initiated_by_id = modm_to_django[cleaned_embargo_fields[ 'initiated_by']] except KeyError: print 'Couldn\'t find user with guid {}'.format() else: cleaned_embargo_fields['initiated_by_id'] = initiated_by_id del cleaned_embargo_fields['initiated_by'] embargos.append(Embargo(**cleaned_embargo_fields)) count += 1 if count % page_size == 0 or count == total: then = datetime.now() print 'Saving embargos {} through {}...'.format( count - page_size, count) woot = Embargo.objects.bulk_create(embargos) for wit in woot: modm_to_django[wit.guid] = wit.pk now = datetime.now() print 'Done with {} embargos in {} seconds...'.format( len(woot), (now - then).total_seconds()) embargos = None woot = None guid = None embargo_fields = None cleaned_embargo_fields = None trash = gc.collect() print 'Took out {} trashes'.format(trash) print 'Modm embargos: {}'.format(total) print 'django embargos: {}'.format(Embargo.objects.count()) print 'Done with {} in {} seconds...'.format( sys._getframe().f_code.co_name, (datetime.now() - start).total_seconds())
def test_embargo_initiator_has_backref(self): self.registration.embargo_registration(self.user, self.valid_embargo_end_date) self.registration.save() self.registration.reload() assert_equal(len(self.user.embargo__embargoed), Embargo.find(Q('initiated_by', 'eq', self.user)).count())
def test_embargo_initiator_has_backref(self): self.registration.embargo_registration( self.user, self.valid_embargo_end_date ) self.registration.save() self.registration.reload() assert_equal(len(self.user.embargo__embargoed), Embargo.find(Q('initiated_by', 'eq', self.user)).count())