Exemplo n.º 1
0
def update_contoh():
    tableName = "contoh"
    try:
        dt = Data()
        data = request.json

        query = "UPDATE " + tableName + " SET id_contoh = id_contoh"

        values = ()

        id_contoh = data['id_contoh']

        if 'contoh1' in data:
            contoh1 = data["contoh1"]
            query = query + ", contoh1 = %s"
            values = values + (contoh1, )
        if 'foto' in data:
            foto = data["foto"]
            query = query + ", foto = %s"

            filename = secure_filename(
                strftime("%Y-%m-%d %H:%M:%S") + "_foto_contoh.png")
            save(
                foto,
                os.path.join(app.config['UPLOAD_FOLDER_GAMBAR_CONTOH'],
                             filename))

            values = values + (filename, )
            del data['foto']

        query = query + " WHERE id_contoh = %s "
        values = values + (id_contoh, )
        dt = Data()
        dt.insert_data(query, values)

        hasil = "berhasil"
        if "" in data:
            del data['foto']
        param_logs = "[" + str(data) + "]"
        logs = "{'id_user':'******'user_id'])" + "','roles':'" + "str(current_identity['roles'])" + "','action':'Update artikel','params':'" + param_logs + "','date':'" + secure_filename(
            strftime("%Y-%m-%d %H:%M:%S")) + "'}\n"
        tambahLogs(logs)
    except Exception as e:
        return make_response(
            jsonify({
                'description': str(e),
                'error': 'Bad Request',
                'id_user_code': 400
            }), 400)
    return make_response(jsonify({
        'id_user_code': 200,
        'description': hasil
    }), 200)
Exemplo n.º 2
0
def create_data():
    """
    Creates a Data

    This endpoint will create a Data based the data in the body that is posted
    or data that is sent via an html form post.
    """
    item = {}
    # Check for form submission data
    if request.headers.get(
            'Content-Type') == 'application/x-www-form-urlencoded':
        app.logger.info('Processing FORM data')
        item = {
            'name': request.form['name'],
            'category': request.form['category'],
            'available': request.form['available'].lower()
            in ['true', '1', 't']
        }
    else:
        app.logger.info('Processing JSON data')
        item = request.get_json()

    data = Data()
    data.deserialize(item)
    data.save()
    message = data.serialize()
    return make_response(
        jsonify(message), HTTP_201_CREATED,
        {'Location': url_for('get_data', data_id=data.id, _external=True)})
Exemplo n.º 3
0
def create_message():
    """
    Creates a Data

    This endpoint will create a Data based the data in the body that is posted
    or data that is sent via an html form post.
    """
    item = {}
    # Check for form submission data
    if request.headers.get('Content-Type') == 'application/x-www-form-urlencoded':
        app.logger.info('Processing FORM data')
        item = {
            'name': request.form['name'],
			'timestamp': time.time(),
            'text': request.form['text'],
            'available': request.form['available'].lower() in ['true', '1', 't']
        }
    else:
        app.logger.info('Processing JSON data')
        item = request.get_json()

    data = Data()
    data.deserialize(item)
    data.save()
    message = data.serialize()
    chatuser=request.form['name']
    messages=sorted(json.loads(list_data().get_data().decode("utf-8")),reverse=True)
    return render_template('chat.html', **locals())						 
Exemplo n.º 4
0
def new_experiment(url, name):
    raw = get_dataset_from_url(url)

    with database.atomic():
        experiment = Experiment.create(source_url=url, name=name)
        Data.bulk_create([Data(**r, experiment=experiment) for r in raw])
        return experiment
Exemplo n.º 5
0
def insert_contoh():
    query = ""
    values = ()
    try:
        data = request.json
        contoh1 = data['contoh1']
        foto = data['foto']

        filename = secure_filename(
            strftime("%Y-%m-%d %H:%M:%S") + "_foto_contoh.png")
        save(foto,
             os.path.join(app.config['UPLOAD_FOLDER_GAMBAR_CONTOH'], filename))

        dt = Data()
        values = (contoh1, pass_ency, nama, no_telepon, alamat, filename, jk,
                  tanggal_lahir)
        dt.insert_data(query, values)

        hasil = "berhasil"
        param_logs = "[" + str(data) + "]"
        logs = "{'id_user':'******'user_id'])" + "','roles':'" + "str(current_identity['roles'])" + "','action':'Tambah Artikel','date':'" + secure_filename(
            strftime("%Y-%m-%d %H:%M:%S")) + "'}\n"
        tambahLogs(logs)
    except Exception as e:
        return make_response(
            jsonify({
                'description': str(e),
                'error': 'Bad Request',
                'id_user_code': 400
            }), 400)
    return make_response(jsonify({
        'id_user_code': 200,
        'description': hasil
    }), 200)
Exemplo n.º 6
0
def index(request):
    if request.method == 'GET':
        # save new GET
        platform = request.GET['platform']
        print platform
        device_id = request.GET['id']
        print device_id
        time = request.GET['time']
        print time
        type_s = request.GET['type']
        print type_s
        data_s = request.GET['data']
        print data_s

        # d = data()
        # d.platform = platform
        # d.time = time
        # d.type_s = type_s
        # d.data_s = data_s

        d = Data()
        d.platform = platform
        d.time = time
        d.type_s = type_s
        d.data_s = data_s
        d.device_id = device_id

        d.save()

    # GET all GETs from DB
    Datas = Data.objects
    return render_to_response('index.html', {'Datas': Datas},
                              context_instance=RequestContext(request))
Exemplo n.º 7
0
def normalize_input():
    data = json.loads(request.data)
    response = Response()
    response.source = data["deviceId"]
    response.timestamp = convert_date_string_to_int(data["timestamp"])
    response.data = dict()

    for key in data:
        if key == "deviceId" or key == "timestamp":
            continue
        response_data = Data()
        try:
            response_data.string = str(data[key])
        except:
            response_data.string = None
        try:
            response_data.numeric = float(data[key])
        except:
            response_data.numeric = None
        try:
            response_data.datetime = convert_date_string_to_int(data[key])
        except:
            response_data.datetime = None

        response.data[key] = response_data

    return response.toJSON()
Exemplo n.º 8
0
def publish(request):
    name = lName = request.session.get('name', False)
    if request.method == 'POST':
        form = UploadFileForm(request.POST, request.FILES)
        #print form.errors
        if form.is_valid():
            handle_uploaded_file(request)
            title = request.POST.get('title')
            description = request.POST.get('description')
            price = request.POST.get('price')
            category = request.POST.get('category')
            #print request.POST.get('title')
            from datetime import date
            data = Data(title=title,
                        description=description,
                        price=price,
                        category=category,
                        creator=request.session.get('name'),
                        createdDate=date.today())
            data.save()

            return HttpResponseRedirect('/market/mypublish/')
        else:
            return HttpResponse(form)
    else:
        form = UploadFileForm()
        return render_to_response('dt/publish.html', {
            'form': form,
            'lName': lName
        },
                                  context_instance=RequestContext(request))
def index():
    form1 = EnterDBInfo(request.form)
    form2 = RetrieveDBInfo(request.form)
    
    if request.method == 'POST' and form1.validate():
        data_entered = Data(notes=form1.dbNotes.data)
        try:
            db.session.add(data_entered)
            db.session.commit()
            db.session.close()
        except:
            db.session.rollback()
        return render_template('thanks.html', notes=form1.dbNotes.data)

    if request.method == 'POST' and form2.validate():
        try:
            num_return = int(form2.numRetrieve.data)
            query_db = Data.query.order_by(Data.id.desc()).limit(num_return)
            for q in query_db:
                print(q.notes)
            db.session.close()
        except:
            db.session.rollback()
        return render_template('results.html', results=query_db, num_return=num_return)

    return render_template('index.html', form1=form1, form2=form2)
Exemplo n.º 10
0
def coleta_dados(age_id):
    if age_id > 3 or age_id < 1:
        return redirect(url_for('index'))

    else:
        form = FraseForm()

        if form.validate_on_submit():
            if form.frase.data == session['secret_phrase']:
                finish = datetime.utcnow()
                new_data = Data(char_num=len(session['secret_phrase']),
                                timedelta=(finish -
                                           session['start_time']).seconds,
                                age_id=age_id)
                db.session.add(new_data)
                db.session.commit()
                flash(
                    'Dados adicionados com sucesso, obrigado pela colaboração.'
                )
                return redirect(url_for('index'))
            else:
                flash('As frases não estão iguais')
                return redirect(url_for('coleta_dados', age_id=age_id))
        else:
            return render_template('datainput.html',
                                   frase=session['secret_phrase'],
                                   form=form)
