Git Product home page Git Product logo

highton's Introduction

PyPI version Current Docs Build Status

Highton

A Python-based API-wrapper for Highrise

From v2.0 on, the codebase is completely rewritten from scratch.
So please only upgrade if you are willing to touch your implementation as well.

Features List:

Endpoint State
People
Categories (Tasks, Deals)
Companies
Cases
Deals
Notes
Emails
Comments
Tags
Tasks
Users
Groups
Memberships
Account
Parties
Recordings
Custom Fields (Subject fields)
Deletions

highton's People

Contributors

beardedjoe avatar bykof avatar dennijo avatar hacklschorsch avatar j-frost avatar jakesen avatar juzten avatar loehnertz avatar precipice avatar trehn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

highton's Issues

highrise_id vs id?

So is there a specific reason you are returning highrise_id versus id? I think there is an issues here that I would like to address. When I do: a deal = get_deal(ID) then alter the attributes and do a push_deal(ID, deal) there is a key error on the highrise end due to there not being a row in their database for that specific attribute. For now I will just check for the highrise_id and change it before the request, but it feels like unneeded overhead.

Specification of class Comment is outdated or incorrect

class Comment has 4 properties specified. This is however not/no longer in line with the actual Comment structure, which is now more like the Note.

Local working fix:
self.author_id = fields.IntegerField(name=HightonConstants.AUTHOR_ID)
self.collection_id = fields.IntegerField(name=HightonConstants.COLLECTION_ID)
self.collection_type = fields.StringField(name=HightonConstants.COLLECTION_TYPE)
self.created_at = fields.DatetimeField(name=HightonConstants.CREATED_AT)
self.group_id = fields.IntegerField(name=HightonConstants.GROUP_ID)
self.owner_id = fields.IntegerField(name=HightonConstants.OWNER_ID)
self.parent_id = fields.IntegerField(name=HightonConstants.PARENT_ID, required=True)
self.body = fields.StringField(name=HightonConstants.BODY, required=True)
self.subject_id = fields.IntegerField(name=HightonConstants.SUBJECT_ID, required=True)
self.subject_name = fields.StringField(name=HightonConstants.SUBJECT_NAME)
self.subject_type = fields.StringField(name=HightonConstants.SUBJECT_TYPE, required=True)
self.updated_at = fields.DatetimeField(name=HightonConstants.UPDATED_AT)
self.visible_to = fields.StringField(name=HightonConstants.VISIBLE_TO)
self.body = fields.StringField(name=HightonConstants.BODY, required=True)

I will try to see if I can contribute this fix.

update I created a local branch with this fix, but it seems I don't have the rights to push it and create a Pull Request.

DOCS: User Guide and Basic Usage

Love this idea and table of what functionality is and isn't ready.

I'm interested in testing this out and comparing it to pyrise. Is there a basic usage guide or something to help us get acquainted with this API wrapper?

HTTP status code 422 when trying to update deal entity

When using Highton and trying to update a deal, Highrise returns status code 422 and Highton excepts with that.

This is probably caused because Highton sets the party node when GETting an entity. When updating, it doesn't change this node. Highrise expects the party to be given only via the party-id node.

XMLRequestException raised on all queries

Hey!
I keep getting the XMLRequestException after calling any of the get_-methods (i.e. get_companies())
File "/usr/local/lib/python3.4/dist-packages/highton/highton.py", line 321, in get_companies self._get_paged_data('companies'), Company) File "/usr/local/lib/python3.4/dist-packages/highton/highton.py", line 139, in _get_paged_data self._get_request(endpoint, params).content File "/usr/local/lib/python3.4/dist-packages/highton/highton.py", line 48, in _get_request raise XMLRequestException(url) highton.custom_exceptions.XMLRequestException: https://somename.highrisehq.com/companies.xml

Same error with Python 2.7 and 3. I'd appreciate any help - thanks!

'delete_tag' does not work

Person.delete_tag does not work. The following error is raised whenever it is called:
AttributeError: 'NoneType' object has no attribute 'split'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.