Python django.conf.settings 模块,API_KEY 实例源码

我们从Python开源项目中,提取了以下15个代码示例,用于说明如何使用django.conf.settings.API_KEY

项目:nzhuts    作者:jordij    | 项目源码 | 文件源码
def fetch_hut(hut_id):
    assert hut_id
    headers = {'x-api-key': settings.API_KEY}
    huts_index = HutIndexPage.objects.first()
    try:
        rh = requests.get('%s/%s/detail' % (settings.API_HUTS_BASE_URL, hut_id), headers=headers, timeout=settings.API_TIMEOUT)
    except requests.exceptions.RequestException as e:
        logger.exception(str(e))
    else:
        if rh.status_code == 200:
            rh_json = rh.json()
            try:
                hut = HutPage.objects.get(asset_id=rh_json['assetId'])
            except HutPage.DoesNotExist:
                hut = HutPage(title=rh_json['name'], seo_title=rh_json['name'], asset_id=rh_json['assetId'])
            for key, value in HutPage.API_FIELDS_MAPPING.items():
                setattr(hut, value, rh_json[key])
            if hut.pk is None:
                huts_index.add_child(instance=hut)
            else:
                hut.save()
        else:
            logger.error("Failed hut details request with status %s, %s", str(rh.status_code), rh.json()['message'])
项目:pytrade-me    作者:arshpreetsingh    | 项目源码 | 文件源码
def handle(self, *args, **options):
        from history.poloniex import poloniex
        from history.models import Price
        import time

        poo = poloniex(settings.API_KEY, settings.API_SECRET)
        price = poo.returnTicker()

        for ticker in price.keys():
            this_price = price[ticker]['last']
            this_volume = price[ticker]['quoteVolume']
            the_str = ticker + ',' + str(time.time()) + ',' + this_price + ", " + this_volume
            print("(pp)"+the_str)
            p = Price()
            p.price = this_price
            p.volume = this_volume
            p.lowestask = price[ticker]['lowestAsk']
            p.highestbid = price[ticker]['highestBid']
            p.symbol = ticker
            p.created_on_str = str(p.created_on)
            p.save()
项目:pytrader    作者:owocki    | 项目源码 | 文件源码
def handle(self, *args, **options):
        from history.poloniex import poloniex
        from history.models import Price
        import time

        poo = poloniex(settings.API_KEY, settings.API_SECRET)
        price = poo.returnTicker()

        for ticker in price.keys():
            this_price = price[ticker]['last']
            this_volume = price[ticker]['quoteVolume']
            the_str = ticker + ',' + str(time.time()) + ',' + this_price + ", " + this_volume
            print("(pp)"+the_str)
            p = Price()
            p.price = this_price
            p.volume = this_volume
            p.lowestask = price[ticker]['lowestAsk']
            p.highestbid = price[ticker]['highestBid']
            p.symbol = ticker
            p.created_on_str = str(p.created_on)
            p.save()
项目:but    作者:yevgnenll    | 项目源码 | 文件源码
def __init__(self):
        self.client_id = settings.API_CLIENT
        self.key = settings.API_KEY
        self.api_version = "1"
        self.msg_type = "sms"

        self.api_url = "http://api.openapi.io/ppurio/" + \
            "{api_version}/message/{msg_type}/{client_id}/".format(
                        api_version=self.api_version,
                        msg_type=self.msg_type,
                        client_id=self.client_id,
                        )

        self.header = {
            "x-waple-authorization": self.key,
        }
项目:nzhuts    作者:jordij    | 项目源码 | 文件源码
def fetch_all_huts():
    headers = {'x-api-key': settings.API_KEY}
    subtasks = []
    try:
        r = requests.get(settings.API_HUTS_BASE_URL, headers=headers, timeout=settings.API_TIMEOUT)
    except requests.exceptions.RequestException as e:
        logger.exception(str(e))
    if r.status_code == 200:
        for h in r.json():
            subtasks.append(fetch_hut.s(h['assetId']))
    else:
        logger.error("Failed huts request with status %s, %s", str(r.status_code), r.json()['message'])
    results = group(subtasks)()  # in parallel
    results.get()
