Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added parsing of Dictionary objects #70

Open
wants to merge 66 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
c113bf4
Init forked project
StdCarrot Apr 3, 2017
9858cb5
Work Encode and Decode with Message in AMF3
Apr 4, 2017
888ba84
Update project state
Apr 4, 2017
d50d45f
Support python3 with pure.py decoder/encoder
Apr 6, 2017
c940060
Update README
Apr 6, 2017
4a2dca0
Fix setup.py
Apr 6, 2017
eeaffd3
Remove Cython dependency in setup.py
Apr 6, 2017
5143c39
Update README.md
Apr 18, 2017
b890c29
Support python3 by switching getheader() to get() to fetch a header v…
paulopaixaoamaral Jun 29, 2017
0c615cf
Merge pull request #1 from pauloAmaral/fix-getheader
StdCarrot Jul 27, 2017
af9ec6d
Revert "Fix fetch header from a HTTPMessage"
StdCarrot Jul 27, 2017
4907405
Merge pull request #2 from StdCarrot/revert-1-fix-getheader
StdCarrot Jul 27, 2017
664da5d
Support python3 by switching getheader() to get() to fetch a header v…
paulopaixaoamaral Jun 29, 2017
4f73ee5
Prepare travis CI
Jul 28, 2017
8a64842
Remove flask8 during travis CI
Jul 28, 2017
e79150c
Fix wrong testcase
Jul 28, 2017
6883f1e
Fix testcase to support unsorted object
Jul 28, 2017
686b1b5
Merge pull request #4 from StdCarrot/dev
StdCarrot Jul 28, 2017
4e1631f
Merge pull request #3 from pauloAmaral/fix-getheader
StdCarrot Jul 28, 2017
06c5ee6
Bump to 0.8.7
Aug 4, 2017
e7cabe2
Support for python 3.6
RomanKharin Mar 23, 2018
2d7cc1c
Merge pull request #7 from RomanKharin/patch-1
StdCarrot Apr 3, 2018
5d1bcf7
Bump up to 0.8.8
Apr 3, 2018
c62a52d
Support sqlalchemy
Jul 18, 2018
6488782
Update travis setting for sqlalchemy testing
Jul 18, 2018
6f6ef16
removed StopIteration error raising in Envelope.__iter__ and Envelope…
elmordo Jan 9, 2020
5c0b745
fix of incorrect "bytes" concating in ByteArray.__str__ and ByteArray…
elmordo Jan 9, 2020
2f14d0f
CI test python3.8
Jan 10, 2020
11df455
Fix travis config
Jan 10, 2020
e6aae0a
Merge pull request #10 from elmordo/master
StdCarrot Jan 10, 2020
6f57297
Fix sqlalchemy test: avoid unsorted list comparison
Jan 10, 2020
d91a265
Bump up to 0.8.10
Jan 10, 2020
2647369
Drop compatibility with old version of sqlalchemy<1.0
Jan 10, 2020
64705ed
Merge pull request #1 from StdCarrot/master
elmordo Feb 8, 2021
2b2b917
cython extension build was enabled
elmordo Feb 8, 2021
ab73dd0
nogil annotation removed
elmordo Feb 8, 2021
3071798
endian related constants changed from string to bytes
elmordo Feb 8, 2021
8b8edf3
PyString_FromStringAndSize (py2) replaced by PyUnicode_FromStringAndS…
elmordo Feb 8, 2021
4493683
rest of string constants marked as bytes
elmordo Feb 8, 2021
15bd8bd
PyUnicode_FromStringAndSize replaced by buffer[:l].decode() construct
elmordo Feb 8, 2021
e652723
PyUnicode_FromStringAndSize replaced by buffer[:l].decode() construct
elmordo Feb 8, 2021
5c90ab5
fixed deprecated test asserts and other minor issues
mmiko Mar 2, 2021
553b87d
added set type to codec.py
mmiko Mar 2, 2021
55a0f43
amf3 tests: updated deprecated asserts, fixed unicode vs. string
mmiko Mar 2, 2021
25aa6ae
amf3.py - deserialized attribute names should be always strings, not …
mmiko Mar 2, 2021
502288a
ported util.pyx - str vs bytes and dropped PyInt_* related code
mmiko Mar 2, 2021
68f0d27
fixed endian encoding in util.py and related tests to match cython ch…
mmiko Mar 2, 2021
35f4206
ported cython codec code and added set encoding interface
mmiko Mar 2, 2021
26c9e92
ported amf0.pyx and fixed remaining issues
mmiko Mar 3, 2021
0499743
ported pyamf3.pyx and fixed remaining issues
mmiko Mar 3, 2021
7de27fc
implemented set serialization in cython code
mmiko Mar 3, 2021
991d300
fixed outdated asserts
mmiko Mar 3, 2021
5c8524d
fixed test_sol temporary file handling
mmiko Mar 3, 2021
ac12211
fixed django tests
mmiko Mar 3, 2021
5a9963f
fixed twisted gateway code and related tests
mmiko Mar 21, 2022
7c824a9
removed python 2 related code from setupinfo
mmiko Mar 21, 2022
34d7520
updated dependencies: Cython>=0.28, lxml>=4.4.0, twisted>=16.0.0, rem…
mmiko Mar 21, 2022
05d6fdf
restored inclusion of cpyamf/*.pyx files to the package - the setupin…
mmiko Mar 21, 2022
8ece033
fixed CPython detection for "can_compile_extensions" flag
mmiko Mar 21, 2022
e062a68
fixed wrong platform call in setupinfo.py
mmiko Mar 22, 2022
ca38115
Merge pull request #12 from elmordo/master
StdCarrot Nov 22, 2022
29f384b
Remove python 3.10 SyntaxWarning
stumitchell Feb 2, 2023
aedb203
Merge pull request #13 from stumitchell/patch-2
StdCarrot Feb 16, 2023
4f20866
Bump to 0.8.11
Feb 24, 2023
be79bf1
Change README.md to README.rst
Feb 24, 2023
9094b7f
added dictionary parsing
Jan 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
213 changes: 213 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,215 @@

# Created by https://www.gitignore.io/api/c,python,intellij+iml

### C ###
# Prerequisites
*.d

# Object files
*.o
*.ko
*.obj
*.elf

# Linker output
*.ilk
*.map
*.exp

# Precompiled Headers
*.gch
*.pch

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex

# Debug files
*.dSYM/
*.su
*.idb
*.pdb

# Kernel Module Compile Results
*.mod*
*.cmd
modules.order
Module.symvers
Mkfile.old
dkms.conf

### Intellij+iml ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff:
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries
.idea/

# Sensitive or high-churn files:
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml

# Gradle:
.idea/**/gradle.xml
.idea/**/libraries

# Mongo Explorer plugin:
.idea/**/mongoSettings.xml

## File-based project format:
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### Intellij+iml Patch ###
# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023

*.iml
modules.xml
.idea/misc.xml
*.ipr

### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# dotenv
.env

# virtualenv
.venv
venv/
ENV/

# Spyder project settings
.spyderproject

# Rope project settings
.ropeproject

# End of https://www.gitignore.io/api/c,python,intellij+iml


# Legacies
*.pyc
*.class
*.c
Expand All @@ -20,3 +232,4 @@ pyamf/_version.py
.noseids
cover
htmlcov
.DS_Store
64 changes: 27 additions & 37 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
language: python
python:
- "2.6"
- "2.7"
- "3.5"
- "3.6"
- "3.7"
- "3.8"
sudo: false

cache:
Expand All @@ -10,55 +12,43 @@ cache:

env:
global:
- PYTHONPATH=~/gaesdk/google_appengine
# - PYTHONPATH=~/gaesdk/google_appengine

matrix:
- USE_EXTENSIONS=true # no dependencies
- USE_EXTENSIONS=false # no dependencies
# used as part of the pip command
- DJANGO_VERSION=">=1.2,<1.3"
- DJANGO_VERSION=">=1.3,<1.4"
- DJANGO_VERSION=">=1.4,<1.5"
- DJANGO_VERSION=">=1.5,<1.6"
- DJANGO_VERSION=">=1.6,<1.7"
- DJANGO_VERSION=">=1.7,<1.8"
- DJANGO_VERSION=">=1.8,<1.9"
- DJANGO_VERSION=">=1.9,<2.0"
- SQLALCHEMY_VERSION=">=0.7,<0.8"
- SQLALCHEMY_VERSION=">=0.8,<0.9"
- SQLALCHEMY_VERSION=">=0.9,<1.0"
- TWISTED_VERSION=">=14,<15"
- TWISTED_VERSION=">=15,<16"
- LXML_VERSION=">=3.4,<3.5"
- LXML_VERSION=">=3.5,<3.6"
# Don't use below dependencies before complete adapters
# - DJANGO_VERSION=">=1.9,<2.0"
- SQLALCHEMY_VERSION=">=1.0"
# - TWISTED_VERSION=">=15,<16"
# - LXML_VERSION=">=3.5,<3.6"
# special, see install_optional_dependencies.sh
- GAESDK_VERSION=1.9.30
# - GAESDK_VERSION=1.9.30

