horsemeat 2.25.1__tar.gz → 2.26.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. horsemeat-2.26.1/PKG-INFO +13 -0
  2. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/__init__.py +35 -0
  3. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/version.py +1 -1
  4. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/request.py +16 -3
  5. horsemeat-2.26.1/horsemeat.egg-info/PKG-INFO +13 -0
  6. horsemeat-2.25.1/PKG-INFO +0 -20
  7. horsemeat-2.25.1/horsemeat.egg-info/PKG-INFO +0 -20
  8. {horsemeat-2.25.1 → horsemeat-2.26.1}/MANIFEST.in +0 -0
  9. {horsemeat-2.25.1 → horsemeat-2.26.1}/README +0 -0
  10. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/configwrapper.py +0 -0
  11. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/model/__init__.py +0 -0
  12. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/model/newsmessage.py +0 -0
  13. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/model/session.py +0 -0
  14. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/model/user.py +0 -0
  15. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/pg.py +0 -0
  16. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/scripts/make-frippery-project +0 -0
  17. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/tests/__init__.py +0 -0
  18. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/tests/test_configwrapper.py +0 -0
  19. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/__init__.py +0 -0
  20. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/bogusrequest.py +0 -0
  21. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/dispatcher.py +0 -0
  22. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/framework_templates/__init__.py +0 -0
  23. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/frameworkhandlers.py +0 -0
  24. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/handler.py +0 -0
  25. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/response.py +0 -0
  26. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat/webapp/scrubber.py +0 -0
  27. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat.egg-info/SOURCES.txt +0 -0
  28. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat.egg-info/dependency_links.txt +0 -0
  29. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat.egg-info/requires.txt +0 -0
  30. {horsemeat-2.25.1 → horsemeat-2.26.1}/horsemeat.egg-info/top_level.txt +0 -0
  31. {horsemeat-2.25.1 → horsemeat-2.26.1}/requirements.txt +0 -0
  32. {horsemeat-2.25.1 → horsemeat-2.26.1}/setup.cfg +0 -0
  33. {horsemeat-2.25.1 → horsemeat-2.26.1}/setup.py +0 -0
@@ -0,0 +1,13 @@
1
+ Metadata-Version: 2.1
2
+ Name: horsemeat
3
+ Version: 2.26.1
4
+ Summary: Web framework for the damned. The mad.
5
+ Home-page: https://github.com/216software/horsemeat
6
+ Author: 216 Software, LLC
7
+ Author-email: info@216software.com
8
+ License: UNKNOWN
9
+ Platform: UNKNOWN
10
+ Classifier: Programming Language :: Python :: 3
11
+
12
+ UNKNOWN
13
+
@@ -55,3 +55,38 @@ fancyjsondumps = functools.partial(
55
55
  sort_keys=True,
56
56
  indent=4,
57
57
  separators=(',', ': '))
58
+
59
+
60
+
61
+ class CookieWrapper:
62
+
63
+ """
64
+ This CookieWrapper allows us to be backwards compatible with https
65
+ SimpleCookie.
66
+
67
+ We need to switch to werkzeug cookie because google and facebook
68
+ have recently been using malformed cookies, which breaks the reading
69
+ of our cookies
70
+
71
+ """
72
+
73
+
74
+ def __repr__(self):
75
+ return str(self._cookies)
76
+
77
+ def __init__(self, cookie_dict):
78
+ self._cookies = cookie_dict
79
+
80
+ def __getitem__(self, key):
81
+ return MockMorsel(self._cookies[key])
82
+
83
+ def __contains__(self, key):
84
+ return key in self._cookies
85
+
86
+ def get(self, key, default=None):
87
+ value = self._cookies.get(key, default)
88
+ return MockMorsel(value) if value is not None else None
89
+
90
+ class MockMorsel:
91
+ def __init__(self, value):
92
+ self.value = value
@@ -22,4 +22,4 @@ hasn't been installed yet.
22
22
 
23
23
  """
24
24
 
25
- __version__ = '2.25.1'
25
+ __version__ = '2.26.1'
@@ -15,7 +15,10 @@ import urllib.parse
15
15
  import warnings
16
16
  import wsgiref.util
17
17
 
18
+ from horsemeat import CookieWrapper
19
+
18
20
  from werkzeug.wrappers import Request as WerkzeugRequest
21
+ from werkzeug.http import parse_cookie
19
22
 
20
23
  log = logging.getLogger(__name__)
21
24
 
@@ -94,13 +97,23 @@ class Request(collections.abc.MutableMapping):
94
97
  self['parsed_QS'] = parsed_qs
95
98
  return parsed_qs
96
99
 
100
+
97
101
  @property
98
102
  def parsed_cookie(self):
99
103
 
104
+ """
105
+ Switched from Simple Cookie to werkzeug cookie, with a cookie
106
+ wrapper to maintain functionality
107
+ """
108
+
100
109
  if self.HTTP_COOKIE:
101
- c = http.cookies.SimpleCookie()
102
- c.load(self.HTTP_COOKIE)
103
- return c
110
+ #c = http.cookies.SimpleCookie()
111
+ #c.load(self.HTTP_COOKIE)
112
+
113
+ c = parse_cookie(self.HTTP_COOKIE)
114
+ if c:
115
+ return CookieWrapper(c)
116
+
104
117
 
105
118
  @property
106
119
  def body(self):
@@ -0,0 +1,13 @@
1
+ Metadata-Version: 2.1
2
+ Name: horsemeat
3
+ Version: 2.26.1
4
+ Summary: Web framework for the damned. The mad.
5
+ Home-page: https://github.com/216software/horsemeat
6
+ Author: 216 Software, LLC
7
+ Author-email: info@216software.com
8
+ License: UNKNOWN
9
+ Platform: UNKNOWN
10
+ Classifier: Programming Language :: Python :: 3
11
+
12
+ UNKNOWN
13
+
horsemeat-2.25.1/PKG-INFO DELETED
@@ -1,20 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: horsemeat
3
- Version: 2.25.1
4
- Summary: Web framework for the damned. The mad.
5
- Home-page: https://github.com/216software/horsemeat
6
- Author: 216 Software, LLC
7
- Author-email: info@216software.com
8
- Classifier: Programming Language :: Python :: 3
9
- Requires-Dist: Jinja2>=2.6
10
- Requires-Dist: PyYAML>=3.10
11
- Requires-Dist: Werkzeug>=0.10.1
12
- Requires-Dist: decorator>=3.4.0
13
- Requires-Dist: psycopg2>=2.7
14
- Requires-Dist: gunicorn
15
- Dynamic: author
16
- Dynamic: author-email
17
- Dynamic: classifier
18
- Dynamic: home-page
19
- Dynamic: requires-dist
20
- Dynamic: summary
@@ -1,20 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: horsemeat
3
- Version: 2.25.1
4
- Summary: Web framework for the damned. The mad.
5
- Home-page: https://github.com/216software/horsemeat
6
- Author: 216 Software, LLC
7
- Author-email: info@216software.com
8
- Classifier: Programming Language :: Python :: 3
9
- Requires-Dist: Jinja2>=2.6
10
- Requires-Dist: PyYAML>=3.10
11
- Requires-Dist: Werkzeug>=0.10.1
12
- Requires-Dist: decorator>=3.4.0
13
- Requires-Dist: psycopg2>=2.7
14
- Requires-Dist: gunicorn
15
- Dynamic: author
16
- Dynamic: author-email
17
- Dynamic: classifier
18
- Dynamic: home-page
19
- Dynamic: requires-dist
20
- Dynamic: summary
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes