예제 #1
0
파일: views.py 프로젝트: esauro/SingularMS
def __log_something(priority, objct, message, request = False):
    if request:
        if request.user:
            username = request.user.username
        else:
            username = '******'
        if 'REMOTE_ADDR' in request.META:
            message += ' [%(username)s@%(remoteAdd)s]' % {'username': username, 'remoteAdd': request.META['REMOTE_ADDR']}
        else:
            message += ' [%(username)s@testing by django\'s client' % {'username': username, }
        if 'HTTP_USER_AGENT' in request.META:
            message += ' %s' % request.META['HTTP_USER_AGENT']
    if type(objct) is types.FunctionType:
        message = '(%(objName)s) %(message)s' % {'objName': objct.__name__, 'message': message}
    elif type(objct) is types.ClassType:
        message = '(%(type)s) %(message)s' % {'type': type(objct), 'message': message}
    else:
        message = '(%(objct)s) %(message)s' % {'objct': objct, 'message': message}

    _logger.log(priority, message)

    if priority != DEBUG:
        # We shrink the message to fit the model datatype
        l = Log(priority =  priority, text = message[:255])
        l.save()

    if settings.LOG_TO_SYSLOG and priority != DEBUG:
        syslog.syslog(syslog.LOG_LOCAL4 | priority, "[singularms] %(message)s " %{'message': message.encode('utf-8')} )
예제 #2
0
파일: views.py 프로젝트: le087/web_pass
def main_page(request):
    """главная вьюха
    Arguments:
    - `request`:
    """
    if request.method == 'POST':
        radioform = SetPassForm(request.POST)
        radioform.is_valid()
        num_passwords = int(radioform.cleaned_data['num_pass'])
        passwords = gen_passwords(os.path.dirname(__file__) + '/dicts/' + radioform.cleaned_data['language'],
                                  num=num_passwords,
                                  lenth=int(radioform.cleaned_data['lenth_pass']),
                                  upper=radioform.cleaned_data['upper_pass'],
                                  numbers=radioform.cleaned_data['string_replace_num'])
    else:
        passwords = gen_passwords(os.path.dirname(__file__) + '/dicts/italian')
        num_passwords = 10
        radioform = SetPassForm({'num_pass':'******', 'lenth_pass':'******', 'language':'italian', 'upper_pass': True, 'string_replace_num': True})
    count = Counter()
    log = Log()
    counter = count.get_counter(num_passwords)
    log.save_log_note(request.META['HTTP_USER_AGENT'], request.META['REMOTE_ADDR'])
    return render_to_response('index.html', {
            'counter':counter,
            'passwords':passwords,
            'radioform':radioform,
            'browser':request.META['HTTP_USER_AGENT'],
            'ip':request.META['REMOTE_ADDR']
            }, context_instance = RequestContext(request))
예제 #3
0
 def request(self, flow):
     self.l = Log()
     self.l.request_body = flow.request.get_text()
     self.l.method = flow.request.method
     self.l.url = flow.request.url
     self.l.request_headers = json.dumps(dict(flow.request.headers))
     self.l.save()
예제 #4
0
파일: views.py 프로젝트: dkeske/KutijaSajt
def makeLog(number, full, box_ID):
    box = Box.objects.get(id = box_ID)

    log = Log(Box = box)
    log.NumberOfCaps = number
    log.isFull = full
    log.save()
def solve_order(request):
    rNumber = request.GET["rNumber"]
    ID = rNumber
    orderlist = Order.objects.filter(Receiver=rNumber, State="0")
    if "yes" in request.POST:
        post = request.POST
        sNumber = post["yes"]
        ord = Order.objects.filter(Sender=sNumber, Receiver=rNumber, State="0")
        for order in ord:
            order.State = "1"
            order.save()
            new_event = Log(
                Number=ID,
                Time=order.Time,
                Event=order.Event,
            )
            new_event.save()
            return HttpResponseRedirect("/search_event/?id=" + ID)
            break
    if "no" in request.POST:
        post = request.POST
        sNumber = post["no"]
        ord = Order.objects.filter(Sender=sNumber, Receiver=rNumber, State="0")
        for order in ord:
            order.State = "2"
            order.save()
            break
    return render_to_response(
        "solve_order.html",
        RequestContext(request, {
            "ID": ID,
            "orderlist": orderlist,
        }))