Exemplo n.º 11
0
def parse_data(dtg, addr, bssid):
    device = get_device(addr)

    recent = Device.objects(Q(events__timestamp__gte=datetime.utcnow() - timedelta(minutes=10)) | Q(events__dest__ne=bssid), mac=addr)
    if len(recent) == 0:
        event = Data()
        event.timestamp = datetime.utcnow()
        event.dest = bssid
        device.events.append(event)
        device.save()

        dev = selector.select('Device', mac=addr).first()
        if dev == None:
            dev = Node('Device', mac=addr, last_seen=str(datetime.utcnow()), vendor=device.vendor)
            graph.create(dev)
        
        bs = selector.select('Device', mac=bssid).first()
        if bs == None:
            bs = Node('Device', mac=bssid, vendor=device.vendor, last_seen=str(datetime.utcnow()))
            graph.create(bs)

        if len(list(graph.match(start_node=dev, rel_type='data', end_node=bs))) == 0:
            rel = Relationship(dev, 'data', bs)
            graph.create(rel)

        print("%s[+] (%s) Data: %s (%s) -> %s" % (Term.BLUE, dtg, addr, device.vendor, bssid))
Exemplo n.º 12
0
def add_data_get():
    data = request.values.get('data')
    print 'data = ' + str(data)
    shit = Data()
    shit.data = data
    db.session.add(shit)
    db.session.commit()
    return 'WTF BRO'
 def save_data(self, data):
     session = DBSession()
     temp = data.copy()
     temp['timestamp'] = time()
     new_record = Data(**temp)
     session.add(new_record)
     session.commit()
     session.close()
Exemplo n.º 14
0
def load_json():
    with open('allsales.json', encoding='utf-8') as jsonFile:
        data_from_file = json.load(jsonFile)
        data = Data()
        data.products = data_from_file["Products"]
        data.purchases = data_from_file["Purchases"]
        for info in data_from_file["Transactions"]:
            data.sales.append(transactionFromJSON(info))
    return data
Exemplo n.º 15
0
def queue_post():
    token = data_token()

    # To ensure that each token is unique; if there a Data which has this token,
    # then regen the token
    while Data.with_token(token):
        token = data_token()

    add_to_db(Data(token=token, value=request.get_data()))
    return token, 200
Exemplo n.º 16
0
def calculator():
    user = check_login()
    if not user:
        return redirect(url_for('login'))
    if request.method == "GET":
        return render_template("calculator.html",
                               title="Calculator",
                               user=user)
    elif request.method == "POST":
        sex = request.form.get("sex")
        weight = int(request.form.get("weight"))
        height = int(request.form.get("height"))
        age = int(request.form.get("age"))
        activity = float(request.form.get("activity"))
        goals = int(request.form.get("goals"))

        # gets data from form and calculate results using the Mufflin equation

        if sex == "male":
            resting_energy_expenditure = (10 * weight) + (6.25 * height) - (
                5 * age) + 5
            total_energy_expenditure = resting_energy_expenditure * activity
        else:
            resting_energy_expenditure = (10 * weight) + (6.25 * height) - (
                5 * age) - 161
            total_energy_expenditure = resting_energy_expenditure * activity

        calorie_intake = int(total_energy_expenditure)

        if goals == 2:
            calorie_intake -= 500
        elif goals == 3:
            calorie_intake -= 1000
        elif goals == 4:
            calorie_intake += 500
        elif goals == 5:
            calorie_intake += 1000

        # check if calculation already exists
        calorie_data = db.query(Data).filter_by(user_id=user.id).first()
        if calorie_data:
            calorie_data.calories = calorie_intake
            calorie_data.weight = weight
            calorie_data.goals = goals
        else:
            calorie_data = Data(calories=calorie_intake,
                                weight=weight,
                                goals=goals,
                                user_id=user.id)
        db.add(calorie_data)
        db.commit()
        return redirect(url_for("my_profile"))

    else:
        return "Something is wrong."