项目:pytrade-me    作者:arshpreetsingh    | 项目源码 | 文件源码
def handle(self, *args, **options):
        from history.poloniex import poloniex

        poo = poloniex(settings.API_KEY, settings.API_SECRET)
        now = get_utc_unixtime()
        r = poo.returnDepositHistory(0, now)
        deposits = r['deposits'] + r['withdrawals']
        for d in deposits:
            print(d)
            currency = d['currency']
            amount = float(d['amount']) * (-1 if 'withdrawalNumber' in d.keys() else 1)
            timestamp = d['timestamp']
            txid = d['withdrawalNumber'] if 'withdrawalNumber' in d.keys() else d['txid']
            status = d['status']
            created_on = datetime.datetime.fromtimestamp(timestamp)
            try:
                d = Deposit.objects.get(txid=txid)
            except:
                d = Deposit()
            d.symbol = currency
            d.amount = amount
            d.txid = txid
            d.type = 'deposit' if amount > 0 else 'withdrawal'
            d.status = status
            d.created_on = created_on
            d.modified_on = created_on
            d.created_on_str = datetime.datetime.strftime(
                created_on - datetime.timedelta(hours=int(7)), '%Y-%m-%d %H:%M')
            d.save()
项目:pytrade-me    作者:arshpreetsingh    | 项目源码 | 文件源码
def handle(self, *args, **options):
        from history.poloniex import poloniex

        # hit API
        poo = poloniex(settings.API_KEY, settings.API_SECRET)
        balances = poo.returnBalances()

        # record balances
        deposited_amount_btc, deposited_amount_usd = get_deposit_balance()
        with transaction.atomic():
            for ticker in balances:
                val = float(balances[ticker]['available']) + float(balances[ticker]['onOrders'])
                if val > 0.0001:

                    exchange_rate_coin_to_btc = get_exchange_rate_to_btc(ticker)
                    exchange_rate_btc_to_usd = get_exchange_rate_btc_to_usd()
                    btc_val = exchange_rate_coin_to_btc * val
                    usd_val = exchange_rate_btc_to_usd * btc_val
                    b = Balance(symbol=ticker, coin_balance=val, btc_balance=btc_val,
                                exchange_to_btc_rate=exchange_rate_coin_to_btc, usd_balance=usd_val,
                                exchange_to_usd_rate=exchange_rate_coin_to_btc,
                                deposited_amount_btc=deposited_amount_btc if ticker == 'BTC' else 0.00,
                                deposited_amount_usd=deposited_amount_usd if ticker == 'BTC' else 0.00)
                    b.save()

        for b in Balance.objects.filter(date_str='0'):
            # django timezone stuff , FML
            b.date_str = datetime.datetime.strftime(b.created_on - datetime.timedelta(hours=int(7)), '%Y-%m-%d %H:%M')
            b.save()

        # normalize trade recommendations too.  merp
        for tr in Trade.objects.filter(created_on_str=''):
            # django timezone stuff , FML
            tr.created_on_str = datetime.datetime.strftime(
                tr.created_on - datetime.timedelta(hours=int(7)), '%Y-%m-%d %H:%M')
            tr.save()
项目:django-dialogs    作者:ElusiveSpirit    | 项目源码 | 文件源码
def clean_api_key(self):
        if self.cleaned_data['api_key'] != settings.API_KEY:
            raise forms.ValidationError("Wrong api key")
项目:pytrader    作者:owocki    | 项目源码 | 文件源码
def handle(self, *args, **options):
        from history.poloniex import poloniex

        poo = poloniex(settings.API_KEY, settings.API_SECRET)
        now = get_utc_unixtime()
        r = poo.returnDepositHistory(0, now)
        deposits = r['deposits'] + r['withdrawals']
        for d in deposits:
            print(d)
            currency = d['currency']
            amount = float(d['amount']) * (-1 if 'withdrawalNumber' in d.keys() else 1)
            timestamp = d['timestamp']
            txid = d['withdrawalNumber'] if 'withdrawalNumber' in d.keys() else d['txid']
            status = d['status']
            created_on = datetime.datetime.fromtimestamp(timestamp)
            try:
                d = Deposit.objects.get(txid=txid)
            except:
                d = Deposit()
            d.symbol = currency
            d.amount = amount
            d.txid = txid
            d.type = 'deposit' if amount > 0 else 'withdrawal'
            d.status = status
            d.created_on = created_on
            d.modified_on = created_on
            d.created_on_str = datetime.datetime.strftime(
                created_on - datetime.timedelta(hours=int(7)), '%Y-%m-%d %H:%M')
            d.save()