예제 #6
0
    def last(self, args):
        """Display a dialog to verify the change to undo
        
        Parameters
        ----------
        redo : stre
            The id of the current change history to work forward from

        Returns
        -------
        str - the response messages string array
        """

        messages = []
        undos = None
        if self.user.history_id:
            current_history = Log.get_by_id(self.user.history_id)
            if current_history:
                undos = list(
                    Log.filter(updated__lt=current_history.updated,
                               category__ne='Log').order_by('-created').all())
        if not undos:
            undos = list(
                Log.get_by_page({
                    'user_id': str(self.user.id),
                    'category__ne': 'Log'
                }))
        if not undos:
            raise Exception('You have no undo history')
        undo = undos[0]
        changes, item, undo_changes_str = self.get_undo(undo)
        command = 'undo ' + ' '.join(args)
        if undo and changes and item and 'confirm' in ' '.join(args):
            self.user.answer = 'YES'
            self.user.command = command
        question = ''.join([
            f'Are you sure you want to undo changes to this {undo.category}?\n\n{item.get_string()}\n\n',
            f'***Changes to Undo:***\n' + '\n'.join(undo_changes_str),
            '```css\n.d YES /* to confirm the command */\n.d NO /* to reject the command */\n.d CANCEL /* to cancel the command */```'
        ])
        if self.user.command == command:
            answer = self.user.answer
            if answer:
                if answer.lower() in ['yes', 'y']:
                    messages.append(self.undo_changes(undo))
                    self.set_dialog()
                elif answer.lower() in ['no', 'n', 'cancel', 'c']:
                    messages.append(f'Command ***"{command}"*** canceled')
                    self.set_dialog()
                else:
                    messages.append(
                        f'Please answer the question regarding ***"{command}"***:\n\n{question}'
                    )
            else:
                messages.append(
                    f'No answer was received for command ***"{command}"***')
        else:
            self.set_dialog(command, question)
            messages.extend([question])
        return messages
예제 #7
0
파일: views.py 프로젝트: harriewang/bigouzu
def addSite(request):
	"""添加需要抓取的网站,包括网站名称,地址,抓取的起始地址"""
	if request.method=='POST':    #如果request的方法为POST,即有表单提交
		form=AddSiteForm(request.POST)   
		if form.is_valid():  #验证提交的数据,如果通过验证,往下执行
			siteName=form.cleaned_data['siteName']  #网站名称
			siteUrl=form.cleaned_data['siteUrl']  #网站地址
			startUrl=form.cleaned_data['startUrl']   #抓取的起始URL
			site=SiteInfo(siteName=siteName,siteUrl=siteUrl,startUrl=startUrl)  
			site.save()  #保存到数据库
			#日志初始化#
			siteId=site.id   #记录当前网站id
			breakSubId='1'  #初始化断点分类id为1
			breakSubTitle='nothing'  #初始化断点分类名称为nonthing
			breakPageId=1  #初始化断点分页为1
			breakItemId=0  #初始化断点书籍序号为1
			errorInfo='No Exception Raise'  #初始化错误信息为'No Exception Raise'
			currentEvent='Log Initialization'  #初始化当前时间为'Log Initialization'
			log=Log(siteId=siteId,breakSubId=breakSubId,breakSubTitle=breakSubTitle,
					breakPageId=breakPageId,breakItemId=breakItemId,errorInfo=errorInfo,currentEvent=currentEvent)
			log.save()
			return HttpResponse('网站信息添加成功,日志初始化成功,请<a href="/bookcatch/addsites/">返回</a>')  #显示添加成功信息,提供返回到添加页面
	else:
		form=AddSiteForm()  #如果无表单提交,显示空白表单
	allsite=SiteInfo.objects.all() #得到所有的siteInfo
	alllog=Log.objects.all() #得到所有Log
	return render_to_response('books/addsite.html',{'allsite':allsite,'form':form,'alllog':alllog})  #返回经过渲染的addsite.html
def add_event(request):
    ID = request.GET["id"]
    if request.POST:
        post = request.POST
        new_event = Log(Number=ID, Time=post["time"], Event=post["event"])
        new_event.save()
        return HttpResponseRedirect("/search_event/?id=" + ID)
    return render_to_response("add_event.html")
예제 #9
0
 def test_edit_log3(self, mock_validate_minutes):
     expected = 45
     new_viewer = Viewer(Log.select())
     with patch('viewer.input', return_value='c'):
         new_viewer.edit_log()
         log = Log.select()
         actual = log[0].task_time
         self.assertEqual(actual, expected)
예제 #10
0
def write_log(date, title, time, notes):
    """Write the work log to the database."""
    username = get_username()
    Log.create(username=username,
               task_date=date,
               task_title=title,
               task_time=time,
               task_notes=notes)
예제 #11
0
def clean_trash(request):
    file_list = File.objects.filter(trashed=True)
    print "CLEAN ALL"
    for a in file_list:
        os.remove(os.path.realpath(os.path.dirname(__file__)) + "/media/" + a.file.name)
        a.delete()
        Log.create(request.user, "Permanently deleted a file", a, None).save()
    return HttpResponseRedirect("/trash/")
예제 #12
0
def save_logs_of_logging_call_xml(call_str, change_type, file_path,
                                  head_commit_db, method_name, component):
    Log.create(commit_id=head_commit_db.hexsha,
               file_path=file_path,
               embed_method=method_name,
               change_type=change_type,
               content_update_to=call_str,
               component=component)
예제 #13
0
 def test_edit_log1(self, mock_get_date):
     expected = datetime.datetime(2010, 11, 11, 0, 0)
     new_viewer = Viewer(Log.select())
     with patch('viewer.input', return_value='a'):
         new_viewer.edit_log()
         log = Log.select()
         actual = log[0].task_date
         self.assertEqual(actual, expected)
