コード例 #1
0
ファイル: app.py プロジェクト: gtg7784/Write-Ups
    def on_get(self, req, resp):
        user = req.context['user']
        if 'id' in req.params:
            post_id = req.params['id']
            try:
                post = Post.find_by_id(self.session, re.match("^\d+", post_id).group(0))
            except NoResultFound:
                resp.media = error('no post')
                return
            except:
                resp.media = error('no post')

            if post.author == user['user_id'] or user['level'] == ADMIN_LEVEL:
                # reporting process
                try:
                    report = Report.find_by_author(self.session, user['user_id'])
                    now = datetime.datetime.utcnow()
                    if (report.report_time + datetime.timedelta(0, RATE_LIMIT_DELTA)).time() > now.time():
                        resp.media = error('rate limit reached')
                        return
                except NoResultFound:
                    pass

                report = Report(post=post_id, author=post.author)
                self.session.add(report)
                self.session.commit()
                resp.media = result('success')
            else:
                resp.media = error('permission denied')
        else:
            resp.media = error('id')
コード例 #2
0
def save_reports():
    ret = {"err": 0, "msg": "Report id is save"}

    getreport = Report.query.all()
    for report in getreport:
        print("fatching Report name  . . .: ", report.boat_name)
        print("fatching Report boat type .: ", report.boat_type)
        print("fatching Report lat  . . . : ", report.lat)
        print("fatching Report lng . . . .: ", report.lng)
        print("fatching Report user . . . : ", report.user)
    try:
        # boat_id = int(request.form['boat_id'])
        boat_name = request.form['boat_name']
        boat_type = request.form['boat_type']
        get_lat = request.form['get_lat']
        get_lng = request.form['get_lng']
        user_id = int(request.form['user_id'])

        # boatcheck = Boat.query.filter_by(id=boat_id).first()
        # if not boatcheck:
        #     ret["err"] = 1
        #     ret["msg"] = "Boat is not exist"
        # else:
        #     # saving report
        #     report.boat = boat_id
        report = Report(boat_name, boat_type, get_lat, get_lng, user_id)
        db.session.add(report)
        db.session.commit()
        ret["report_id"] = report.id
    except Exception as exp:
        print("save_reports() :: Got exp: %s" % exp)
        print(traceback.format_exc())
    return json.dumps(ret)
コード例 #3
0
	def post(self):
		if g.user:
			#Parse the request
			#print("Got data")
			data = parser.parse_args()

			#Check for argument errors
			if not data['dif'] or not data['score'] or not data['total']:
				return json.dumps("Not enough arguments"), 400
			#print("Data is good")
			difficulty = data['dif']
			num_correct = data['score']
			num_total = data['total']

			#Add the report to the user
			try:
				date = datetime.now()
				db.session.add(Report(g.user.userID, difficulty, num_correct, num_total, date))
				g.user.latest_report(date)
				db.session.commit()
			except:
				return json.dumps("Bad request"), 400

			return json.dumps("Resource created"), 201
		return json.dumps("Unauthorized"), 401
コード例 #4
0
 def parse(self):
     xpath_ = "//*[@id='ctl00_ContentPlaceHolder1_Name_Reports1_TabContainer1_TabPanel1_dgReports']/tbody/tr[@class!='gridviewheader']"
     tree = html.fromstring(self.page_content)
     body = tree.xpath(xpath_)
     logging.info(body)
     links = []
     reports = []
     if body is None:
         return [
             (),
         ]
     for tr in body:
         try:
             link = tr.xpath('.//td[1]/a/@id').pop()
             report_type = tr.xpath('.//td[2]/span/text()').pop()
             year = tr.xpath('.//td[3]/text()').pop()
             report_filed_date = tr.xpath('.//td[4]/text()').pop()
             report_received_by = tr.xpath('.//td[5]/span/text()').pop()
             report_received_date = tr.xpath('.//td[6]/span/text()').pop()
             links.append(link)
             report = Report(report_type=report_type,
                             year=year,
                             report_filed_date=report_filed_date,
                             report_received_by=report_received_by,
                             report_received_date=report_received_date)
             reports.append(report)
         except Exception as e:
             logging.info(e)
     return ((link, report) for link, report in zip(links, reports))
コード例 #5
0
def summarize():
    report = Report()
    if request.method == 'POST':
        start = request.form['start']
        end = request.form['end']
        paging, data_list = report.summary(start=start, end=end)
        # https://github.com/Shir0kamii/Flask-CSV
        if data_list:
            encoding = 'utf-8-sig'
            filename = start + '_' + end + '.csv'
            buf = StringIO()
            writer = ValidatedWriter(buf, fieldnames=data_list[0].keys())
            writer.writeheader()
            for data in data_list:
                writer.writerow(data)
            buf.seek(0)
            buf = BytesIO(buf.read().encode(encoding))
            return send_file(buf,
                             attachment_filename=filename,
                             as_attachment=True,
                             mimetype='text/csv')
    form = PeriodSubmitForm()
    page, _, start, end = request_get(request.args)
    paging, data_list = report.summary(page=page, start=start, end=end)
    return render_template('report/summary.html', **locals())
コード例 #6
0
def add_report(report, member_data):
    #member_match = [(k,m) for k,m in member_data.items() if m['user_id'] == report.user_id]
    member_match = []
    for k, m in member_data.items():
        for x in m:
            if x['user_id'] == report.user_id:
                member_match.append(x)
    if len(member_match) > 0:
        member_reports = member_match[0].get('reports')
        report_exists = [
            r for r in member_reports if report.message_id == r['message_id']
        ]
        if len(report_exists) == 0:
            report_objects = []
            for item in member_reports:
                rep = Report(member_match[0].get('user_id'),
                             item.get('report_nickname'),
                             item.get('message_id'), item.get('reported_by'))
                report_objects.append(rep)
            report_objects.append(report)
            updated_member = Member(member_match[0]['user_id'],
                                    member_match[0]['nickname'],
                                    report_objects)
            return updated_member
    else:
        new_reports = []
        new_reports.append(report)
        new_member = Member(report.user_id, report.report_nickname,
                            new_reports)
        return new_member
コード例 #7
0
def add_report(desc, user_id, user_informed):
    report = Report(description=desc,
                    user=user_id,
                    user_informed=user_informed,
                    status='new',
                    date_created=datetime.datetime.now())
    return report.save()
コード例 #8
0
def _save_report(report_type, member, team, message):
    standup = team.todays_standup()
    if standup is None:
        standup = Standup(team_id=team.id)
        standup.created_at = datetime.now()
        standup.save()

    report = member.todays_report(standup)
    if report is None:
        report = Report(member_id=member.id, standup_id=standup.id)
        report.created_at = datetime.now()
        report.save()

    if report_type == 'today':
        report.today = message
    elif report_type == 'yesterday':
        report.yesterday = message
    elif report_type == 'problem':
        report.problem = message

    report.updated_at = datetime.now()
    report.save()

    standup.update_at = datetime.now()
    standup.save()

    return 'Rapportert til `{}`'.format(team.name)
コード例 #9
0
ファイル: views.py プロジェクト: saurabhsood91/rescute
def postReport(request):
    if request.method == 'POST':
        # print request.POST
        # print request.POST.get('additionalComments')
        categoryObject = Category.objects.get(
            animal_type=request.POST.get('animalType'))
        latitude = request.POST.get('latitude')
        longitude = request.POST.get('longitude')
        mobile_number = request.POST.get('mobileNumber')
        image_path = request.POST.get('imagePath')
        additional_comments = request.POST.get('additionalComments')
        webUrl = (
            "http://maps.googleapis.com/maps/api/geocode/json?latlng=%s,%s" %
            (latitude, longitude))
        urlstream = urllib2.urlopen(webUrl, timeout=1)
        data = json.loads(urlstream.read())
        location = data['results'][0]["formatted_address"]
        reportObject = Report(animal_type_id=categoryObject.id,
                              latitude=latitude,
                              longitude=longitude,
                              mobile_number=mobile_number,
                              image_path=image_path,
                              location=location,
                              additional_comments=additional_comments)
        reportObject.save()
    return HttpResponse(reportObject.id)
コード例 #10
0
ファイル: tests.py プロジェクト: nakamura9/inventory_mmt
 def test_create_report(self):
     r = Report(author=Account.objects.first(),
                start_period=self.today,
                end_period=self.today,
                scope="maintenance_review")
     r.save()
     self.assertEqual(Report.objects.all().count(), 2)
コード例 #11
0
def attend():
    report = Report()
    if request.method == 'POST':
        start = request.form['start']
        end = request.form['end']
        name = request.form['name']
        data_list = report.attend(page='all', name=name, start=start, end=end)
        if data_list:
            encoding = 'utf-8-sig'
            filename = start + '_' + end + '.csv'
            buf = StringIO()
            writer = ValidatedWriter(buf, fieldnames=data_list[0].keys())
            writer.writeheader()
            for data in data_list:
                writer.writerow(data)
            buf.seek(0)
            buf = BytesIO(buf.read().encode(encoding))
            return send_file(buf,
                             attachment_filename=filename,
                             as_attachment=True,
                             mimetype='text/csv')
    # https://gist.github.com/doobeh/3e685ef25fac7d03ded7#file-vort-html-L11
    form = PeriodSubmitForm()
    page, name, start, end = request_get(request.args)
    paging, today, data_list, summary = report.attend(page=page,
                                                      name=name,
                                                      start=start,
                                                      end=end)
    return render_template('report/attendance.html', **locals())
コード例 #12
0
def match_member_nickname(members, prereport):
    #matches = [m for m in members if m['nickname'] in prereport['@nickname']]
    report = None
    for member in members:
        if member['nickname'] in prereport['@nickname']:
            report = Report(member['user_id'], member['nickname'], prereport['message_id'],
                            prereport['reported_by'])
    return report
コード例 #13
0
ファイル: main.py プロジェクト: overthecloud75/attendance
def save_db():
    report = Report()
    report.update()
    # report.update(date='2021-10-11')
    t = threading.Timer(1800, save_db)
    app.logger.info('save_db')
    t.daemon = True
    t.start()
コード例 #14
0
 def updateReport(self, id, fieldsToUpdate, params):
     # update the report with the specified id, indicating which fields to update and what to update them to
     db.updateObject('reports', id, fieldsToUpdate, params)
     # retrieve the newly updated report and create an object from it's data
     reportTuple = db.getObjectById('reports', id)[0]
     report = Report(reportTuple[0], self.__getCar(reportTuple[1]), reportTuple[2], reportTuple[3])
     # jsonify the report to confirm the update
     return jsonify({'report': report.asDict()})
コード例 #15
0
def add_report(name, kind, email, phone, message):
    r = Report(name=name, kind=kind, email=email, phone=phone, message=message)
    try:
        db.session.add(r)
        db.session.commit()
        return True
    except Exception as e:
        print(e)
        return False
コード例 #16
0
ファイル: tests.py プロジェクト: rogeriofalcone/anaf
 def test_model_chart(self):
     "Test Chart Model"
     report = Report(name='test')
     report.save()
     obj = Chart(name='test', report=report)
     obj.save()
     self.assertEquals('test', obj.name)
     self.assertNotEquals(obj.id, None)
     obj.delete()
コード例 #17
0
    def mutate(self, info, report_data=None):
        report = Report(reported_id_type=report_data.reported_id_type,
                        reported_id=report_data.reported_id,
                        user_id=report_data.user_id,
                        reason=report_data.reason,
                        description=report_data.description)
        report.save()

        return CreateReportMutation(report=report)
コード例 #18
0
ファイル: task.py プロジェクト: bishnusyangja/flask_app
def load_search_task(keyword, user_id):
    logger.info("searching google")
    count = get_results(keyword)
    data = dict(user_id=user_id, keyword=keyword, result=count)
    # db.session.expire_all()
    obj = Report(**data)
    db.session.add(obj)
    db.session.commit()
    return True
コード例 #19
0
def match_member_nicknames(reported_messages, members):
    reports = []
    for member in members:
        for message in reported_messages:
            if member['nickname'] in message.get('@nickname'):
                report = Report(member['user_id'], member['nickname'], message.get(
                    'message_id'), message.get('reported_by'))
                reports.append(report)
    return reports
コード例 #20
0
ファイル: tests.py プロジェクト: nakamura9/inventory_mmt
 def test_delete_report(self):
     Report(author=Account.objects.first(),
            start_period=self.today,
            end_period=self.today,
            scope="maintenance_review").save()
     response = self.client.get(
         reverse("reports:delete-report",
                 kwargs={"pk": Report.objects.latest("pk").pk}))
     self.assertEqual(response.status_code, 302)
コード例 #21
0
def create_report():
    'Api end-point for creating a new report'
    # add the report
    db.session.add(Report(**request.form))
    db.session.commit()
    # fetch the newly created for display of successful response
    r = db.session.query(Report).order_by(Report.report_id.desc()).first()
    return redirect(url_for('reports.view_report', report_id=r.report_id),
                    code=302)
コード例 #22
0
def add_report(appointment_id, report):
    report = Report(
        appointment = appointment_id,
        red_blood_cell_count = report["red_blood_cell_count"],
        white_blood_cell_count = report["white_blood_cell_count"],
        sugar_level = report["sugar_level"]
    )

    database.session.add(report)
    database.session.commit()
コード例 #23
0
ファイル: mibraryapi.py プロジェクト: pdiemi/mibrary
def add_report():
    date = request.json['date']
    username = request.json['username']
    book_id = request.json['book_id']

    new_report = Report(date, username, book_id)

    db.session.add(new_report)
    db.session.commit()

    return jsonify(new_report)
コード例 #24
0
def parse_report(company, jres, start_date=None, end_date=None):
    print('Parsing report')
    #create statement, or find statement
    report_name = jres["Header"]["ReportName"]
    start_period = jres["Header"]["StartPeriod"]
    end_period = jres["Header"]["EndPeriod"]
    gathered_at = jres["Header"]["Time"]
    current_time = datetime.datetime.now()
    report = Report(company_id=company.id, start_period=start_date, end_period=end_date, gathered_at=gathered_at, name=report_name, body=jres, created_at=current_time, updated_at=current_time)
    db_session.add(report)
    db_session.commit()
コード例 #25
0
def ws_student_reports():
    try:
        with db.DbContext() as connection:
            cursor = connection.cursor()
            cursor.execute(
                "select r.usn ,s.name ,i.iname, i.company, i.i_year from register r JOIN student s ON (s.usn = r.usn) JOIN internship i ON (i.id = r.iid) order by r.usn ;"
            )
            rows = cursor.fetchall()
            student_report_lst = [Report(*row) for row in rows]
            _view_student_report(student_report_lst)
    except Exception as e:
        print(str(e))
コード例 #26
0
ファイル: inserts.py プロジェクト: s4njee/modtoolsv3
def addReports():
    for item in bot.subreddit(config.subreddit).mod.reports(limit=None):
        d = datetime.datetime.fromtimestamp(item.created_utc)
        for report in item.user_reports:
            session = Session()
            if report[0] is not None:
                r = Report(id=item.id,
                           reason=report[0],
                           count=str(report[1]),
                           date=d)
                session.merge(r)
                session.commit()
        for report in item.mod_reports:
            session = Session()
            if report[0] is not None:
                r = Report(id=item.id,
                           reason=report[0],
                           count=report[1],
                           date=d)
                session.merge(r)
                session.commit()
コード例 #27
0
def save_quick_report():
    body = request.get_json()
    report = Report(address=body.get('address'),
                    category='דיווח מהיר',
                    description=body.get('transcript'))
    if current_user.team_id:
        report.team_id = current_user.team_id
    db.session.add(report)
    db.session.commit()
    if not current_user.is_admin:
        create_new_notification(1, report)
    return jsonify({'id': report.id})
コード例 #28
0
def cpanel_open(request):
    user = request.user
    device_choices = Device.get_device_choices(Device())
    os_choices = Device.get_os_choices(Device())
    problem_choices = Report.get_problem_choices(Report())
    return render_to_response('cpanel/open.html', {
        'user': user,
        'device_choices': device_choices,
        'os_choices': os_choices,
        'problem_choices': problem_choices
    },
                              context_instance=RequestContext(request))
コード例 #29
0
ファイル: tests.py プロジェクト: nakamura9/inventory_mmt
 def setUpTestData(cls):
     super(ReportTests, cls).setUpTestData()
     cls.create_dummy_accounts()
     cls.create_test_inventory_models()
     cls.create_test_workorders()
     cls.create_test_checklist()
     cls.create_test_preventative_task()
     Report(author=Account.objects.first(),
            start_period=datetime.date.today() - datetime.timedelta(days=1),
            end_period=datetime.date.today() + datetime.timedelta(days=1),
            scope="maintenance_review").save()
     cls.r = Report.objects.first()
コード例 #30
0
def displayStudentWeeklyReport():
    if request.method == 'GET':
        return render_template("student-weeklyreport-form.html")

    elif request.method == 'POST':
        student_id = request.form.get('s_id')
        proj_name = request.form.get('pname')
        date = request.form.get('date')
        py_date = datetime.strptime(date, '%Y-%m-%d')
        iteration = request.form.get('iteration_no')
        imp_stat = request.form.get('impl_status')
        highlts = request.form.get('highlights')

        risk_name = request.form.get('risk')
        risk_desc = request.form.get('description')
        risk_res = request.form.get('resolution')
        risk_status = request.form.get('risk_status')

        task_name = request.form.get('task_name1')
        task_desc = request.form.get('task_descript1')
        task_member = request.form.get('team_member1')
        task_comp = request.form.get('completed')

        task_name_iter = request.form.get('task_name')
        task_desc_iter = request.form.get('task_descript')
        task_member_iter = request.form.get('team_member')

        new_report = Report(rep_studentID=student_id,
                            rep_proj_name=proj_name,
                            date=py_date,
                            iteration=iteration,
                            status=imp_stat,
                            highlights=highlts,
                            risk_name=risk_name,
                            risk_desc=risk_desc,
                            risk_res=risk_res,
                            risk_status=risk_status,
                            task_name=task_name,
                            task_desc=task_desc,
                            task_member=task_member,
                            task_comp=task_comp,
                            task_name_iter=task_name_iter,
                            task_desc_iter=task_desc_iter,
                            task_member_iter=task_member_iter)

        try:
            db.session.add(new_report)
            db.session.commit()
            return render_template("student-homepage.html")
        except IntegrityError:
            return render_template("student-weeklyreport-form.html"), 400
    return