项目:pytrader    作者:owocki    | 项目源码 | 文件源码
def handle(self, *args, **options):
        from history.poloniex import poloniex

        # hit API
        poo = poloniex(settings.API_KEY, settings.API_SECRET)
        balances = poo.returnBalances()

        # record balances
        deposited_amount_btc, deposited_amount_usd = get_deposit_balance()
        with transaction.atomic():
            for ticker in balances:
                val = float(balances[ticker]['available']) + float(balances[ticker]['onOrders'])
                if val > 0.0001:

                    exchange_rate_coin_to_btc = get_exchange_rate_to_btc(ticker)
                    exchange_rate_btc_to_usd = get_exchange_rate_btc_to_usd()
                    btc_val = exchange_rate_coin_to_btc * val
                    usd_val = exchange_rate_btc_to_usd * btc_val
                    b = Balance(symbol=ticker, coin_balance=val, btc_balance=btc_val,
                                exchange_to_btc_rate=exchange_rate_coin_to_btc, usd_balance=usd_val,
                                exchange_to_usd_rate=exchange_rate_coin_to_btc,
                                deposited_amount_btc=deposited_amount_btc if ticker == 'BTC' else 0.00,
                                deposited_amount_usd=deposited_amount_usd if ticker == 'BTC' else 0.00)
                    b.save()

        for b in Balance.objects.filter(date_str='0'):
            # django timezone stuff , FML
            b.date_str = datetime.datetime.strftime(b.created_on - datetime.timedelta(hours=int(7)), '%Y-%m-%d %H:%M')
            b.save()

        # normalize trade recommendations too.  merp
        for tr in Trade.objects.filter(created_on_str=''):
            # django timezone stuff , FML
            tr.created_on_str = datetime.datetime.strftime(
                tr.created_on - datetime.timedelta(hours=int(7)), '%Y-%m-%d %H:%M')
            tr.save()
项目:pytrade-me    作者:arshpreetsingh    | 项目源码 | 文件源码
def handle(self, *args, **options):
        from history.poloniex import poloniex
        from history.models import Price
        import time

        poo = poloniex(settings.API_KEY, settings.API_SECRET)

        if settings.MAKE_TRADES:
            time.sleep(40)

        for t in Trade.objects.filter(created_on__lt=datetime.datetime.now(), status='scheduled'):

            # bid right below the lowest ask, or right above the highest bid so that our orders get filled
            action = t.type
            price = Price.objects.filter(symbol=t.symbol).order_by('-created_on').first()
            if action == 'sell':
                rate = price.lowestask * 0.999
            else:
                rate = price.highestbid * 1.001

            t.price = rate

            if action == 'buy':
                try:
                    response = {} if not settings.MAKE_TRADES else poo.buy(t.symbol, rate, t.amount)
                except Exception as e:
                    print_and_log('(st)act_upon_recommendation:buy: ' + str(e))
            elif action == 'sell':
                try:
                    response = {} if not settings.MAKE_TRADES else poo.sell(t.symbol, rate, t.amount)
                except Exception as e:
                    print_and_log('(st)act_upon_recommendation:sell: ' + str(e))

            t.response = response
            t.orderNumber = response.get('orderNumber', '')
            t.status = 'error' if response.get('error', False) else 'open'
            t.calculatefees()
            t.calculate_exchange_rates()
            t.save()

            ot = t.opposite_trade
            ot.opposite_price = rate
            ot.net_profit = ((rate * t.amount) - (ot.price * ot.amount) if action == 'sell' else
                             (ot.price * ot.amount) - (rate * t.amount)) - ot.fee_amount - t.fee_amount
            ot.calculate_profitability_exchange_rates()
            ot.save()
项目:pytrade-me    作者:arshpreetsingh    | 项目源码 | 文件源码
def handle(self, *args, **options):
        # setup
        self.poo = poloniex(settings.API_KEY, settings.API_SECRET)
        self.setup()
        print_and_log("(t){} ---- ****** STARTING TRAINERS  ******* ".format(str(datetime.datetime.now())))
        self.get_traders()
        print_and_log("(t){} ---- ****** DONE TRAINING ALL TRAINERS  ******* ".format(str(datetime.datetime.now())))

        while True:

            # TLDR -- which NNs should run at this granularity?
            should_run = []
            recommendations = dict.fromkeys(range(0, len(self.predictors)))

            for i in range(0, len(self.predictor_configs)):
                config = self.predictor_configs[i]
                if (int(get_utc_unixtime() / 60) % config['granularity'] == 0 and datetime.datetime.now().second < 1):
                    should_run.append(i)

            # TLDR -- update open orders bfore placing new ones
            if len(should_run) > 0:
                self.handle_open_orders()

            # TLDR -- run the NNs specified at this granularity
            for i in should_run:
                config = self.predictor_configs[i]
                recommend = self.run_predictor(i)
                recommendations[i] = recommend
                time.sleep(1)

            # TLDR - act upon recommendations
            for i in range(0, len(recommendations)):
                recommendation = recommendations[i]
                config = self.predictor_configs[i]
                if recommendation is not None:
                    print_and_log("(t)recommendation {} - {} : {}".format(i, str(config['name']), recommendation))
                    self.act_upon_recommendation(i, recommendation)

            # TLDR - cleanup and stats
            if len(should_run) > 0:
                pct_buy = round(100.0 * sum(recommendations[i] == 'BUY' for
                                            i in recommendations) / len(recommendations))
                pct_sell = round(100.0 * sum(recommendations[i] == 'SELL' for
                                             i in recommendations) / len(recommendations))
                print_and_log("(t)TLDR - {}% buy & {}% sell: {}".format(pct_buy, pct_sell, recommendations))
                print_and_log("(t) ******************************************************************************* ")
                print_and_log("(t) portfolio is {}".format(self.get_portfolio_breakdown_pct()))
                print_and_log("(t) ******************************************************************************* ")
                print_and_log("(t) {} ..... waiting again ..... ".format(str(datetime.datetime.now())))
                print_and_log("(t) ******************************************************************************* ")

            time.sleep(1)
项目:django-dialogs    作者:ElusiveSpirit    | 项目源码 | 文件源码
def on_message(self, message):
        data = json.loads(message)
        if data['type'] == 'open_dialog':
            if not Thread.objects.filter(
                id=data['thread_id'],
                participants__id=self.user_id
            ).exists():
                self.close()
                return
            self.thread_id = data['thread_id']
            return
        elif data['type'] == 'message':
            url = settings.SEND_MESSAGE_API_URL
            body = urlencode({
                "message_text": data['text'].encode("utf-8"),
                "api_key": settings.API_KEY,
                "sender_id": self.user_id,
                "thread_id": self.thread_id,
            })
        elif data['type'] == 'message_status':
            url = settings.UPDATE_MESSAGE_STATUS_API_URL
            body = urlencode({
                "api_key": settings.API_KEY,
                "sender_id": self.user_id,
                "thread_id": self.thread_id,
            })
        elif data['type'] == 'person_status':
            pub_client.publish("thread_{}_messages".format(self.thread_id), json.dumps({
                "type": "person_status",
                "thread_id": self.thread_id,
                "user_id": self.user_id,
                "username": self.username,
                "typing": data['typing'],
            }))
            return
        else:
            return

        http_client = tornado.httpclient.AsyncHTTPClient()
        request = tornado.httpclient.HTTPRequest(
            url,
            method="POST",
            body=body
        )
        http_client.fetch(request, self.handle_request)