예제 #14
0
 def setUp(self):
     test_db.bind(MODELS, bind_refs=False, bind_backrefs=False)
     test_db.connect()
     test_db.create_tables(MODELS)
     Log.create(username='******',
                task_date=datetime.datetime(2011, 11, 11, 0, 0),
                task_title='Test',
                task_time=60,
                task_notes='Notes')
예제 #15
0
 def test_build_username_list(self):
     expected = ['Adam', 'Bernard', 'Charles']
     logs = [
         Log(username='******'),
         Log(username='******'),
         Log(username='******')
     ]
     actual = build_username_list(logs)
     self.assertEqual(actual, expected)
예제 #16
0
 def test_search_username_term2(self):
     Log.create(username='******',
                task_date=datetime.datetime(2011, 11, 11, 0, 0),
                task_title='Test',
                task_time=60,
                task_notes='Notes')
     expected = 1
     with patch('search.input', side_effect=['user', '1']):
         actual = search_username_term()
         self.assertEqual(actual.select().count(), expected)
예제 #17
0
def api_log_new(*, userid, taskid, logcontent):
    'new log'
    if not userid:
        raise APIValueError('userid')
    if not taskid:
        raise APIValueError('taskid')
    id = next_id()
    log = Log(id=id, userid=userid, taskid=taskid, logcontent=logcontent)
    affected = yield from log.save()
    return {'affected': affected}
예제 #18
0
def info(msg):
    try:
        log = Log(parent=ndb.Key('Python Algorithms', 'scrap'))
        log.msg = msg
        log.put()
    except Exception as e:
        pass  # print 'Could not log info "%s" due to %s' % (msg, e)
    try:
        logging.info(msg)
    except Exception as e:
        pass  # print 'Could not log info "%s" due to %s' % (msg, e)
예제 #19
0
 def test_view_logs3(self):
     Log.create(username='******',
                task_date=datetime.datetime(2011, 11, 11, 0, 0),
                task_title='Test',
                task_time=60,
                task_notes='Notes')
     new_viewer = Viewer(Log.select())
     expected = 'neds'
     with patch('viewer.input', return_value='s'):
         new_viewer.view_logs()
         actual = new_viewer.menu_options
         self.assertEqual(actual, expected)
예제 #20
0
def trash(request):
    if request.method=="POST":
        file_list = File.objects.filter(trashed=True)
        for a in file_list:
            if request.POST.get(str(a.id))!=None:
                a.trashed=False
                a.save()
                Log.create(request.user, "Restored a file", a, None).save()
        return HttpResponseRedirect("/trash/")
    else:
        is_admin = request.user.is_staff
        file_list = File.objects.filter(trashed=True)
        return render_to_response('trash.html', {'user': request.user, 'file_list':file_list, 'is_admin':is_admin}, context_instance=RequestContext(request))
예제 #21
0
    def log(self, project, trace_info, extended_info, status, records_imported=0):

        if project == None:
            return

        log = Log(
            parent=project.key,
            filename=trace_info.filename,
            date=datetime.today(),
            status=status,
            records_imported=records_imported,
        )
        log.put()
예제 #22
0
파일: main.py 프로젝트: jliszka/scalacademy
 def get(self):
     id = int(self.request.get('id'))
     secret = int(self.request.get('secret'))
     user = db.get(db.Key.from_path("User", id))
     if user.secret == secret:
         level = self.request.get('level')
         step = int(self.request.get('step'))
         correct = self.request.get('correct') == '1'
         log = Log(user=user, level=level, step=step, correct=correct)
         log.put()
         user.level = level
         user.step = step
         user.put()
     self.response.out.write("ok")
예제 #23
0
def demo_logs(dog, food, run, walk):
    from models import Log, ExerciseLog, FoodLog
    logs = Log.query.filter(Log.dog_id==dog.id).order_by(desc(Log._date)).all() or [None] * 10
    d = today
    index = 1
    weight = 25
    calories = randint(400, 600)
    for log in logs:
        daily_calories = round(getMER(weight, dog._metric))
        filename = 'Pluto' + str(index) + '.jpg'
        url = 'static/img/demo/' + filename
        thumbnail_url = 'static/img/demo/Pluto' + str(index) + '-thumbnail.jpg'
        if log is None:
            log = Log(d, dog.id, weight, daily_calories, calories, None, filename, url, thumbnail_url)

            db.session.add(log)
            db.session.commit()
        else:
            log._date = d
            log._weight = weight
            log._daily_calories = daily_calories
            log._calories = calories
            log._image_filename = filename
            log._image_url = url

        food_log = FoodLog.query.filter(FoodLog.food_id==food.id, FoodLog.log_id==log.id).first()
        if food_log is None:
            food_log = FoodLog(round((calories * food._serving) / food._calories, 1), food.id, log.id)
        db.session.add(food_log)

        duration = randint(10, 100)
        run_log = ExerciseLog.query.filter(ExerciseLog.exercise_id==run.id, ExerciseLog.log_id==log.id).first()
        if run_log is None:
            run_log = ExerciseLog(duration, run.id, log.id)
        db.session.add(run_log)
        db.session.commit()
        total_duration = duration

        duration = randint(10, 100)
        walk_log = ExerciseLog.query.filter(ExerciseLog.exercise_id==walk.id, ExerciseLog.log_id==log.id).first()
        if walk_log is None:
            walk_log = ExerciseLog(duration, walk.id, log.id)
        db.session.add(walk_log)
        db.session.commit()
        total_duration += duration

        log._total_duration = total_duration
        db.session.add(log)
        db.session.commit()
        logs[index - 1] = log
        d -= timedelta(days=1)
        weight += randint(-1, 1)
        index += 1
        calories += randint(10, 50)
    return logs