Exemplo n.º 17
0
def add_data():
    print 'WOOOOT'
    print request.data
    data = json.loads(request.data)
    print data
    location = data.get("location")
    shit = Data()
    shit.data = location
    db.session.add(shit)
    db.session.commit()
    return "FTW"
Exemplo n.º 18
0
def write_data():
    # 読み込むデータ
    _results = get_udemy_info()
    # 書き込むデータ
    date = datetime.date.today()
    subscribers = _results['n_subscribers']
    reviews = _results['n_subscribers']

    row = Data(date=date, subscribers=subscribers, reviews=reviews)

    db_session.add(row)
    db_session.commit()
Exemplo n.º 19
0
def  ShoppingUploadFile(req):
    """
    上传附件资料
    :param req:
    :return:
    """
    try:
        with transaction.atomic():
            userId = req.COOKIES.get('userId', '')  # 从cookies获取用户id
            companyId = req.POST["companyId"]
            if req.POST["userDataId"] == "":  # 创建新的资料库数据
                userDataId = uuid.uuid1()
                data = Data(userDataId=userDataId, userId_id=userId, companyId_id=companyId)
                data.save()
            else:
                userDataId = req.POST["userDataId"]
            file = req.FILES.get('file', None)  # 文件储存
            ################################################################################
            ###注意下面各种路径的写法
            ################################################################################
            folderPath = os.path.join(MEDIA_ROOT, userId)  # 以用户id命名的文件夹的路径
            folderPath = folderPath + "/"  # 将用户上传的文件放在该目录下!
            if os.path.exists(folderPath):  # 判断要储存文件的文件夹是否存在
                pass
            else:
                os.mkdir(folderPath)  # 创建文件夹
            fileType = file.name.split(".")[-1]
            fileName = str(uuid.uuid1()) + "." +fileType
            filePath = folderPath + fileName
            with open(filePath, 'wb+') as destination:  # 将文件上传的服务器
                for chunk in file.chunks():
                    destination.write(chunk)
                destination.close()
            dataTypeId = req.POST["dataTypeId"][:36]#把相对应的无论什么附件的id都传给后面 公司还是声明都是一个datatypeid要存入upload
            if req.POST["userDataId"] != "":#如果进行修改附件行为 则删除原先的附件 判断是否存在这个文件夹
                usedUploadData=UploadData.objects.filter(userDataId=req.POST["userDataId"],dataTypeId=req.POST["dataTypeId"][:36])
                usedUploadData.delete()
                Url=req.POST["dataTypeId"][36:]
                if Url!="undefined":
                    #删除文件的python代码
                    rollpictureName=Url
                    realrollpictureName=rollpictureName
                    rollpicturePath=os.path.join(basePath,realrollpictureName)
                    os.remove(rollpicturePath)#删除文件中的照片
            uploadData = UploadData(userDataId_id=userDataId,dataTypeId_id=dataTypeId,upLoadUrl=filePath)  # 该路径为绝对路径!不行!
            uploadData.save()
            return HttpResponse(userDataId)
    except Exception as err:
        print err
        return HttpResponse(0)
Exemplo n.º 20
0
def create_data():
    form = DataForm()
    if form.validate_on_submit():
        data = Data(name_data=request.form['name_data'],
                    place_conutry=request.form['place_conutry'],
                    place_city=request.form['place_city'],
                    slot_servers=request.form['slot_servers'],
                    data_tier=request.form['data_tier'])
        db.session.add(data)
        db.session.commit()
        print('что-то не так')
        return redirect(url_for('data'))

    return render_template('create_data.html', form=form, title='Добавить')
Exemplo n.º 21
0
def background_thread():
    serial = Arduino('/dev/ttyACM0', 9600)

    temp = DataType.get_or_create('Temperatura', 'float')
    hume = DataType.get_or_create('Humedad', 'int')
    pre = DataType.get_or_create('Presion', 'int')

    while True:
        data = serial.readline().strip()
        tm = datetime.now()
        if (data and data != 'fail'):
            data = data.split(',')
            captura = {'time': tm, 'temperatura': data[0], 'humedad': data[1],
                            'presion': data[2]}
            socketio.emit('EMA data', captura, namespace='/test')

            temp.data.append(Data(timestamp=tm, value=data[0]))
            hume.data.append(Data(timestamp=tm, value=data[1]))
            pre.data.append(Data(timestamp=tm, value=data[2]))
            temp.save()
            hume.save()
            pre.save()

        time.sleep(2)
