ramses-tech / ramses

RAML + Elasticsearch / Postgres / Mongodb / Your Data Store™ + Pyramid = RESTful API
http://ramses.tech
Apache License 2.0
303 stars 29 forks source link

ramlfications 0.1.8 "Expecting property name" #97

Closed adam-codeberg closed 8 years ago

adam-codeberg commented 8 years ago

Not sure why ramlfications v 0.1.8 throws these errors when 0.1.5 works fine.

tarting subprocess with file monitor
2015-11-27 17:31:32,631 INFO  [ramses][MainThread] __init__.includeme: Parsing RAML
Traceback (most recent call last):
  File "/hom/user/.pyenv/versions/membership-system/bin/pserve", line 9, in <module>
    load_entry_point('pyramid', 'console_scripts', 'pserve')()
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 58, in main
    return command.run()
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 328, in run
    global_conf=vars)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/pyramid/scripts/pserve.py", line 363, in loadapp
    return loadapp(app_spec, name=name, relative_to=relative_to, **kw)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
    return context.create()
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
    return self.object_type.invoke(self)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 144, in invoke
    **context.local_conf)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
    val = callable(*args, **kw)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/urlmap.py", line 31, in urlmap_factory
    app = loader.get_app(app_name, global_conf=global_conf)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 350, in get_app
    name=name, global_conf=global_conf).create()
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 710, in create
    return self.object_type.invoke(self)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 146, in invoke
    return fix_call(context.object, context.global_conf, **context.local_conf)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call
    val = callable(*args, **kw)
  File "/hom/user/myProjects/hg/membership-system/license-api/licenseapi/__init__.py", line 242, in main
    config.include('ramses')
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/pyramid/config/__init__.py", line 755, in include
    c(configurator)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramses/__init__.py", line 45, in includeme
    raml_root = ramlfications.parse(Settings['ramses.raml_schema'])
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/__init__.py", line 68, in parse
    loader = load(raml)
 File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/__init__.py", line 31, in load
    return load_file(raml_file)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/_helpers.py", line 19, in load_file
    return RAMLLoader().load(raml)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 88, in load
    return self._ordered_load(raml, yaml.SafeLoader)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 73, in _ordered_load
    return yaml.load(stream, OrderedLoader)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/__init__.py", line 71, in load
    return loader.get_single_data()
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 39, in get_single_data
    return self.construct_document(node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 43, in construct_document
    data = self.construct_object(node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
    data = constructor(self, node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 66, in construct_mapping
    return OrderedDict(loader.construct_pairs(node))
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 145, in construct_pairs
    value = self.construct_object(value_node, deep=deep)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
    data = constructor(self, node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 66, in construct_mapping
    return OrderedDict(loader.construct_pairs(node))
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 145, in construct_pairs
    value = self.construct_object(value_node, deep=deep)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
    data = constructor(self, node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 66, in construct_mapping
    return OrderedDict(loader.construct_pairs(node))
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 145, in construct_pairs
    value = self.construct_object(value_node, deep=deep)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
    data = constructor(self, node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 66, in construct_mapping
    return OrderedDict(loader.construct_pairs(node))
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 145, in construct_pairs
    value = self.construct_object(value_node, deep=deep)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
    data = constructor(self, node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 66, in construct_mapping
    return OrderedDict(loader.construct_pairs(node))
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 145, in construct_pairs
    value = self.construct_object(value_node, deep=deep)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
    data = constructor(self, node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 66, in construct_mapping
    return OrderedDict(loader.construct_pairs(node))
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 145, in construct_pairs
    value = self.construct_object(value_node, deep=deep)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
    data = constructor(self, node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 66, in construct_mapping
    return OrderedDict(loader.construct_pairs(node))
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 145, in construct_pairs
    value = self.construct_object(value_node, deep=deep)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
    data = constructor(self, node)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 38, in _yaml_include
    return self._parse_json(file_name, os.path.dirname(file_name))
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/ramlfications/loader.py", line 54, in _parse_json
    schema = jsonref.load(f, base_uri=base_path, jsonschema=True)
  File "/hom/user/.pyenv/versions/membership-system/lib/python2.7/site-packages/jsonref.py", line 321, in load
    json.load(fp, **kwargs),
  File "/hom/user/.pyenv/versions/2.7.6/lib/python2.7/json/__init__.py", line 290, in load
  File "/hom/user/.pyenv/versions/2.7.6/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/hom/user/.pyenv/versions/2.7.6/lib/python2.7/json/decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/hom/user/.pyenv/versions/2.7.6/lib/python2.7/json/decoder.py", line 381, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 26 column 13 (char 709)
#%RAML 0.8

---
title: memberapi
documentation:
    - title: Home
      content: |
        Software Licensing for internal useage.
baseUri: http://{host}:{port}/{version}
version: v1
mediaType: application/json
protocols: [HTTP]
securitySchemes:
    - x_token_auth:
        description: Authorization header token policy
        type: x-ApiKey
    - x_ticket_auth:
        description: Standard Pyramid Auth Ticket policy
        type: x-Ticket
        settings:
            secret: auth_tkt_secret
            hashalg: sha512
            cookie_name: ramses_auth_tkt
            http_only: true
    - item_owner_acl:
        description: ACL that allows everyone to read, authenticated to create and item owners to edit item
        type: x-ACL
        settings:
            collection: |
                allow g:admin all
                allow everyone view,options
                allow authenticated create
            item: |
                allow g:admin all
                allow authenticated view,options
    - user_self_acl:
        description: ACL that allows everyone to read, authenticated to create and owner to edit
        type: x-ACL
        settings:
            collection: |
                allow g:admin all
                allow authenticated view,options
            item: |
                allow g:admin all
                allow authenticated view,options
    - public_acl:
        description: ACL that allows everyone to read, authenticated to create and owner to edit
        type: x-ACL
        settings:
            collection: |
                allow g:admin all
                allow everyone view,options
            item: |
                allow g:admin all
                allow everyone view,options

securedBy: [x_ticket_auth]

/identities:
    securedBy: [user_self_acl]
    displayName: Collection of identities
    get:
        description: Get all identities
    post:
        description: Insert a identities
        body:
            application/json:
                schema: !include schemas/identities.json

    /{id}:
        displayName: A particular identity
        get:
            description: Get a particular identity
        patch:
        put:
            description: Update a particular identity
        delete:
            description: Delete a particular identity

        /emails:
            displayName: Collection of emails
            get:
                description: Get all emails
            post:
                description: Insert a emails
                body:
                    application/json:
                        schema: !include schemas/emails.json

            /{id}:
                displayName: A particular email
                get:
                    description: Get a particular email
                delete:
                    description: Delete a particular email
                patch:
                    description: Update a particular email

        /phones:
            displayName: Collection of phones
            get:
                description: Get all phones
            post:
                description: Insert a phones
                body:
                    application/json:
                        schema: !include schemas/phones.json

            /{id}:
                displayName: A particular phone
                get:
                    description: Get a particular phone
                delete:
                    description: Delete a particular phone
                patch:
                    description: Update a particular phone

                /destinations:
                        displayName: Collection of destinations
                        get:
                            description: Get all destinations
                        post:
                            description: Insert a destinations
                            body:
                                application/json:
                                    schema: !include schemas/destinations.json

                        /{type}:
                            displayName: A particular destination
                            get:
                                description: Get a particular destination
                            delete:
                                description: Delete a particular destination
                            patch:
                                description: Update a particular destination       

        /places:
            displayName: Collection of places
            get:
                description: Get all places
            post:
                description: Insert a places
                body:
                    application/json:
                        schema: !include schemas/places.json

            /{id}:
                displayName: A particular place
                get:
                    description: Get a particular place
                delete:
                    description: Delete a particular place
                patch:
                    description: Update a particular place

                /destinations:
                    displayName: Collection of destinations
                    get:
                    description: Get all destinations
                    post:
                        description: Insert a destinations
                        body:
                            application/json:
                                schema: !include schemas/destinations.json

                    /{type}:
                        displayName: A particular destination
                         get:
                            description: Get a particular destination
                         delete:
                             description: Delete a particular destination
                         patch:
                                description: Update a particular destination

        /orders:
            displayName: Collection of orders
            get:
                description: Get all orders
            post:
                description: Insert a orders
                body:
                    application/json:
                        schema: !include schemas/orders.json

            /{id}:
                displayName: A particular order
                get:
                    description: Get a particular order
                delete:
                    description: Delete a particular order
                patch:
                    description: Update a particular order

                /sales:
                    displayName: Collection of sales
                    get:
                        description: Get all sales
                    post:
                        description: Insert a sales
                        body:
                            application/json:
                                schema: !include schemas/sales.json

                    /{id}:
                        displayName: A particular sale
                        get:
                            description: Get a particular sale
                        delete:
                            description: Delete a particular sale
                        patch:
                            description: Update a particular sale

/emails:
    displayName: Collection of emails
    get:
        description: Get all emails
    post:
        description: Insert a emails
        body:
            application/json:
                schema: !include schemas/emails.json

    /{id}:
        displayName: A particular email
        get:
            description: Get a particular email
        delete:
            description: Delete a particular email
        patch:
            description: Update a particular email

/phones:          
    displayName: Collection of phones
    get:
        description: Get all phones
    post:
        description: Insert a phones
        body:
            application/json:
                schema: !include schemas/phones.json

    /{id}:
        displayName: A particular phone
        get:
            description: Get a particular phone
        delete:
            description: Delete a particular phone
        patch:
            description: Update a particular phone

/places:
    displayName: Collection of places
    get:
        description: Get all places
    post:
        description: Insert a places
        body:
            application/json:
                schema: !include schemas/places.json

    /{id}:
        displayName: A particular place
        get:
            description: Get a particular place
        delete:
            description: Delete a particular place
        patch:
            description: Update a particular place

/contacts:
    securedBy: [user_self_acl]
    displayName: Collection of contacts
    get:
        description: Get all contacts
    post:
        description: Insert a contacts
        body:
            application/json:
                schema: !include schemas/contacts.json

    /{id}:
        displayName: A particular contact
        get:
            description: Get a particular contact
        patch:
        put:
            description: Update a particular contact
        delete:
            description: Delete a particular contact

/orders:
    securedBy: [user_self_acl]
    displayName: Collection of orders
    get:
        description: Get all orders
    post:
        description: Insert a orders
        body:
            application/json:
                schema: !include schemas/orders.json

    /{id}:
        displayName: A particular order
        get:
            description: Get a particular order
        delete:
            description: Delete a particular order
        patch:
            description: Update a particular order

        /sales:
            displayName: Collection of sales
            get:
                description: Get all sales
            post:
                description: Insert a sales
                body:
                    application/json:
                        schema: !include schemas/sales.json

            /{id}:
                displayName: A particular sale
                get:
                    description: Get a particular sale
                delete:
                    description: Delete a particular sale
                patch:
                    description: Update a particular sale

/sales:
    displayName: Collection of sales
    get:
        description: Get all sales
    post:
        description: Insert a sales
        body:
            application/json:
                schema: !include schemas/sales.json

    /{id}:
        displayName: A particular sale
        get:
            description: Get a particular sale
        delete:
            description: Delete a particular sale
        patch:
            description: Update a particular sale

/charges:
    securedBy: [user_self_acl]
    displayName: Collection of charges
    get:
        description: Get all charges
    post:
        description: Insert a charges
        body:
            application/json:
                schema: !include schemas/charges.json

    /{id}:
        displayName: A particular payment
        get:
            description: Get a particular charge
        delete:
            description: Delete a particular charge
        patch:
            description: Update a particular charge    

        /payments:

            displayName: Collection of payments
            get:
                description: Get all payments
            post:
                description: Insert a payments
                body:
                    application/json:
                        schema: !include schemas/payments.json

            /{id}:
                displayName: A particular payment
                get:
                    description: Get a particular payment
                delete:
                    description: Delete a particular payment
                patch:
                    description: Update a particular payment 

/payments:
    displayName: Collection of payments
    get:
        description: Get all payments
    post:
        description: Insert a payments
        body:
            application/json:
                schema: !include schemas/payments.json

    /{id}:
        displayName: A particular payment
        get:
            description: Get a particular payment
        delete:
            description: Delete a particular payment
        patch:
            description: Update a particular payment 

/paymentmethods:
    securedBy: [user_self_acl]
    displayName: Collection of paymentmethods
    get:
        description: Get all paymentmethods
    post:
        description: Insert a paymentmethods
        body:
            application/json:
                schema: !include schemas/paymentmethods.json

    /{id}:
        displayName: A particular paymentmethod
        get:
            description: Get a particular paymentmethod
        delete:
            description: Delete a particular paymentmethod
        patch:
            description: Update a particular paymentmethod    

/destinations:
    securedBy: [user_self_acl]
    displayName: Collection of destinations
    get:
        description: Get all destinations
    post:
        description: Insert a destinations
        body:
            application/json:
                schema: !include schemas/destinations.json

    /{type}:
        displayName: A particular destination
        get:
            description: Get a particular destination
        delete:
            description: Delete a particular destination
        patch:
            description: Update a particular destination             

/entities:
    securedBy: [user_self_acl]
    displayName: Collection of entities
    get:
        description: Get all entities
    post:
        description: Insert a entities
        body:
            application/json:
                schema: !include schemas/entities.json

    /{id}:
        displayName: A particular entity
        get:
            description: Get a particular entity
        patch:
        put:
            description: Update a particular entity
        delete:
            description: Delete a particular entity

/products:
    securedBy: [public_acl]
    displayName: Collection of products
    get:
        description: Get all products
    post:
        description: Insert a products
        body:
            application/json:
                schema: !include schemas/products.json

    /{name}:
        displayName: A particular product
        get:
            description: Get a particular product
        delete:
            description: Delete a particular product
        patch:
            description: Update a particular product

/currencies:
    securedBy: [user_self_acl]
    displayName: Collection of currencys
    get:
        description: Get all currencys
    post:
        description: Insert a currencys
        body:
            application/json:
                schema: !include schemas/currencies.json

    /{symbol}:
        displayName: A particular currency
        get:
            description: Get a particular currency
        delete:
            description: Delete a particular currency
        patch:
            description: Update a particular destination

/intervals:
    securedBy: [public_acl]
    displayName: Collection of intervals
    get:
        description: Get all intervals
    post:
        description: Insert a intervals
        body:
            application/json:
                schema: !include schemas/intervals.json

    /{name}:
        displayName: A particular interval
        get:
            description: Get a particular interval
        delete:
            description: Delete a particular interval
        patch:
            description: Update a particular interval

/contracts:
    securedBy: [user_self_acl]
    displayName: Collection of contracts
    get:
        description: Get all contracts
    post:
        description: Insert a contracts
        body:
            application/json:
                schema: !include schemas/contracts.json

    /{id}:
        displayName: A particular contract
        get:
            description: Get a particular contract
        delete:
            description: Delete a particular contract
        patch:
            description: Update a particular contract

        /audits:          
            displayName: Collection of audits
            get:
                description: Get all audits
            post:
                description: Insert a audits
                body:
                    application/json:
                        schema: !include schemas/audits.json

            /{id}:
                displayName: A particular audit
                get:
                    description: Get a particular audit
                delete:
                    description: Delete a particular audit
                patch:
                    description: Update a particular audit

/audits:          
    displayName: Collection of audits
    get:
        description: Get all audits
    post:
        description: Insert a audits
        body:
            application/json:
                schema: !include schemas/audits.json

    /{id}:
        displayName: A particular audit
        get:
            description: Get a particular audit
        delete:
            description: Delete a particular audit
        patch:
            description: Update a particular audit
/tasks:          
    displayName: Collection of tasks
    get:
        description: Get all tasks
    post:
        description: Insert a tasks
        body:
            application/json:
                schema: !include schemas/tasks.json

    /{id}:
        displayName: A particular task
        get:
            description: Get a particular task
        delete:
            description: Delete a particular task
        patch:
            description: Update a particular task
jstoiko commented 8 years ago

What happens when you try validating your RAML file: ramlfications validate /path/to/file.raml?

adam-codeberg commented 8 years ago

ramlfications validate /path/to/file.raml returns

ValueError: Expecting property name: line 29 column 13 (char 783)

Line 29 is this section (marked by * )

 - item_owner_acl:
        description: ACL that allows everyone to read, authenticated to create and item owners to edit   item
        type: x-ACL
        settings:
            collection: |
                *allow g:admin all
                allow everyone view,options
                allow authenticated create
            item: |
                allow g:admin all
                allow authenticated view,options

Running the same validation check on the latest ramses-example from git returns

Error validating file example.raml: 

        InvalidSecuritySchemeError: 'settings' for security scheme 'x_token_auth' require definition.

pip list

attrs (15.1.0)
blinker (1.4)
click (6.2)
cryptacular (1.4.1)
elasticsearch (2.1.0)
inflection (0.3.1)
jsonref (0.1)
markdown2 (2.3.0)
mongoengine (0.9.0)
nefertari (0.6.1)
nefertari-sqla (0.4.1)
PasteDeploy (1.5.2)
pbkdf2 (1.3)
pip (7.1.2)
psycopg2 (2.6.1)
pymongo (2.8)
pyramid (1.6b2)
pyramid-sqlalchemy (1.4)
pyramid-tm (0.12.1)
python-dateutil (2.4.2)
PyYAML (3.11)
ramlfications (0.1.8)
ramses (0.5.1)
repoze.lru (0.6)
requests (2.8.1)
setuptools (18.2)
simplejson (3.8.1)
six (1.10.0)
SQLAlchemy (1.0.9)
SQLAlchemy-Utils (0.31.3)
Tempita (0.5.2)
termcolor (1.1.0)
transaction (1.4.4)
translationstring (1.3)
urllib3 (1.12)
venusian (1.0)
WebOb (1.5.1)
wheel (0.24.0)
xmltodict (0.9.2)
zope.deprecation (4.1.2)
zope.dottedname (4.1.0)
zope.interface (4.1.3)
zope.sqlalchemy (0.7.6)

I've managed to bypass the "Expecting property name" error by modifying parts of my RAML file, however the error

 InvalidSecuritySchemeError: 'settings' for security scheme 'x_token_auth' require definition.

Has no known workaround.

I'm not up to speed with RAML specs and largely dependant on the conventions I saw in the ramses-examples etc, any ideas?

Reference for myself & others: https://github.com/raml-org/raml-spec/blob/master/raml-0.8.md

jstoiko commented 8 years ago

I copy/pasted the raml file above and aside from 2 unrelated errors that were straight-forward to fix, ramlfications validate file.raml returned "Success! Valid RAML file: file.raml". The only thing that I can think of is that there may be tabs on or around line 29 in your file and when you copy/pasted it, it converted those tabs into spaces which explains why it works for me...

adam-codeberg commented 8 years ago

Yeah the copy/paste messed up some spacing. I also removed some duplicate collections hoping that was it, but didn't have any luck.

I get the same InvalidSecuritySchemeError error with the raml from ramses-example.

Can you paste your pip list? I would like to compare and try validating the file with your python library stack.

jstoiko commented 8 years ago
attrs (15.1.0)
blinker (1.4)
click (6.2)
cryptacular (1.4.1)
elasticsearch (2.1.0)
inflection (0.3.1)
jsonref (0.1)
markdown2 (2.3.0)
mongoengine (0.9.0)
nefertari (0.6.1)
nefertari-mongodb (0.4.1)
nefertari-sqla (0.4.1)
Paste (2.0.2)
PasteDeploy (1.5.2)
pbkdf2 (1.3)
pip (7.1.2)
psycopg2 (2.6.1)
pymongo (2.8)
pyramid (1.5.7)
pyramid-sqlalchemy (1.4)
pyramid-tm (0.12.1)
python-dateutil (2.4.2)
PyYAML (3.11)
ramlfications (0.1.8)
ramses (0.5.1)
ramses-example (0.0.1)
repoze.lru (0.6)
requests (2.8.1)
setuptools (18.2)
simplejson (3.8.1)
six (1.10.0)
SQLAlchemy (1.0.9)
SQLAlchemy-Utils (0.31.3)
Tempita (0.5.2)
termcolor (1.1.0)
transaction (1.4.4)
translationstring (1.3)
urllib3 (1.12)
venusian (1.0)
waitress (0.8.9)
WebOb (1.5.1)
wheel (0.24.0)
xmltodict (0.9.2)
zope.deprecation (4.1.2)
zope.dottedname (4.1.0)
zope.interface (4.1.3)
zope.sqlalchemy (0.7.6)
jstoiko commented 8 years ago

Oh, I get that error too, quick fix is to add a (dummy) "settings" section:

...
    - x_token_auth:
        description: Authorization header token policy
        type: x-ApiKey
        settings:
            foo: bar
...
adam-codeberg commented 8 years ago

Oh right, got it, thanks for that! Will implement those changes and report back.

adam-codeberg commented 8 years ago

Yeah the errors were due to invalid RAML v8. Wsgi server now loads. Cheers!

jstoiko commented 8 years ago

Thanks the update!