项目:pytrader    作者:owocki    | 项目源码 | 文件源码
def handle(self, *args, **options):
        from history.poloniex import poloniex
        from history.models import Price
        import time

        poo = poloniex(settings.API_KEY, settings.API_SECRET)

        if settings.MAKE_TRADES:
            time.sleep(40)

        for t in Trade.objects.filter(created_on__lt=datetime.datetime.now(), status='scheduled'):

            # bid right below the lowest ask, or right above the highest bid so that our orders get filled
            action = t.type
            price = Price.objects.filter(symbol=t.symbol).order_by('-created_on').first()
            if action == 'sell':
                rate = price.lowestask * 0.999
            else:
                rate = price.highestbid * 1.001

            t.price = rate

            if action == 'buy':
                try:
                    response = {} if not settings.MAKE_TRADES else poo.buy(t.symbol, rate, t.amount)
                except Exception as e:
                    print_and_log('(st)act_upon_recommendation:buy: ' + str(e))
            elif action == 'sell':
                try:
                    response = {} if not settings.MAKE_TRADES else poo.sell(t.symbol, rate, t.amount)
                except Exception as e:
                    print_and_log('(st)act_upon_recommendation:sell: ' + str(e))

            t.response = response
            t.orderNumber = response.get('orderNumber', '')
            t.status = 'error' if response.get('error', False) else 'open'
            t.calculatefees()
            t.calculate_exchange_rates()
            t.save()

            ot = t.opposite_trade
            ot.opposite_price = rate
            ot.net_profit = ((rate * t.amount) - (ot.price * ot.amount) if action == 'sell' else
                             (ot.price * ot.amount) - (rate * t.amount)) - ot.fee_amount - t.fee_amount
            ot.calculate_profitability_exchange_rates()
            ot.save()
项目:pytrader    作者:owocki    | 项目源码 | 文件源码
def handle(self, *args, **options):
        # setup
        self.poo = poloniex(settings.API_KEY, settings.API_SECRET)
        self.setup()
        print_and_log("(t){} ---- ****** STARTING TRAINERS  ******* ".format(str(datetime.datetime.now())))
        self.get_traders()
        print_and_log("(t){} ---- ****** DONE TRAINING ALL TRAINERS  ******* ".format(str(datetime.datetime.now())))

        while True:

            # TLDR -- which NNs should run at this granularity?
            should_run = []
            recommendations = dict.fromkeys(range(0, len(self.predictors)))

            for i in range(0, len(self.predictor_configs)):
                config = self.predictor_configs[i]
                if (int(get_utc_unixtime() / 60) % config['granularity'] == 0 and datetime.datetime.now().second < 1):
                    should_run.append(i)

            # TLDR -- update open orders bfore placing new ones
            if len(should_run) > 0:
                self.handle_open_orders()

            # TLDR -- run the NNs specified at this granularity
            for i in should_run:
                config = self.predictor_configs[i]
                recommend = self.run_predictor(i)
                recommendations[i] = recommend
                time.sleep(1)

            # TLDR - act upon recommendations
            for i in range(0, len(recommendations)):
                recommendation = recommendations[i]
                config = self.predictor_configs[i]
                if recommendation is not None:
                    print_and_log("(t)recommendation {} - {} : {}".format(i, str(config['name']), recommendation))
                    self.act_upon_recommendation(i, recommendation)

            # TLDR - cleanup and stats
            if len(should_run) > 0:
                pct_buy = round(100.0 * sum(recommendations[i] == 'BUY' for
                                            i in recommendations) / len(recommendations))
                pct_sell = round(100.0 * sum(recommendations[i] == 'SELL' for
                                             i in recommendations) / len(recommendations))
                print_and_log("(t)TLDR - {}% buy & {}% sell: {}".format(pct_buy, pct_sell, recommendations))
                print_and_log("(t) ******************************************************************************* ")
                print_and_log("(t) portfolio is {}".format(self.get_portfolio_breakdown_pct()))
                print_and_log("(t) ******************************************************************************* ")
                print_and_log("(t) {} ..... waiting again ..... ".format(str(datetime.datetime.now())))
                print_and_log("(t) ******************************************************************************* ")

            time.sleep(1)