Exemplo n.º 22
0
def add_stat_data(request):

    if not request.is_ajax() or request.method != 'POST':
        #return method not allowed
        responsedata = {
            'success': False,
            'message': 'Only ajax with POST is allowed.'
        }
        return HttpResponse(json.dumps(responsedata), status=405)

    params = json.loads(request.body)

    #get related widget
    try:
        widget = Widgets.objects.get(user=request.user,
                                     widget_id=params['widget'])
    except Widgets.DoesNotExist as e:
        responsedata = {
            'success': False,
            'message': 'Corresponding widget not found.'
        }
        return HttpResponse(json.dumps(responsedata), status=500)

    #get related chart widget
    try:
        chart_widget = Widgets.objects.get(user=request.user,
                                           widget_id=params['chart'])
    except (Widgets.DoesNotExist, KeyError) as e:
        chart_widget = None

    try:
        sensor = params['sensor']
    except KeyError as e:
        sensor = None
    #create widget data
    try:
        data = Data(user=request.user, name=params['name'], widget=widget, function=params['data'], sensor=sensor, extract=params['extract'],\
         chart=chart_widget, date_from=params['from'], date_to=params['to'], unit='')
        data.save()
    except Exception as e:
        responsedata = {'success': False, 'message': e.message}
        return HttpResponse(json.dumps(responsedata), status=500)

    responsedata = set_stat_widget(data.id)
    responsedata.update({'id': data.id})

    return HttpResponse(json.dumps(responsedata), status=200)
Exemplo n.º 23
0
def push_notifications(id_user, id_notification_category, data_users,
                       message_title, message_body):
    dt = Data()
    registration_ids = data_users

    message_body = {
        "title": message_title,
        "body": str(id_notification_category) + '#' + message_body,
        "content_available": True,
        "priority": "high"
    }

    query1 = 'INSERT INTO `notification`(`id_user`, `id_notification_category`, `message_title`, `message_body`) VALUES (%s,%s,%s,%s)'
    values1 = (id_user, id_notification_category, message_title,
               message_body['body'])
    dt.insert_data(query1, values1)

    result = push_service.notify_multiple_devices(
        registration_ids=registration_ids, data_message=message_body)
    return result
Exemplo n.º 24
0
def createApp():
    SETTINGS = {
        "static_path": config.STATIC_PATH,
        "template_path": config.TEMPLATE_PATH,
        "cookie_secret": config.COOKIE_SECRET,
        "login_url": "/login",
        #"xsrf_cookies": config[default].XSRF_COOKIES,
        "debug": config.DEBUG,
        "gzip": config.GZIP,
    }

    app = tornado.web.Application(handlers=HANDLERS, **SETTINGS)
    app.config = config
    app.remote = RpycController(app.config)
    app.db = SQLClient(config)
    app.cache = Cache(config)
    app.data = Data(app.db, app.cache, app.remote)
    app.static = static(app.config)
    MinitrillLog.log_init(app)
    return app
Exemplo n.º 25
0
def save_data(trial_id):
    json = request.get_json()
    package = json.get('readings')
    devices_saved = set()
    for datum in package:
        reading = datum.get('data')
        timestamp = datum.get('timestamp')
        device = datum.get('device')
        db.session.add(Data(timestamp, reading, device, trial_id))
        devices_saved.add(device)

    print("Saving {} readings, from devices: {}".format(
        len(package), devices_saved))
    try:
        db.session.commit()
        print("Committed data points")
        return "Ok"
    except SQLAlchemyError as e:
        print(e)
        return "Failed", 500
Exemplo n.º 26
0
def create_data(source, start, end, results, new_data_range):
    start = start.replace(tzinfo=None)
    end = end.replace(tzinfo=None)
    for d in results:
        d_timestamp = d["timestamp"]
        if not isinstance(d_timestamp, datetime):
            d_timestamp = iso8601.parse_date(d_timestamp)
            d_timestamp = d_timestamp.replace(tzinfo=None)
        else:
            d_timestamp = d_timestamp.replace(tzinfo=None)
        print("----- NEW DATA RANGE")
        print(new_data_range)
        if d_timestamp >= start and d_timestamp <= end:
            data = Data(
                data_range=new_data_range,
                data_source=source,
                timestamp=d_timestamp,
                value=d["value"]
            )
            db.session.add(data)
    db.session.commit()
Exemplo n.º 27
0
def add_ticker(symbol):

    vix = ts.get_intraday(symbol=symbol, interval='1min',
                          outputsize='compact')[0]
    db_ticker = Ticker(ticker=symbol)
    DB.session.add(db_ticker)
    for index in range(len(vix)):
        row = vix.iloc[index]
        time = row.name
        open_, high, low, close, volume = row['1. open'], row['2. high'], row[
            '3. low'], row['4. close'], row['5. volume']
        db_data = Data(datetime=time,
                       open_=open_,
                       high=high,
                       low=low,
                       close=close,
                       volume=volume)
        db_ticker.datas.append(db_data)
        DB.session.add(db_data)

    DB.session.commit()
Exemplo n.º 28
0
 def __get_sum_data(self, group, infographic, report_datetime):
     url = "https://www.worldometers.info/coronavirus/#countries"
     tree = lxml.html.fromstring(requests.get(url).content)
     out = [0, 0, 0, 0, 0, 0, 0]
     for code in self.groups.get(group):
         if (code not in data.wc_countries): continue
         row = tree.xpath(
             f"//table[@id='main_table_countries_today']/tbody[1]/tr[contains(td[1], '{data.wc_countries.get(code)}')]"
         ) or None
         if row is None: continue
         row = [
             self.__get_value(x.text_content())
             for x in row.pop().getchildren()
         ][1:8]
         out = [x + y for x, y in zip(out, list(map(int, row)))]
     out = dict(zip(data.wc_headers[1:-2], out))
     print(out)
     out['country'] = data.wc_countries.get(group)
     out['new_deaths'], out[
         'new_confirmed'] = f"+{out['new_deaths']}" if out[
             'new_deaths'] else '0', f"+{out['new_confirmed']}" if out[
                 'new_confirmed'] else '0'
     return Data(out, infographic=infographic, datetime=report_datetime)
Exemplo n.º 29
0
def upload():
    if 'file' not in request.files:
        return make_response('No file sent', 400)

    req_file = request.files['file']
    if req_file.filename == '':
        return make_response('No file selected', 400)

    if req_file:
        filename = secure_filename(req_file.filename)
        parsed_file = parse(req_file, 500)

        cols = []
        for k, v in parsed_file.items():
            cols.append(Column(name=k, data=v))

        new_data = Data(created=datetime.datetime.now(), columns=cols)
        req_file.stream.seek(0)
        new_data.file.put(req_file,
                          content_type='text/csv',
                          filename=req_file.filename,
                          encoding='utf-8')
        new_data.save()
        result = {
            'id':
            str(new_data.id),
            'name':
            'Raw data',
            'data':
            lists_to_csv([{
                'name': column.name,
                'data': column.data
            } for column in new_data.columns]),
            'type':
            constants.LINE_CHART
        }
        return jsonify(result), 200
Exemplo n.º 30
0
def get_contoh():
    query = "SELECT * FROM contoh"
    values = ()

    page = request.args.get("page")
    is_aktif = request.args.get("is_aktif")
    q = request.args.get("q")

    if (page == None):
        page = 1
    if is_aktif:
        query = query + " AND is_aktif = %s "
        values = values + (is_aktif, )
    if q:
        query += " AND CONCAT_WS('|', judul, deskripsi) LIKE %s "
        values += ('%' + q + '%', )

    dt = Data()
    rowCount = dt.row_count(query, values)
    hasil = dt.get_data_lim(query, values, page)
    hasil = {
        'data': hasil,
        'status_code': 200,
        'page': page,
        'offset': '10',
        'row_count': rowCount
    }
    ########## INSERT LOG ##############
    imd = ImmutableMultiDict(request.args)
    imd = imd.to_dict()
    param_logs = "[" + str(imd) + "]"
    logs = "{'action':'Lihat contoh','params':'" + param_logs + "','date':'" + secure_filename(
        strftime("%Y-%m-%d %H:%M:%S")) + "'}\n"
    tambahLogs(logs)
    ####################################
    return make_response(jsonify(hasil), 200)