MaddieM4 / EJTP-lib-python

Encrypted JSON Transport Protocol library for Python 2.6-3.3.
GNU Lesser General Public License v3.0
23 stars 10 forks source link

Bug65 frame rework #104

Closed MoritzS closed 11 years ago

MoritzS commented 11 years ago

Fixes #65

I still have to write the tests, but Philip wanted to start with the merging since this change will break a lot of other tests. So I'm doing the pull request now.

MoritzS commented 11 years ago

By the way, I used Identity.decrypt in EncryptedFrame because I'm pretty sure that's a feature that should be supported by Identity and will be implemented soon.

MaddieM4 commented 11 years ago

Alright, I'll add that myself as part of the merge branch. And feel free to merge from my branch to get tests to pass. On Feb 19, 2013 5:26 PM, "Moritz Sichert" notifications@github.com wrote:

By the way, I used Identity.decrypt in EncryptedFrame because I'm pretty sure that's a feature that should be supported by Identity and will be implemented soon.

— Reply to this email directly or view it on GitHubhttps://github.com/campadrenalin/EJTP-lib-python/pull/104#issuecomment-13810721.

MaddieM4 commented 11 years ago

The big inconvenience I'm dealing with is the lack of handy frame construction options. We've got a really great parsing architecture, but for creating frames? Not so much. I'm considering adding module-specific construct functions as either module or classmethod functions, which have arguments based on their actual needs.

MaddieM4 commented 11 years ago

I'm pushing this to github now and making a pull request, so you can see what I'm up to for yourself.

https://github.com/campadrenalin/EJTP-lib-python/pull/105

The next change I'm making is to change the category classes to use the property self.address instead of self.receiver and self.sender. This frees me up to write convenience functions in BaseFrame to get the last sender/receiver data with last_category, but also allows me to make both category classes blank subclasses of a single common implementation.

MaddieM4 commented 11 years ago

Alright, you should really pull from #105 again. All tests are passing, so you won't get noise while trying to work on your own tests.

MoritzS commented 11 years ago

I'm writing the remaining tests right now, then it is ready to merge.

MoritzS commented 11 years ago

Great! All the tests run flawlessly (besides py2.5, obviously).

MaddieM4 commented 11 years ago

Alright, I'll merge back into #105 and review it (assuming your test writing is done, correct me if I'm wrong)...

EDIT: Apparently I am. Not test module for frames. Oh well, now's my chance to undo some of that class decoration silliness.

DOUBLE EDIT: Just because it's not in the github diff, doesn't mean it's not in the changes.

MaddieM4 commented 11 years ago

Merged via #105. Great work, @MoritzS!