def get_dataset(ufile): #stream = ufile.read().decode('utf-8') stream = ufile.read().decode('ISO-8859-1') #print('stream',stream) lines = stream.split('\r\n') logger.info('%d lines found in imported file %s', len(lines), ufile) #print('lines',lines) hdr = None val = [] for x in range(len(lines)): if x == 0: hdr = lines[x].split(',') else: val.append(lines[x].split(',')) #print('hdr',hdr) #val = val[:-1] #print('val',val) dataset = Dataset(headers=hdr) for i in range(len(val)): try: dataset.append(val[i]) except: logger.warning('Ingnoring row %d due to errors', i + 1) logger.debug('dataset.csv : %s', dataset.csv) return dataset
def get(self, request): otp_dict = None if self.utype == UserType.PARTICIPANT: otp_dict = user_otp else: otp_dict = visitor_otp logger.debug( 'In otp handler : get otp_dict entries before get_otp \n%s\n', pp.pformat(otp_dict)) if self.get_otp(otp_dict, request): form = OtpForm() logger.info('user %s attemptting to access otp page session id %s', self.utype.name, self.ss_key) logger.debug( 'In otp handler : get otp_dict entries after get_otp \n%s\n', pp.pformat(otp_dict)) return render( request, 'cricket/get_otp.html', { 'form': form, 'count': otp_dict[self.ss_key]['count'], 'baseurl': settings.SITE_URL, 'remove_header': True, }) else: logger.info('Calling session expired function') session_expired(self.ss_key, otp_dict) return HttpResponse( "You exceeded number of tries. Please try after sometime")
def issue_new_vtoken(name, email, mobile, refer): status = tStatus.UNKNOWN_ERROR vtoken = None issued_token = get_issued_valid_token_for_visitor(mobile) status_str = None if issued_token: vtoken = issued_token logger.debug('Valid issued token found for visitor %s : %d', vtoken.issued_to, vtoken.mobile_number) status = tStatus.TOKEN_REISSUED status_str = 'OLD' else: vtoken = get_next_vtoken() if vtoken: vtoken.token_state = ccfg.TokenState.ISSUED.value vtoken.issued_on = dt.date.today() vtoken.issued_to = name vtoken.email_address = email vtoken.mobile_number = mobile vtoken.refered_by = refer vtoken.save() logger.info('%s token issued to %d', vtoken.userid, mobile) status = tStatus.SUCCESS status_str = 'NEW' else: status = tStatus.TOKEN_EXHAUSTED logger.critical('Visitor token exhausted %d', mobile) if vtoken: sa.send_token(mobile, status_str, vtoken.userid, vtoken.password) return status, vtoken
def post(self, request): user = request.user.username self.tparams['baseurl'] = settings.SITE_URL if not self.render_url: self.render_url = 'INTERNAL_ERROR' logger.info('%s posting %s', user, self.render_url) logger.debug('template parameters %s', tuple(self.tparams)) return render(request, self.url_lookup[self.render_url], self.tparams)
def session_expired(session_id, otp_dict): if session_id in otp_dict.keys(): logger.info('Deleting otp dict entry %s for %s', pp.pformat(otp_dict[session_id]), session_id) otp_dict[session_id]['thandle'].cancel() del otp_dict[session_id]['thandle'] otp_dict.pop(session_id, None) logger.debug('In session expired : otp dict entries after pop \n%s\n', pp.pformat(otp_dict)) else: logger.warning('Session id %d not found in otp_dict %s', session_id, otp_dict)
def get_next_venture_id(year): vlist = VentureId.objects.filter(year=year) if not vlist: logger.debug('Creating new venture id for year %d', year) vid = VentureId() vid.year = year vid.counter = 1 else: vid = vlist[0] vid.counter += 1 logger.debug('Increasing venture id %d for year %d', vid.counter, year) vid.save() return vid.counter
def handle_participant(self, request): status = tStatus.UNKNOWN_ERROR token = None if self.is_otp_valid(request): logger.info('Recieved valid otp session id %s utype %s ', self.ss_key, self.utype) status, token = issue_new_itoken(self.var) logger.info('Calling session expired function') session_expired(self.ss_key, user_otp) else: logger.warning('Recieved Invalid otp session id %s utype %s ', self.ss_key, self.utype) status = tStatus.INVALID_OTP if status == tStatus.SUCCESS: return render( request, 'cricket/token_assigned.html', { 'uid': token.userid, 'pwd': token.password, 'baseurl': settings.SITE_URL, 'remove_header': True, 'status': 'NEW' }) elif status == tStatus.TOKEN_REISSUED: logger.debug('Rendering same token to %d', self.var) return render( request, 'cricket/token_assigned.html', { 'uid': token.userid, 'pwd': token.password, 'baseurl': settings.SITE_URL, 'remove_header': True, 'status': 'OLD' }) elif status == tStatus.INVALID_OTP: return self.get(request) else: logger.error( 'Error in Otp handler session_id %s utype %s status %s', self.ss_key, self.utype.name, status.name) return render_status(request, status)
def get_participant_info(reg_num): ilist = Participant.objects.filter(registration_number=reg_num) if ilist and ilist[0].company.venture_state == \ bcfg.VentureState.ACTIVE.value: if ilist[0].participant_state == \ bcfg.ParticipantState.ACTIVE.value: if ilist[0].end_date < dt.date.today(): ilist[0].participant_state = \ bcfg.ParticipantState.INACTIVE.value ilist[0].save() logger.warning('Moving Participant %s to Inactive state', ilist[0]) else: logger.debug('%s returned for %d', ilist[0], reg_num) return ilist[0] logger.warning('No records found for %d', reg_num) return None
def is_otp_valid(self, request): oform = OtpForm(request.POST) uotp = None otp = None if oform.is_valid(): uotp = oform.cleaned_data['otp'] if self.utype == UserType.PARTICIPANT: otp_dict = user_otp else: otp_dict = visitor_otp otp = otp_dict[self.ss_key]['otp'] logger.debug('session id %s utype %s provided otp %d sent otp %d', self.ss_key, self.utype.name, uotp, otp) if uotp and otp and uotp == otp: return True else: return False
def __init__(self,userid): self.userid = userid logger.debug('Participant resource created %s userid',userid) super(ParticipantImportResource,self).__init__()
def __init__(self,userid): self.userid = userid logger.debug('Venture resource created %s userid',userid) super(VentureResource,self).__init__()
def post(self, request, otp_dict, u_type): ss = request.session if ss.session_key in otp_dict.keys(): logger.debug('Entering critical section session id %s', ss.session_key) if bmodel.is_thread_safe_mode(): self.lock.acquire() otph = OtpHandler(u_type, otp_dict[ss.session_key]['var'], ss.session_key) response = otph.post(request) if bmodel.is_thread_safe_mode(): self.lock.release() logger.debug('Exiting critical section session id %s', ss.session_key) return response if u_type == UserType.VISITOR: form = visitorTokenForm(request.POST) else: form = participantTokenForm(request.POST) status = tStatus.UNKNOWN_ERROR mobile_number = 0 reg_num = 0 i_key = 0 vinfo = None if form.is_valid(): logger.info('valid form received from user %s session id %s', u_type.name, ss.session_key) if u_type == UserType.VISITOR: vinfo = {} mobile_number = form.cleaned_data['mobile_number'] i_key = mobile_number vinfo['name'] = form.cleaned_data['visitor_name'] vinfo['email_address'] = form.cleaned_data['email_address'] vinfo['mobile_number'] = form.cleaned_data['mobile_number'] vinfo['refered_by'] = form.cleaned_data['refered_by'] vinfo['timestamp'] = dt.datetime.now() logger.debug('Visitor info %s session %s', vinfo, ss.session_key) status = tStatus.SUCCESS else: reg_num = form.cleaned_data['registration_number'] i_key = reg_num participant_info = bmodel.get_participant_info(reg_num) if participant_info: logger.debug('Participant info %s session %s', participant_info, ss.session_key) status = tStatus.SUCCESS else: logger.warning( 'Invalid registration number %d from session %s ', reg_num, ss.session_key) status = tStatus.INVALID_USER else: logger.warning('Invalid form received from user %s session id %s', u_type.name, ss.session_key) status = tStatus.INVALID_PARAMETER if status == tStatus.SUCCESS: logger.debug('Entering critical section session id %s', ss.session_key) if bmodel.is_thread_safe_mode(): self.lock.acquire() otph = OtpHandler(u_type, i_key, ss.session_key, vinfo) response = otph.get(request) if bmodel.is_thread_safe_mode(): self.lock.release() logger.debug('Exiting critical section session id %s', ss.session_key) return response return render_status(request, status)
def __init__(self, validity): self.validity = validity logger.debug('Wifitoken resource created for validity %d', validity) super(WifiTokenResource, self).__init__()