Skip to content

Validate feed key against IO naming scheme #68

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

Merged
merged 1 commit into from
Mar 26, 2021

Conversation

brentru
Copy link
Member

@brentru brentru commented Mar 26, 2021

Addresses #67

This library now performs validation for any method which access feed keys (via https://learn.adafruit.com/naming-things-in-adafruit-io/the-two-feed-identifiers):

  1. The only characters we permit are lower case English letters ("a" to "z"), numbers, and dash ("-").
  2. The name must be a maximum length of 128 characters.

Test case #1
io.publish("brubell/feeds/wrongfeedkeyformat", 1) yields:

Traceback (most recent call last):
  File "code.py", line 94, in <module>
  File "/lib/adafruit_io/adafruit_io.py", line 414, in publish
  File "/lib/adafruit_io/adafruit_io.py", line 43, in validate_feed_key
TypeError: Feed key must contain lower case English letters, numbers, and dash.

Test case #2
io.publish("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", 1) yields:

Traceback (most recent call last):
  File "code.py", line 94, in <module>
  File "/lib/adafruit_io/adafruit_io.py", line 414, in publish
  File "/lib/adafruit_io/adafruit_io.py", line 41, in validate_feed_key
ValueError: Feed key must be less than 128 characters.

Tested on Adafruit CircuitPython 6.2.0-beta.2 on 2021-02-11; Adafruit MagTag with ESP32S2

@brentru brentru requested a review from a team March 26, 2021 19:39
@brentru
Copy link
Member Author

brentru commented Mar 26, 2021

cc @askpatrickw This should address the issue you had.

@brentru brentru merged commit 817574c into adafruit:master Mar 26, 2021
adafruit-adabot added a commit to adafruit/Adafruit_CircuitPython_Bundle that referenced this pull request Apr 7, 2021
Updating https://github.com/adafruit/Adafruit_CircuitPython_CircuitPlayground to 4.3.3 from 4.3.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_CircuitPlayground#104 from kattni/main-fix
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_DHT to 3.6.0 from 3.5.8:
  > Merge pull request adafruit/Adafruit_CircuitPython_DHT#68 from yeyeto2788/master
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_FocalTouch to 1.2.7 from 1.2.6:
  > Merge pull request adafruit/Adafruit_CircuitPython_FocalTouch#20 from adafruit/linting
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_RockBlock to 1.3.3 from 1.3.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_RockBlock#21 from adafruit/linting
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k to 1.9.3 from 1.9.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_Wiznet5k#32 from adafruit/linting
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO to 5.2.4 from 5.2.3:
  > Merge pull request adafruit/Adafruit_CircuitPython_AdafruitIO#68 from brentru/validate-feed-keys-used
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_AVRprog to 1.3.7 from 1.3.6:
  > Merge pull request adafruit/Adafruit_CircuitPython_AVRprog#21 from adafruit/linting
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_BitmapSaver to 1.1.6 from 1.1.5:
  > Merge pull request adafruit/Adafruit_CircuitPython_BitmapSaver#14 from kmatch98/patch-2
  > "Increase duplicate code check threshold "
  > Merge pull request adafruit/Adafruit_CircuitPython_BitmapSaver#17 from FoamyGuy/pylintrc

Updating https://github.com/adafruit/Adafruit_CircuitPython_BLE_Radio to 0.3.5 from 0.3.4:
  > Merge pull request adafruit/Adafruit_CircuitPython_BLE_Radio#15 from adafruit/linting
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_BoardTest to 1.2.6 from 1.2.5:
  > Merge pull request adafruit/Adafruit_CircuitPython_BoardTest#15 from adafruit/linting
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_datetime to 1.1.3 from 1.1.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_datetime#8 from adafruit/jepler-integer-total_seconds
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_Display_Text to 2.18.3 from 2.18.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_Display_Text#150 from jposada202020/advanced_example
  > Merge pull request adafruit/Adafruit_CircuitPython_Display_Text#149 from jposada202020/optimizing_getting_font_info

Updating https://github.com/adafruit/Adafruit_CircuitPython_RGBLED to 1.1.5 from 1.1.4:
  > Merge pull request adafruit/Adafruit_CircuitPython_RGBLED#15 from adafruit/dherrada-patch-1
  > "Increase duplicate code check threshold "

Updating https://github.com/adafruit/Adafruit_CircuitPython_RSA to 1.2.4 from 1.2.3:
  > Merge pull request adafruit/Adafruit_CircuitPython_RSA#18 from adafruit/linting
  > "Increase duplicate code check threshold "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants