From 4890bfc5448791951b34b7cbeb56d81e5f4d8e9d Mon Sep 17 00:00:00 2001 From: senegrom <6349874+senegrom@users.noreply.github.com> Date: Fri, 5 Jun 2020 16:27:29 +0100 Subject: [PATCH 1/6] Update betfair.py --- betfair/betfair.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/betfair/betfair.py b/betfair/betfair.py index 0d9987c..1a5f016 100644 --- a/betfair/betfair.py +++ b/betfair/betfair.py @@ -17,7 +17,7 @@ IDENTITY_URLS = collections.defaultdict( - lambda: 'https://identitysso.betfair.com/api/', + lambda: 'https://identitysso-cert.betfair.com/api/', italy='https://identitysso.betfair.it/api/', ) From 0688092a76d2fbb7725ba1275902979a1a617312 Mon Sep 17 00:00:00 2001 From: senegrom <6349874+senegrom@users.noreply.github.com> Date: Fri, 5 Jun 2020 16:47:13 +0100 Subject: [PATCH 2/6] update cert --- betfair/betfair.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/betfair/betfair.py b/betfair/betfair.py index 1a5f016..1bf40ad 100644 --- a/betfair/betfair.py +++ b/betfair/betfair.py @@ -18,7 +18,7 @@ IDENTITY_URLS = collections.defaultdict( lambda: 'https://identitysso-cert.betfair.com/api/', - italy='https://identitysso.betfair.it/api/', + italy='https://identitysso-cert.betfair.it/api/', ) API_URLS = collections.defaultdict( From 107b332185f6345b45bd08948880ea1f11e5621b Mon Sep 17 00:00:00 2001 From: senegrom <6349874+senegrom@users.noreply.github.com> Date: Fri, 5 Jun 2020 17:42:31 +0100 Subject: [PATCH 3/6] misc --- betfair/betfair.py | 4 ++-- betfair/constants.py | 1 - betfair/meta/datatype.py | 1 + betfair/meta/models.py | 1 + betfair/models.py | 4 ---- betfair/price.py | 3 +-- 6 files changed, 5 insertions(+), 9 deletions(-) diff --git a/betfair/betfair.py b/betfair/betfair.py index 1bf40ad..a8ad06f 100644 --- a/betfair/betfair.py +++ b/betfair/betfair.py @@ -15,7 +15,6 @@ from betfair import models from betfair import exceptions - IDENTITY_URLS = collections.defaultdict( lambda: 'https://identitysso-cert.betfair.com/api/', italy='https://identitysso-cert.betfair.it/api/', @@ -38,6 +37,7 @@ class Betfair(object): :param Session session: Optional Requests session :param int timeout: Optional timeout duration (seconds) """ + def __init__(self, app_key, cert_file, content_type='application/json', locale=None, session=None, timeout=None): self.app_key = app_key @@ -467,7 +467,7 @@ def get_account_statement( :param int record_count: Specifies the maximum number of records to be returned :param TimeRange item_date_range: Return items with an itemDate within this date range :param IncludeItem include_item: Which items to include - :param Wallet wallte: Which wallet to return statementItems for + :param Wallet wallet: Which wallet to return statementItems for """ return self.make_api_request( 'Account', diff --git a/betfair/constants.py b/betfair/constants.py index 3f3b76b..e326a9f 100644 --- a/betfair/constants.py +++ b/betfair/constants.py @@ -6,7 +6,6 @@ from enum import Enum - MarketProjection = Enum( 'MarketProjection', [ 'COMPETITION', diff --git a/betfair/meta/datatype.py b/betfair/meta/datatype.py index 69b851f..a5c7c7e 100644 --- a/betfair/meta/datatype.py +++ b/betfair/meta/datatype.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- + class DataType(object): def __init__(self, type, preprocessor=None): diff --git a/betfair/meta/models.py b/betfair/meta/models.py index 08856bf..f94508d 100644 --- a/betfair/meta/models.py +++ b/betfair/meta/models.py @@ -10,6 +10,7 @@ class BetfairModelMeta(models.ModelMeta): """Set default `serialized_name` and `deserialize_from` of Schematics types to camel-cased attribute names. """ + def __new__(meta, name, bases, attrs): for name, attr in six.iteritems(attrs): if isinstance(attr, types.BaseType): diff --git a/betfair/models.py b/betfair/models.py index bb95e92..8a0786b 100644 --- a/betfair/models.py +++ b/betfair/models.py @@ -224,7 +224,6 @@ class MarketOnCloseOrder(BetfairModel): # Results class CompetitionResult(BetfairModel): - competition = ModelType(Competition) market_count = IntType() competition_region = StringType() @@ -236,13 +235,11 @@ class CountryCodeResult(BetfairModel): class EventResult(BetfairModel): - event = ModelType(Event) market_count = IntType() class EventTypeResult(BetfairModel): - event_type = ModelType(EventType) market_count = IntType() @@ -253,7 +250,6 @@ class MarketTypeResult(BetfairModel): class TimeRangeResult(BetfairModel): - time_range = ModelType(TimeRange) market_count = IntType() diff --git a/betfair/price.py b/betfair/price.py index aa4ca10..0a603a4 100644 --- a/betfair/price.py +++ b/betfair/price.py @@ -4,7 +4,6 @@ from decimal import Decimal, ROUND_HALF_UP - CUTOFFS = ( (2, 100), (3, 50), @@ -18,7 +17,6 @@ (1000, 0.1), ) - MIN_PRICE = 1.01 MAX_PRICE = 1000 @@ -63,6 +61,7 @@ def nearest_price(price, cutoffs=CUTOFFS): return MAX_PRICE price = as_dec(price) + step = None for cutoff, step in cutoffs: if price < cutoff: break From fa96b7769067dfd777fbfa1423bab11ac89a6383 Mon Sep 17 00:00:00 2001 From: senegrom <6349874+senegrom@users.noreply.github.com> Date: Sat, 6 Jun 2020 22:06:28 +0100 Subject: [PATCH 4/6] will be only 3.8 going forward --- .travis.yml | 7 +------ betfair/meta/models.py | 4 ++-- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index c1aa829..a5149b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,12 +3,7 @@ language: python sudo: false python: - - "2.7" - - "3.3" - - "3.4" - - "3.5" - - "3.6" - - "pypy" + - "3.8" install: - travis_retry python setup.py install diff --git a/betfair/meta/models.py b/betfair/meta/models.py index f94508d..4fc259b 100644 --- a/betfair/meta/models.py +++ b/betfair/meta/models.py @@ -20,9 +20,9 @@ def __new__(meta, name, bases, attrs): return super(BetfairModelMeta, meta).__new__(meta, name, bases, attrs) -class BetfairModel(six.with_metaclass(BetfairModelMeta, models.Model)): +class BetfairModel(models.Model, metaclass=BetfairModelMeta): - def __init__(self, **data): + def __init__(self, context=None, **data): super(BetfairModel, self).__init__() self.import_data(data) From 7c57aa09728815f65584d8b6ed96a79f20120bb4 Mon Sep 17 00:00:00 2001 From: senegrom <6349874+senegrom@users.noreply.github.com> Date: Sun, 14 Jun 2020 19:58:32 +0100 Subject: [PATCH 5/6] cleanup --- betfair/betfair.py | 12 +++++------- betfair/meta/models.py | 4 ++-- betfair/meta/types.py | 2 -- betfair/meta/utils.py | 2 +- betfair/models.py | 13 +++++-------- betfair/price.py | 2 -- betfair/utils.py | 10 ++++------ 7 files changed, 17 insertions(+), 28 deletions(-) diff --git a/betfair/betfair.py b/betfair/betfair.py index a8ad06f..f6e6c56 100644 --- a/betfair/betfair.py +++ b/betfair/betfair.py @@ -1,19 +1,17 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import - -import os -import json -import itertools import collections +import itertools +import json +import os import requests from six.moves import http_client as httplib from six.moves import urllib_parse as urllib -from betfair import utils -from betfair import models from betfair import exceptions +from betfair import models +from betfair import utils IDENTITY_URLS = collections.defaultdict( lambda: 'https://identitysso-cert.betfair.com/api/', diff --git a/betfair/meta/models.py b/betfair/meta/models.py index 4fc259b..2a95bf0 100644 --- a/betfair/meta/models.py +++ b/betfair/meta/models.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- -import six import inflection -from schematics import types +import six from schematics import models +from schematics import types class BetfairModelMeta(models.ModelMeta): diff --git a/betfair/meta/types.py b/betfair/meta/types.py index 77c3402..c78d131 100644 --- a/betfair/meta/types.py +++ b/betfair/meta/types.py @@ -6,7 +6,6 @@ class DateTimeType(types.DateTimeType): - DEFAULT_FORMATS = ( '%Y-%m-%dT%H:%M:%S.%f', '%Y-%m-%dT%H:%M:%S.%fZ', @@ -15,7 +14,6 @@ class DateTimeType(types.DateTimeType): class EnumType(types.BaseType): - MESSAGES = {'choices': u'Value must belong to enum {0}.'} def __init__(self, enum, *args, **kwargs): diff --git a/betfair/meta/utils.py b/betfair/meta/utils.py index b42f0eb..885edf0 100644 --- a/betfair/meta/utils.py +++ b/betfair/meta/utils.py @@ -2,8 +2,8 @@ import functools -import six import inflection +import six def convert_value(value, converter=None): diff --git a/betfair/models.py b/betfair/models.py index 8a0786b..9cf9605 100644 --- a/betfair/models.py +++ b/betfair/models.py @@ -1,21 +1,18 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import - +from schematics.types import BooleanType +from schematics.types import FloatType from schematics.types import IntType from schematics.types import LongType -from schematics.types import FloatType from schematics.types import StringType -from schematics.types import BooleanType from schematics.types.compound import DictType from schematics.types.compound import ListType from schematics.types.compound import ModelType -from betfair.meta.types import EnumType -from betfair.meta.types import DateTimeType -from betfair.meta.models import BetfairModel - from betfair import constants +from betfair.meta.models import BetfairModel +from betfair.meta.types import DateTimeType +from betfair.meta.types import EnumType class Event(BetfairModel): diff --git a/betfair/price.py b/betfair/price.py index 0a603a4..5b776fa 100644 --- a/betfair/price.py +++ b/betfair/price.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import division - from decimal import Decimal, ROUND_HALF_UP CUTOFFS = ( diff --git a/betfair/utils.py b/betfair/utils.py index c32d427..3f34472 100644 --- a/betfair/utils.py +++ b/betfair/utils.py @@ -1,14 +1,12 @@ # -*- coding: utf-8 -*- -from __future__ import absolute_import - -import six -import json -import datetime import collections - +import datetime import enum +import json + import decorator +import six from six.moves import http_client as httplib from betfair import exceptions From 9b3c49487d7daedf0daa6085ce6ff8cd0fc320b8 Mon Sep 17 00:00:00 2001 From: senegrom <6349874+senegrom@users.noreply.github.com> Date: Thu, 12 Aug 2021 23:32:13 +0100 Subject: [PATCH 6/6] x Signed-off-by: senegrom <6349874+senegrom@users.noreply.github.com> --- betfair/meta/models.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/betfair/meta/models.py b/betfair/meta/models.py index 2a95bf0..cae4a24 100644 --- a/betfair/meta/models.py +++ b/betfair/meta/models.py @@ -22,9 +22,12 @@ def __new__(meta, name, bases, attrs): class BetfairModel(models.Model, metaclass=BetfairModelMeta): - def __init__(self, context=None, **data): + def __init__(self, *args, **data): super(BetfairModel, self).__init__() - self.import_data(data) + if args: + self.import_data(args[0]) + else: + self.import_data(data) def import_data(self, data, **kwargs): kwargs['strict'] = False