matrix:
exclude:
# Django 1.7 dropped support for python 2.6
- python: "2.6"
env: DJANGO_VERSION=">=1.7,<1.8"
- python: "2.6"
env: DJANGO_VERSION=">=1.8,<1.9"
- python: "2.6"
env: DJANGO_VERSION=">=1.9,<2.0"
# Don't use below dependencies before complete adapters
# - python: "2.6"
# env: DJANGO_VERSION=">=1.7,<1.8"
# - python: "2.6"
# env: DJANGO_VERSION=">=1.8,<1.9"
# - python: "2.6"
# env: DJANGO_VERSION=">=1.9,<2.0"
# Twisted 15+ dropped support for Python 2.6
- python: "2.6"
env: TWISTED_VERSION=">=15,<16"
# - python: "2.6"
# env: TWISTED_VERSION=">=15,<16"
# Google AppEngine SDK dropped support for python 2.6
- python: "2.6"
env: GAESDK_VERSION=1.9.30

before_install:
- pip install flake8
- flake8
# - python: "2.6"
# env: GAESDK_VERSION=1.9.30

install:
- pip install coverage coveralls
- pip install -e .
- ./install_optional_dependencies.sh
- ./maybe_install_cython.sh
- pip install -r requirements.txt
- pip install coverage coveralls
- pip install -e .
- ./install_optional_dependencies.sh
- ./maybe_install_cython.sh

script:
- coverage run --source=pyamf setup.py test
Expand Down
26 changes: 26 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,32 @@ This document contains information about the changes between the different
versions of PyAMF.

.. contents::
0.8.11 (2022-02-25)
----------------
- Change str to binary
- Fix syntax errors

0.8.10 (2020-01-10)
----------------
- Support Python 3.7 and 3.8

0.8.9 (2018-07-18)
----------------
- Support SqlAlchemy

0.8.8 (2018-04-03)
----------------
- Improve compatibility with python 3.6

0.8.7 (2017-08-04)
----------------
- Fix http header getter to Python3

0.8.3 (2017-04-06)
----------------
- Add support Python3
- Drop support Python2
- Remove Cython support on package info

0.8 (2015-12-17)
----------------
Expand Down
24 changes: 23 additions & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
# Forked License (MIT License)
Copyright (c) 2017 StdCarrot. Some rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


# Original License
PyAMF is available under the terms of the MIT license. The full text of the
MIT license is included below.

MIT License
===========

Copyright (c) 2007-2010 The PyAMF Project. All rights reserved.

- Arnar Birgisson
Expand Down
3 changes: 2 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ prune doc/build
prune doc/_build
include setupinfo.py
include *.txt
include *.md
global-exclude *.swf
global-exclude *.pyc
include cpyamf/*.pyx
include cpyamf/*.pxd
include cpyamf/*.pxd
Loading