예제 #24
0
def fresh(request):
    """
        定时刷新人品请求
    """
    users = User.objects.all()
    for userObj in users:
        username = userObj.username
        password = userObj.password
        result = action.login_renren(username, password)
        logObj = Log()
        logObj.user = userObj
        logObj.log_info = result
        logObj.save()
    return HttpResponse('Fresh rp success!')
예제 #25
0
def request_delete(request, document_number):
    if request.method=="POST":
        doc= Dokument.objects.get(id= int(document_number))
        for k in doc.files.filter(trashed=False):
            if request.POST.get(str(k.id))!=None:
                k.trashed=1
            # else:
            #    k.trashed=0
                k.save()
                Log.create(request.user, "Deleted a file", k, doc).save()
        return HttpResponseRedirect("/records")
    else:
        doc= Dokument.objects.get(id= int(document_number))
        return render_to_response('request_delete.html', {'doc':doc})
예제 #26
0
 def test_delete_log(self):
     Log.create(username='******',
                task_date=datetime.datetime(2011, 11, 11, 0, 0),
                task_title='Test',
                task_time=60,
                task_notes='Notes')
     expected = 1
     new_viewer = Viewer(Log.select())
     with patch('viewer.input', side_effect=['n', 'y', '']):
         new_viewer.delete_log()
         new_viewer.delete_log()
         logs = Log.select()
         actual = logs.select().count()
         self.assertEqual(actual, expected)
예제 #27
0
파일: views.py 프로젝트: qrees/log4tailer
def register(request):
    data = request.data
    logpath = data.get('logpath', None)
    logserver = data.get('logserver', None)
    if not (logpath and logserver):
        return HttpResponseBadRequest("Not enough information provided")
    logs = Log.objects.filter(logpath = logpath, logserver = logserver)
    if len(logs) == 0:
        log = Log(**data)
        log.save()
    else: 
        # there could be more than one (logs identified by ids, 
        # just grab first one
        log = logs[0]
    return HttpResponse(content = log.id, status = 201)
예제 #28
0
class Logger:
    def response(self, flow):
        self.l.response_body = flow.response.get_text()
        self.l.response_headers = json.dumps(dict(flow.response.headers))
        self.l.rtt = flow.response.timestamp_end - flow.request.timestamp_start
        self.l.code = flow.response.status_code
        self.l.save()

    def request(self, flow):
        self.l = Log()
        self.l.request_body = flow.request.get_text()
        self.l.method = flow.request.method
        self.l.url = flow.request.url
        self.l.request_headers = json.dumps(dict(flow.request.headers))
        self.l.save()
예제 #29
0
파일: views.py 프로젝트: qrees/log4tailer
def register(request):
    data = request.data
    logpath = data.get('logpath', None)
    logserver = data.get('logserver', None)
    if not (logpath and logserver):
        return HttpResponseBadRequest("Not enough information provided")
    logs = Log.objects.filter(logpath=logpath, logserver=logserver)
    if len(logs) == 0:
        log = Log(**data)
        log.save()
    else:
        # there could be more than one (logs identified by ids,
        # just grab first one
        log = logs[0]
    return HttpResponse(content=log.id, status=201)
예제 #30
0
 def test_edit_log2(self):
     expected = 'Testing'
     new_viewer = Viewer(Log.select())
     with patch('viewer.input', side_effect=['b', 'Testing', '']):
         new_viewer.edit_log()
         log = Log.select()
         actual = log[0].task_title
         self.assertEqual(actual, expected)
     expected = 'More notes'
     new_viewer = Viewer(Log.select())
     with patch('viewer.input', side_effect=['d', 'More notes', '']):
         new_viewer.edit_log()
         log = Log.select()
         actual = log[0].task_notes
         self.assertEqual(actual, expected)
예제 #31
0
def upload(request):
    if request.POST:
        userid = request.POST.get('userid')
        
        # Queries all non-expired sessions
        sessions = Session.objects.filter(expire_date__gte=datetime.now())

        # Checks if session is active
        for session in sessions:
            data = session.get_decoded()
            found_userid=data.get('_auth_user_id')

            # Prceeds when user id is validated
            if found_userid!=None and long(userid)==found_userid:
                user = User.objects.filter(id=userid)[0]
                faculty=None
                faculty=Faculty.objects.filter(id=request.POST.get('fid'))[0]
                transaction = Transaction.objects.get(id=request.POST.get('transaction'))
                document = Dokument()
                document.faculty= faculty
                document.transaction= transaction
                document.save()

                #Generates a random alphanum string for filename template
                while True:
                    fnameTemplate=''
                    fnameTemplate = ''.join(random.choice(string.ascii_lowercase))
                    fnameTemplate += ''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(4)) + '_'
                    if len(File.objects.filter(filename__startswith = fnameTemplate))==0: break

                #Processes uploaded files, page by page
                for key in request.FILES:
                    files = request.FILES[key]
                    filename = fnameTemplate + key.split('_')[1] + '.bmp'
                    with open('DCSArchivingSystem/testapp/media/files/' + filename, 'wb+') as destination:
                        for chunk in files.chunks():
                            destination.write(chunk)
                        file = File()
                        file.filename = filename
                        file.file = 'files/' + filename
                        file.save()                    
                        document.files.add(file)
                    Log.create(user, "Uploaded file", file, document).save()    
                Log.create(user, "Created Document", None, document).save()    
                return HttpResponseRedirect("/dashboard/")
            
    else:
        return render_to_response('upload.html', context_instance=RequestContext(request))
예제 #32
0
    def get(self):
        # get user ip
        if self.request.remote_addr:
            # query geo-location of IP
            query_args = {
                'token': 'dWEF43tHwFfgG51ASeFg5087rtRBR',
                'ip': self.request.remote_addr
            }
            encoded_args = urllib.urlencode(query_args)
            url = 'http://52.34.94.166:3000/get_ip_geo'
            result = json.loads(urllib2.urlopen(url, encoded_args).read())
            print result
            lat_lng = result['geo']['ll']

            # store data
            custom_index_log.ip_address = self.request.remote_addr
            custom_index_log.lat = lat_lng[0].__str__()
            custom_index_log.lng = lat_lng[1].__str__()
            custom_index_log.put()

        # set template
        template = JINJA_ENVIRONMENT.get_template('index.html')

        # get ip addresses of visitors
        ip_logs = Log.query().order(-Log.access_time)

        # values to pass to front-end
        template_values = {
            'title': 'Bay Technology',
            'greeting': 'Hello Bay Tecnology',
            'ip_logs': ip_logs
        }

        # dispatch template and values to front-end
        self.response.write(template.render(template_values))
예제 #33
0
def cant_play_on_saturdays():
    email = request.json['email']
    weeks = int(request.json['weeks'])
    future = bool(request.json['future'])

    if weeks <= 0 or weeks > 520:
        abort(400)

    user = User.query.get(email)
    if not user:
        abort(404)

    if user.group is not current_user.group:
        abort(404)

    if user.email is not email and not current_user.isGroupOwner:
        abort(401)

    if future:
        user.futureSaturdayAbsentWeeks = weeks
    else:
        user.isSaturdayAbsent = True
        user.saturdayAbsentWeeks = weeks
    db.session.commit()

    """"Insert a log"""
    description = 'Successfully registered Saturday absence for - ' + str(weeks) + ' weeks' + \
        ' for user - ' + user.firstname + ' ' + user.lastname
    log = Log(current_user.email, description)
    db.session.add(log)
    db.session.commit()

    schema = UserSchema()
    json_result = schema.dumps(user)
    return json_result.data
예제 #34
0
def adhoc_charge():
    if not current_user.isSuperUser:
        abort(401)

    amount = request.json['amount']
    subject = request.json['subject']
    message = request.json['message']

    users = User.query.order_by(User.firstname.asc()).all()
    cost_per_player = float("{0:.2f}".format(float(amount) / float(len(users))))

    """Add expense entry"""
    expense_entry = Expense(amount, cost_per_player, "Deduction_AdHoc", len(users))
    db.session.add(expense_entry)
    db.session.commit()

    email_ids = []
    for user in users:
        email_ids.append(user.email)
        user.balance = float("{0:.2f}".format(user.balance - cost_per_player))

        transaction = Transaction(user.email, cost_per_player, user.balance, "Deduct_AdHoc")
        db.session.add(transaction)
        db.session.commit()

    SendGrid.send_email(email_ids, "*****@*****.**", subject, message)

    """Insert a log"""
    description = 'An AdHoc amount of $' + str(amount) + ' is charged for reason: ' + subject
    log = Log(current_user.email, description)
    db.session.add(log)
    db.session.commit()
    return "Success"
예제 #35
0
    def process_request(self, request):
#        print(request.META['REMOTE_HOST'])

#        if request.path.find('admin') == -1 and not request.user.is_authenticated():
#            if request.GET.get('mobile', None) == 'authenticate':
        if not request.user.is_authenticated():
             user = authenticate(username='******', password='******')
             if user and user.is_active:
                 login(request, user)

        # check for lost devices when web interface is opened...
        for d in Device.objects.filter(ip=request.META.get('REMOTE_ADDR'), authorized=True, is_home=False):
            d.is_home = True
            d.save()
            l = Log(device=d, status=True, log_type='DE', text='(django)')
            l.save()
예제 #36
0
    def post(self, application_name):
        sender = self.request.get("sender")

        if not sender:
            sender = self.request.get("email")

        if not sender:
            sender = self.request.get("username")

        if not sender:
            sender = self.request.get("facebookId")

        if not sender:
            sender = self.request.get("fullname")

        log = Log.create(
            application_name,
            sender,
            self.request.get("body"),
            email=self.request.params.get("email"),
            facebookId=self.request.params.get("facebookId"),
            fullname=self.request.params.get("fullname"),
            username=self.request.params.get("username"))

        log.links = list(enum_request_files(log, self.get_file_infos()))

        log.put()
예제 #37
0
def make_someone_sunday_absent():
    if not current_user.isSuperUser:
        abort(401)

    email = request.json['email']
    numberOfWeeks = int(request.json['numberOfWeeks'])

    if numberOfWeeks <= 0:
        abort(400)

    user = User.query.get(email)

    if not user:
        abort(404)

    """Insert a log"""
    description = 'User, ' + user.firstname + ' ' + user.lastname + ' (' + user.email + ') has been marked absent on Sundays by Admin for ' + str(numberOfWeeks) + ' weeks'
    log = Log(current_user.email, description)
    db.session.add(log)
    db.session.commit()

    user.futureSundayAbsentWeeks = 0
    user.isSundayAbsent = True
    user.sundayAbsentWeeks = numberOfWeeks
    db.session.commit()

    return "Success"
예제 #38
0
 def test_write_log(self):
     User.create(username='******')
     expected = 'username'
     write_log(datetime.datetime(2011, 11, 11, 0, 0), 'Test', 60, 'Notes')
     log = Log.select()
     actual = log[0].username
     self.assertEqual(actual, expected)
예제 #39
0
    def user_log(user_id, text):
        row = Log(user_id=user_id, text=text.strip(

        ), date=datetime.datetime.now().strftime("%Y-%m-%d "
                                                 "%H:%M:%S"))
        session.add(row)
        session.commit()
예제 #40
0
 def test_view_logs2(self):
     new_viewer = Viewer(Log.select())
     expected = 'eds'
     with patch('viewer.input', return_value='s'):
         new_viewer.view_logs()
         actual = new_viewer.menu_options
         self.assertEqual(actual, expected)
예제 #41
0
    def get(self):
        # get user ip
        if self.request.remote_addr:
            # query geo-location of IP
            query_args = { 'token' : 'dWEF43tHwFfgG51ASeFg5087rtRBR', 'ip' : self.request.remote_addr }
            encoded_args = urllib.urlencode(query_args)
            url = 'http://52.34.94.166:3000/get_ip_geo'
            result = json.loads(urllib2.urlopen(url, encoded_args).read())
            print result
            lat_lng = result['geo']['ll']
            
            # store data
            custom_index_log.ip_address = self.request.remote_addr
            custom_index_log.lat = lat_lng[0].__str__()
            custom_index_log.lng = lat_lng[1].__str__()
            custom_index_log.put()

        # set template
        template = JINJA_ENVIRONMENT.get_template('index.html')
        
        # get ip addresses of visitors
        ip_logs = Log.query().order(-Log.access_time)
        
        # values to pass to front-end
        template_values = { 'title' : 'Bay Technology',
                            'greeting' : 'Hello Bay Tecnology',
                            'ip_logs' : ip_logs}
                            
        # dispatch template and values to front-end
        self.response.write(template.render(template_values))
예제 #42
0
 def do(self):
     
     decryptedFile = ExportTask.format_filename()
     encryptedFile = ExportTask.format_filename_processed(decryptedFile)
     
     dataset = self._get_data()
     datafile = helper.SHPDDataFile(encryptedFile, decryptedFile, dataset=dataset, file_type=helper.SHPDDataFile.TYPE_UPDATE)
     
     dataset = datafile.process()
     
     self._send_email(decryptedFile)
         
     'save log'    
     info_dict={} 
     info_dict.update(dataset.get('header')); 
     info_dict.update({'decryptedfile':decryptedFile, 'encryptedfile':self.encryptedFile})
     log = Log()
     log.info = json.dumps(info_dict)
     log.identitiy = encryptedFile
     log.status = ExportTask.STATUS_DATA_LOADED
     log.op_id = self.operator_id
     log.save()
     
     'archive file'
     datafile.archive()
예제 #43
0
def logs(req):
    """
    Creates an entity in the log

    :param req:
    :return: 201, and the log object
    """
    if req.method == 'GET':
        logs = Log.query().fetch(1)
        return logs[0]
    else:
        try:
            j_req = json.loads(req.body)
        except (TypeError, ValueError) as e:
            raise BadRequest("Invalid JSON")
        log = Log()
        log.data = j_req
        log.put()
        return 201, log.data
예제 #44
0
def book_borrow(request):
    if request.method == "POST":
        id = request.POST.get("id")
        username = request.POST.get("username", "")
        next = request.POST.get("next", "")
        book = Book.objects.get(id=int(id))
        if book.available:
            log = Log()
            log.username = username
            log.book = book
            log.save()
            book.available = False
            book.username = username
            book.save()
            messages.success(request, "借阅成功!")
            return HttpResponseRedirect(next)
        else:
            return HttpResponseForbidden()
    else:
        return HttpResponseForbidden()
예제 #45
0
 def read_to_db(self, multiple_data):
     
     for email_digest, encryptedFile in multiple_data:
         
         'read data from file'
         decryptedFile = EmailTask.format_filename_processed(encryptedFile)
         datafile = helper.SHPDDataFile(encryptedFile, decryptedFile, helper.SHPDDataFile.TYPE_RECEIVE)
         dataset = datafile.process()
         
         'save details'
         self.save2db(dataset.get('details'))
         
         'save log'
         info = json.dumps(dict(status=EmailTask.STATUS_DOWNLOADED, encryptedfile=encryptedFile, decryptedfile=decryptedFile, header=dataset.get('header')))
         log = Log(identitiy=email_digest, type=Log.TYPE_CHOICES[1], info=info, status=0, op_id=0)
         log.status = EmailTask.STATUS_DATA_LOADED
         log.save()
         
         'archive file'
         datafile.archive()
예제 #46
0
파일: views.py 프로젝트: sanketsaurav/mseva
	def get(self, category):
		"""
		Grab the category, and return the number of an available doctor
		"""

		exotel_response = {field:self.request.get(field) for field in EXOTEL_RESPONSE_FIELDS}

		today = datetime.datetime.now(IST())

		day = str(today.weekday())
		hour = str(today.hour) + str(today.minutes)

		doctor = User.fetch_available_users(category, day, hour)

		if doctor:
			#put logging in taskqueue with URL-safe key
			Log.log_call_pre(call_sid=exotel_response['CallSid'],
							from_number=exotel_response['From'],
							doctor=doctor)
			self.response.out.write(doctor.mobile)
예제 #47
0
def change_money(people, money, action):
  for person in people:
    person.money += money
    person.save()

  assert action and action <> ''
  try:
    a = Action.objects.get(name=action)
  except:
    a = Action(name=action)
    a.save()

  if len(people) == 1:
    content = "{0}元".format(money)
  else:
    content = "每人{0:.3f}元".format(money)
  log = Log(action=a, content=content)
  log.save()
  for person in people:
    log.people.add(person)
  log.save()
 def post(self):
      # init models object
      custom_index_log = Log()
      custom_index_log.ip_address = self.request.remote_addr
      custom_index_log.alarm_id = self.request.get("SENSOR_ID")
      custom_index_log.alarm_status = self.request.get("SENSOR_STATUS")
      custom_index_log.alarm_count = self.request.get("SENSOR_COUNT")
      custom_index_log.put()
      self.response.headers['Content-Type'] = 'text/plain'
      self.response.write('return successful')
예제 #49
0
def log_in(request):
    if request.user.is_authenticated():
        return render_to_response('dashboard.html', {'user': request.user})
    state = ""
    username = password = ''
    if request.POST:
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                state = "Login ok!"
                Log.create(user, "Logged in", None, None).save()
                return HttpResponseRedirect("/dashboard/")
            else:
                state = "Account not active."
        else:
            state = "* Wrong username or password."

    return render_to_response('login.html',RequestContext(request, {'state':state}))
예제 #50
0
def change(request, document_number):
    doc= Dokument.objects.get(id=int(document_number))
    prevfaculty = doc.faculty
    users_list= Faculty.objects.all()
    if request.method=='POST':
        faculty= request.POST.get('faculty')
        current_faculty = faculty
        faculty_name= faculty
        faculty= faculty.replace(',', "")
        for person in users_list:
            if faculty.split(' ')[0]==person.last_name: 
                for k in faculty.split(' '):
                    if k== person.last_name: continue
                    elif k not in person.first_name: break
                    doc.faculty_id=person.id
        doc.save()
        Log.create(request.user, "Changed owenership of a record owned by " + str(prevfaculty) + " to " + str(current_faculty), None, doc).save()
        return HttpResponseRedirect("/records")
    else:
        print 'hi'
        faculty_list= Faculty.objects.all()
        return render_to_response('change.html', {'doc':doc, 'faculty_list':faculty_list})
예제 #51
0
파일: xmpp.py 프로젝트: wade-fs/mud-fs
  def Log(self, channel, body, person=None, system=False):
    """Log a message.

    Args:
      channel: The channel object the message was sent to.
      body: The body of the message.
      person: The person who sent the message. Defaults to self.person.
      system: Whether this is a system log (i.e. not a chat).

    You should not use person and system at the same time.
    """
    if person and system:
      raise RuntimeError('You can\'t use person and system here')
    if not system:
      if not person: person = self.person
      log = Log(channel=channel.name,
                user=person.user.email(),
                body=body)
    else:
      log = Log(channel=channel.name,
                system=True,
                body=body)
    log.put()
예제 #52
0
파일: views.py 프로젝트: sanketsaurav/mseva
	def get():
		"""
		Log the post-call data
		"""

		call_sid = self.request.get('CallSid')
		call = Log.query(Log.call_sid==call_sid).fetch()

		if call:
			call_duration = self.request.get('DialCallDuration')
			start_time = self.request.get('StartTime')
			end_time = self.request.get('EndTime')

			call.put()
예제 #53
0
    def emit(self, record):
        from models import Log
        try:
            request = record.request
            filter = get_exception_reporter_filter(request)
            request_repr = filter.get_request_repr(request)
        except Exception:
            request = None
            request_repr = "Request repr() unavailable."

        if record.exc_info:
            exc_info = record.exc_info
            stack_trace = '\n'.join(traceback.format_exception(*record.exc_info))
        else:
            exc_info = (None, record.getMessage(), None)
            stack_trace = "No stack trace available"

        rec = Log(level = record.levelname,
                  message = record.getMessage(),
                  request = request_repr,
                  traceback = stack_trace
              )
        rec.save()
  def RenderTranscript(self):
    channel = self.request.get('channel', '')
    values = {
        'channel': channel,
    }

    # Query for the correct set of logs.
    query = Log.all().filter('channel =', channel)
    if 'start_time' in self.request.GET:
      # Followed a 'next page' link
      query.order('timestamp')
      t = time.strptime(self.request.GET['start_time'], '%Y%m%d%H%M%S')
      query.filter('timestamp >=', datetime.datetime(*t[0:6]))
      # Fetch N+1 to check for a next page
      logs = query.fetch(self._TRANSCRIPT_LINES + 1)
      values['first_time'] = logs[0].timestamp.strftime('%Y%m%d%H%M%S')
      if len(logs) > self._TRANSCRIPT_LINES:
        logs = logs[0:self._TRANSCRIPT_LINES]
        values['last_time'] = logs[-1].timestamp.strftime('%Y%m%d%H%M%S')
    else:
      query.order('-timestamp')
      reversed = True
      if 'end_time' in self.request.GET:
        # Followed a 'prev page' link
        t = time.strptime(self.request.GET['end_time'], '%Y%m%d%H%M%S')
        t = list(t[0:6])
        t[5] += 1  # round up so we ignore fractional seconds
        query.filter('timestamp <=', datetime.datetime(*t))
        # Fetch N+1 to check for a prev page
        logs = query.fetch(self._TRANSCRIPT_LINES + 1)
        values['last_time'] = logs[0].timestamp.strftime('%Y%m%d%H%M%S')
      else:
        # No 'prev/next' links followed, so no filter
        # Fetch N+1 to check for a prev page
        logs = query.fetch(self._TRANSCRIPT_LINES + 1)
      if len(logs) > self._TRANSCRIPT_LINES:
        logs = logs[0:self._TRANSCRIPT_LINES]
      values['first_time'] = logs[-1].timestamp.strftime('%Y%m%d%H%M%S')
      logs.reverse()
    values['logs'] = logs

    # Adjust timezone if requested.
    if 'tz' in self.request.GET:
      tz = FixedOffsetZone(int(self.request.get('tz')))
      for log in logs:
        t = log.timestamp + tz.utcoffset(log.timestamp)
        log.timestamp = t.replace(tzinfo=tz)

    self.Render('transcript.html', values)
    def get(self):

        
        # set template
        template = JINJA_ENVIRONMENT.get_template('index.html')
        
        # get ip addresses of visitors
        ip_logs = Log.query().order(-Log.access_time)
        
        # values to pass to front-end
        template_values = { 'title' : 'COEN296 IoT',
                            'greeting' : 'Door Alarm Demo',
                            'ip_logs' : ip_logs}
                            
        # dispatch template and values to front-end
        self.response.write(template.render(template_values))
예제 #56
0
def save_log(request):
    '''记录收到的警告记录'''
    level = request.POST.get('level', '')
    msg  = request.POST.get('msg', '')
    
    if not level or not msg:
        return HttpResponse(u'参数错误')
    
    try:
        level = int(level)
    except:
        return HttpResponse(u'参数错误')

    ip = request.META.get('REMOTE_ADDR', '')
    settings = ServerSettings.objects.filter(server_ip=ip)
    if settings:
        '''找到服务器设置'''
        setting = settings[0]
        #记录
        log = Log()
        log.server = setting
        log.level = level
        log.content = msg
        log.save()
        print 'log: ', msg
        #检查是否推送
        push_logs = setting.pushlog_set.order_by('-submit_date')
        
        is_push = False
        if push_logs:
            #计算时间
            push_log = push_logs[0]
            now = datetime.datetime.now()
            interval = now - push_log.submit_date
            if interval.days > 0 or interval.seconds > 30*60:
                '''推送间隔要大于30分钟'''
                is_push = True
        else:
            '''没有记录,则要记录'''
            is_push = True
        if is_push:
            '''需要推送'''
            print '!!!!!!!!!!!!!!push msg: ', msg
            
            push_log = PushLog()
            push_log.server = setting
            push_log.content = msg
            push_log.save()
    
        return HttpResponse('log ok')
        
    else:
        '''没有这个服务器设置'''
        return HttpResponse('fail, not setting about this server')