Skip to content

Trading API headers issue #376

Open
Open

Description

@slonopot

There's an issue with Trading API and maybe with the configs themselves. When building headers, some values are being pulled from config and Connection parameters. As we don't need anything other than appid and token, other values (such as devid, keys/certs) are not required. The issue is that these values are None in config, and when config.get(val, default) is being called, it returns None. Later the header check fails. There's probably a better way to deal with this, but as a hotfix one can use:

/ebaysdk/config.py

def get(self, cKey, defaultValue=None):
    val = self.values.get(cKey, defaultValue)
    if val is None:
        return defaultValue
    return val

Activity

  1. slonopot commented on Apr 20, 2023

    @slonopot
    Author

    Another quality of life feature could be some sort of automatic value parsing

    /ebaysdk/response.py

    def _setattr(self, name, value, datetime_nodes):
    if name.lower() in datetime_nodes:
        try:
            ts = "%s %s" % (value.partition(
                'T')[0], value.partition('T')[2].partition('.')[0])
            value = datetime.datetime.strptime(ts, '%Y-%m-%d %H:%M:%S')
        except ValueError:
            pass
    
    if value == 'true':
        value = True
    elif value == 'false':
        value = False
    else:
        try:
            value = float(value)
            if value % 1 == 0:
                value = int(value)
        except:
            pass
    
    
    setattr(self, name, value)
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions