Advertisement
Guest User

Untitled

a guest
Jul 16th, 2016
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 198.81 KB | None | 0 0
  1.  
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  6. <meta name="robots" content="NONE,NOARCHIVE">
  7. <title>ValueError at /api/o/convert-token/</title>
  8. <style type="text/css">
  9. html * { padding:0; margin:0; }
  10. body * { padding:10px 20px; }
  11. body * * { padding:0; }
  12. body { font:small sans-serif; }
  13. body>div { border-bottom:1px solid #ddd; }
  14. h1 { font-weight:normal; }
  15. h2 { margin-bottom:.8em; }
  16. h2 span { font-size:80%; color:#666; font-weight:normal; }
  17. h3 { margin:1em 0 .5em 0; }
  18. h4 { margin:0 0 .5em 0; font-weight: normal; }
  19. code, pre { font-size: 100%; white-space: pre-wrap; }
  20. table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }
  21. tbody td, tbody th { vertical-align:top; padding:2px 3px; }
  22. thead th {
  23. padding:1px 6px 1px 3px; background:#fefefe; text-align:left;
  24. font-weight:normal; font-size:11px; border:1px solid #ddd;
  25. }
  26. tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }
  27. table.vars { margin:5px 0 2px 40px; }
  28. table.vars td, table.req td { font-family:monospace; }
  29. table td.code { width:100%; }
  30. table td.code pre { overflow:hidden; }
  31. table.source th { color:#666; }
  32. table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }
  33. ul.traceback { list-style-type:none; color: #222; }
  34. ul.traceback li.frame { padding-bottom:1em; color:#666; }
  35. ul.traceback li.user { background-color:#e0e0e0; color:#000 }
  36. div.context { padding:10px 0; overflow:hidden; }
  37. div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }
  38. div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }
  39. div.context ol li pre { display:inline; }
  40. div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
  41. div.context ol.context-line li span { position:absolute; right:32px; }
  42. .user div.context ol.context-line li { background-color:#bbb; color:#000; }
  43. .user div.context ol li { color:#666; }
  44. div.commands { margin-left: 40px; }
  45. div.commands a { color:#555; text-decoration:none; }
  46. .user div.commands a { color: black; }
  47. #summary { background: #ffc; }
  48. #summary h2 { font-weight: normal; color: #666; }
  49. #explanation { background:#eee; }
  50. #template, #template-not-exist { background:#f6f6f6; }
  51. #template-not-exist ul { margin: 0 0 10px 20px; }
  52. #template-not-exist .postmortem-section { margin-bottom: 3px; }
  53. #unicode-hint { background:#eee; }
  54. #traceback { background:#eee; }
  55. #requestinfo { background:#f6f6f6; padding-left:120px; }
  56. #summary table { border:none; background:transparent; }
  57. #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }
  58. #requestinfo h3 { margin-bottom:-1em; }
  59. .error { background: #ffc; }
  60. .specific { color:#cc3300; font-weight:bold; }
  61. h2 span.commands { font-size:.7em;}
  62. span.commands a:link {color:#5E5694;}
  63. pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; }
  64. .append-bottom { margin-bottom: 10px; }
  65. </style>
  66.  
  67. <script type="text/javascript">
  68. //<!--
  69. function getElementsByClassName(oElm, strTagName, strClassName){
  70. // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com
  71. var arrElements = (strTagName == "*" && document.all)? document.all :
  72. oElm.getElementsByTagName(strTagName);
  73. var arrReturnElements = new Array();
  74. strClassName = strClassName.replace(/\-/g, "\-");
  75. var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
  76. var oElement;
  77. for(var i=0; i<arrElements.length; i++){
  78. oElement = arrElements[i];
  79. if(oRegExp.test(oElement.className)){
  80. arrReturnElements.push(oElement);
  81. }
  82. }
  83. return (arrReturnElements)
  84. }
  85. function hideAll(elems) {
  86. for (var e = 0; e < elems.length; e++) {
  87. elems[e].style.display = 'none';
  88. }
  89. }
  90. window.onload = function() {
  91. hideAll(getElementsByClassName(document, 'table', 'vars'));
  92. hideAll(getElementsByClassName(document, 'ol', 'pre-context'));
  93. hideAll(getElementsByClassName(document, 'ol', 'post-context'));
  94. hideAll(getElementsByClassName(document, 'div', 'pastebin'));
  95. }
  96. function toggle() {
  97. for (var i = 0; i < arguments.length; i++) {
  98. var e = document.getElementById(arguments[i]);
  99. if (e) {
  100. e.style.display = e.style.display == 'none' ? 'block': 'none';
  101. }
  102. }
  103. return false;
  104. }
  105. function varToggle(link, id) {
  106. toggle('v' + id);
  107. var s = link.getElementsByTagName('span')[0];
  108. var uarr = String.fromCharCode(0x25b6);
  109. var darr = String.fromCharCode(0x25bc);
  110. s.innerHTML = s.innerHTML == uarr ? darr : uarr;
  111. return false;
  112. }
  113. function switchPastebinFriendly(link) {
  114. s1 = "Switch to copy-and-paste view";
  115. s2 = "Switch back to interactive view";
  116. link.innerHTML = link.innerHTML.trim() == s1 ? s2: s1;
  117. toggle('browserTraceback', 'pastebinTraceback');
  118. return false;
  119. }
  120. //-->
  121. </script>
  122.  
  123. </head>
  124. <body>
  125. <div id="summary">
  126. <h1>ValueError at /api/o/convert-token/</h1>
  127. <pre class="exception_value">Email required</pre>
  128. <table class="meta">
  129.  
  130. <tr>
  131. <th>Request Method:</th>
  132. <td>POST</td>
  133. </tr>
  134. <tr>
  135. <th>Request URL:</th>
  136. <td>https://api.ilistambassador.com/api/o/convert-token/</td>
  137. </tr>
  138.  
  139. <tr>
  140. <th>Django Version:</th>
  141. <td>1.9.4</td>
  142. </tr>
  143.  
  144. <tr>
  145. <th>Exception Type:</th>
  146. <td>ValueError</td>
  147. </tr>
  148.  
  149.  
  150. <tr>
  151. <th>Exception Value:</th>
  152. <td><pre>Email required</pre></td>
  153. </tr>
  154.  
  155.  
  156. <tr>
  157. <th>Exception Location:</th>
  158. <td>./app/base.py in create_user, line 10</td>
  159. </tr>
  160.  
  161. <tr>
  162. <th>Python Executable:</th>
  163. <td>/usr/bin/uwsgi-core</td>
  164. </tr>
  165. <tr>
  166. <th>Python Version:</th>
  167. <td>3.4.3</td>
  168. </tr>
  169. <tr>
  170. <th>Python Path:</th>
  171. <td><pre>[&#39;.&#39;,
  172. &#39;&#39;,
  173. &#39;/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4&#39;,
  174. &#39;/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/plat-x86_64-linux-gnu&#39;,
  175. &#39;/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/lib-dynload&#39;,
  176. &#39;/usr/lib/python3.4&#39;,
  177. &#39;/usr/lib/python3.4/plat-x86_64-linux-gnu&#39;,
  178. &#39;/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages&#39;]</pre></td>
  179. </tr>
  180. <tr>
  181. <th>Server time:</th>
  182. <td>Sat, 16 Jul 2016 11:26:23 +0000</td>
  183. </tr>
  184. </table>
  185. </div>
  186.  
  187.  
  188.  
  189.  
  190. <div id="traceback">
  191. <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
  192. Switch to copy-and-paste view</a></span>
  193. </h2>
  194.  
  195. <div id="browserTraceback">
  196. <ul class="traceback">
  197.  
  198.  
  199. <li class="frame django">
  200. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
  201.  
  202.  
  203. <div class="context" id="c140568542622088">
  204.  
  205. <ol start="142" class="pre-context" id="pre140568542622088">
  206.  
  207. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> break</pre></li>
  208.  
  209. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre></pre></li>
  210.  
  211. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> if response is None:</pre></li>
  212.  
  213. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
  214.  
  215. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> try:</pre></li>
  216.  
  217. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>
  218.  
  219. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> except Exception as e:</pre></li>
  220.  
  221. </ol>
  222.  
  223. <ol start="149" class="context-line">
  224. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre>
  225. response = self.process_exception_by_middleware(e, request)</pre> <span>...</span></li></ol>
  226.  
  227. <ol start='150' class="post-context" id="post140568542622088">
  228.  
  229. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre></pre></li>
  230.  
  231. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> # Complain if the view returned None (a common error).</pre></li>
  232.  
  233. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> if response is None:</pre></li>
  234.  
  235. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
  236.  
  237. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> view_name = callback.__name__</pre></li>
  238.  
  239. <li onclick="toggle('pre140568542622088', 'post140568542622088')"><pre> else: # CBV</pre></li>
  240.  
  241. </ol>
  242.  
  243. </div>
  244.  
  245.  
  246.  
  247. <div class="commands">
  248.  
  249. <a href="#" onclick="return varToggle(this, '140568542622088')"><span>&#x25b6;</span> Local vars</a>
  250.  
  251. </div>
  252. <table class="vars" id="v140568542622088">
  253. <thead>
  254. <tr>
  255. <th>Variable</th>
  256. <th>Value</th>
  257. </tr>
  258. </thead>
  259. <tbody>
  260.  
  261. <tr>
  262. <td>callback_kwargs</td>
  263. <td class="code"><pre>{}</pre></td>
  264. </tr>
  265.  
  266. <tr>
  267. <td>resolver_match</td>
  268. <td class="code"><pre>ResolverMatch(func=rest_framework_social_oauth2.views.ConvertTokenView, args=(), kwargs={}, url_name=convert_token, app_names=[], namespaces=[])</pre></td>
  269. </tr>
  270.  
  271. <tr>
  272. <td>request</td>
  273. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;</pre></td>
  274. </tr>
  275.  
  276. <tr>
  277. <td>resolver</td>
  278. <td class="code"><pre>&lt;RegexURLResolver &#39;ilist.urls&#39; (None:None) ^/&gt;</pre></td>
  279. </tr>
  280.  
  281. <tr>
  282. <td>callback_args</td>
  283. <td class="code"><pre>()</pre></td>
  284. </tr>
  285.  
  286. <tr>
  287. <td>response</td>
  288. <td class="code"><pre>None</pre></td>
  289. </tr>
  290.  
  291. <tr>
  292. <td>middleware_method</td>
  293. <td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7fd8abb47f28&gt;&gt;</pre></td>
  294. </tr>
  295.  
  296. <tr>
  297. <td>response_is_rendered</td>
  298. <td class="code"><pre>False</pre></td>
  299. </tr>
  300.  
  301. <tr>
  302. <td>self</td>
  303. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fd8accb2240&gt;</pre></td>
  304. </tr>
  305.  
  306. <tr>
  307. <td>wrapped_callback</td>
  308. <td class="code"><pre>&lt;function ConvertTokenView at 0x7fd8ab055d90&gt;</pre></td>
  309. </tr>
  310.  
  311. <tr>
  312. <td>callback</td>
  313. <td class="code"><pre>&lt;function ConvertTokenView at 0x7fd8ab055d90&gt;</pre></td>
  314. </tr>
  315.  
  316. <tr>
  317. <td>urlconf</td>
  318. <td class="code"><pre>&#39;ilist.urls&#39;</pre></td>
  319. </tr>
  320.  
  321. </tbody>
  322. </table>
  323.  
  324. </li>
  325.  
  326.  
  327. <li class="frame django">
  328. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/core/handlers/base.py</code> in <code>get_response</code>
  329.  
  330.  
  331. <div class="context" id="c140568542622024">
  332.  
  333. <ol start="140" class="pre-context" id="pre140568542622024">
  334.  
  335. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>
  336.  
  337. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> if response:</pre></li>
  338.  
  339. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> break</pre></li>
  340.  
  341. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre></pre></li>
  342.  
  343. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> if response is None:</pre></li>
  344.  
  345. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
  346.  
  347. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> try:</pre></li>
  348.  
  349. </ol>
  350.  
  351. <ol start="147" class="context-line">
  352. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre>
  353. response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>...</span></li></ol>
  354.  
  355. <ol start='148' class="post-context" id="post140568542622024">
  356.  
  357. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> except Exception as e:</pre></li>
  358.  
  359. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>
  360.  
  361. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre></pre></li>
  362.  
  363. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> # Complain if the view returned None (a common error).</pre></li>
  364.  
  365. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> if response is None:</pre></li>
  366.  
  367. <li onclick="toggle('pre140568542622024', 'post140568542622024')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>
  368.  
  369. </ol>
  370.  
  371. </div>
  372.  
  373.  
  374.  
  375. <div class="commands">
  376.  
  377. <a href="#" onclick="return varToggle(this, '140568542622024')"><span>&#x25b6;</span> Local vars</a>
  378.  
  379. </div>
  380. <table class="vars" id="v140568542622024">
  381. <thead>
  382. <tr>
  383. <th>Variable</th>
  384. <th>Value</th>
  385. </tr>
  386. </thead>
  387. <tbody>
  388.  
  389. <tr>
  390. <td>callback_kwargs</td>
  391. <td class="code"><pre>{}</pre></td>
  392. </tr>
  393.  
  394. <tr>
  395. <td>resolver_match</td>
  396. <td class="code"><pre>ResolverMatch(func=rest_framework_social_oauth2.views.ConvertTokenView, args=(), kwargs={}, url_name=convert_token, app_names=[], namespaces=[])</pre></td>
  397. </tr>
  398.  
  399. <tr>
  400. <td>request</td>
  401. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;</pre></td>
  402. </tr>
  403.  
  404. <tr>
  405. <td>resolver</td>
  406. <td class="code"><pre>&lt;RegexURLResolver &#39;ilist.urls&#39; (None:None) ^/&gt;</pre></td>
  407. </tr>
  408.  
  409. <tr>
  410. <td>callback_args</td>
  411. <td class="code"><pre>()</pre></td>
  412. </tr>
  413.  
  414. <tr>
  415. <td>response</td>
  416. <td class="code"><pre>None</pre></td>
  417. </tr>
  418.  
  419. <tr>
  420. <td>middleware_method</td>
  421. <td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7fd8abb47f28&gt;&gt;</pre></td>
  422. </tr>
  423.  
  424. <tr>
  425. <td>response_is_rendered</td>
  426. <td class="code"><pre>False</pre></td>
  427. </tr>
  428.  
  429. <tr>
  430. <td>self</td>
  431. <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7fd8accb2240&gt;</pre></td>
  432. </tr>
  433.  
  434. <tr>
  435. <td>wrapped_callback</td>
  436. <td class="code"><pre>&lt;function ConvertTokenView at 0x7fd8ab055d90&gt;</pre></td>
  437. </tr>
  438.  
  439. <tr>
  440. <td>callback</td>
  441. <td class="code"><pre>&lt;function ConvertTokenView at 0x7fd8ab055d90&gt;</pre></td>
  442. </tr>
  443.  
  444. <tr>
  445. <td>urlconf</td>
  446. <td class="code"><pre>&#39;ilist.urls&#39;</pre></td>
  447. </tr>
  448.  
  449. </tbody>
  450. </table>
  451.  
  452. </li>
  453.  
  454.  
  455. <li class="frame django">
  456. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>
  457.  
  458.  
  459. <div class="context" id="c140568542621960">
  460.  
  461. <ol start="51" class="pre-context" id="pre140568542621960">
  462.  
  463. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> &quot;&quot;&quot;</pre></li>
  464.  
  465. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> Marks a view function as being exempt from the CSRF view protection.</pre></li>
  466.  
  467. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> &quot;&quot;&quot;</pre></li>
  468.  
  469. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> # We could just do view_func.csrf_exempt = True, but decorators</pre></li>
  470.  
  471. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> # are nicer if they don&#39;t have side-effects, so we return a new</pre></li>
  472.  
  473. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> # function.</pre></li>
  474.  
  475. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> def wrapped_view(*args, **kwargs):</pre></li>
  476.  
  477. </ol>
  478.  
  479. <ol start="58" class="context-line">
  480. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre>
  481. return view_func(*args, **kwargs)</pre> <span>...</span></li></ol>
  482.  
  483. <ol start='59' class="post-context" id="post140568542621960">
  484.  
  485. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> wrapped_view.csrf_exempt = True</pre></li>
  486.  
  487. <li onclick="toggle('pre140568542621960', 'post140568542621960')"><pre> return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)</pre></li>
  488.  
  489. </ol>
  490.  
  491. </div>
  492.  
  493.  
  494.  
  495. <div class="commands">
  496.  
  497. <a href="#" onclick="return varToggle(this, '140568542621960')"><span>&#x25b6;</span> Local vars</a>
  498.  
  499. </div>
  500. <table class="vars" id="v140568542621960">
  501. <thead>
  502. <tr>
  503. <th>Variable</th>
  504. <th>Value</th>
  505. </tr>
  506. </thead>
  507. <tbody>
  508.  
  509. <tr>
  510. <td>kwargs</td>
  511. <td class="code"><pre>{}</pre></td>
  512. </tr>
  513.  
  514. <tr>
  515. <td>args</td>
  516. <td class="code"><pre>(&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;,)</pre></td>
  517. </tr>
  518.  
  519. <tr>
  520. <td>view_func</td>
  521. <td class="code"><pre>&lt;function ConvertTokenView at 0x7fd8ab055d08&gt;</pre></td>
  522. </tr>
  523.  
  524. </tbody>
  525. </table>
  526.  
  527. </li>
  528.  
  529.  
  530. <li class="frame django">
  531. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/generic/base.py</code> in <code>view</code>
  532.  
  533.  
  534. <div class="context" id="c140568542621896">
  535.  
  536. <ol start="61" class="pre-context" id="pre140568542621896">
  537.  
  538. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> def view(request, *args, **kwargs):</pre></li>
  539.  
  540. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self = cls(**initkwargs)</pre></li>
  541.  
  542. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> if hasattr(self, &#39;get&#39;) and not hasattr(self, &#39;head&#39;):</pre></li>
  543.  
  544. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self.head = self.get</pre></li>
  545.  
  546. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self.request = request</pre></li>
  547.  
  548. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self.args = args</pre></li>
  549.  
  550. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> self.kwargs = kwargs</pre></li>
  551.  
  552. </ol>
  553.  
  554. <ol start="68" class="context-line">
  555. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre>
  556. return self.dispatch(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  557.  
  558. <ol start='69' class="post-context" id="post140568542621896">
  559.  
  560. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> view.view_class = cls</pre></li>
  561.  
  562. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> view.view_initkwargs = initkwargs</pre></li>
  563.  
  564. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre></pre></li>
  565.  
  566. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> # take name and docstring from class</pre></li>
  567.  
  568. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre> update_wrapper(view, cls, updated=())</pre></li>
  569.  
  570. <li onclick="toggle('pre140568542621896', 'post140568542621896')"><pre></pre></li>
  571.  
  572. </ol>
  573.  
  574. </div>
  575.  
  576.  
  577.  
  578. <div class="commands">
  579.  
  580. <a href="#" onclick="return varToggle(this, '140568542621896')"><span>&#x25b6;</span> Local vars</a>
  581.  
  582. </div>
  583. <table class="vars" id="v140568542621896">
  584. <thead>
  585. <tr>
  586. <th>Variable</th>
  587. <th>Value</th>
  588. </tr>
  589. </thead>
  590. <tbody>
  591.  
  592. <tr>
  593. <td>cls</td>
  594. <td class="code"><pre>&lt;class &#39;rest_framework_social_oauth2.views.ConvertTokenView&#39;&gt;</pre></td>
  595. </tr>
  596.  
  597. <tr>
  598. <td>self</td>
  599. <td class="code"><pre>&lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;</pre></td>
  600. </tr>
  601.  
  602. <tr>
  603. <td>initkwargs</td>
  604. <td class="code"><pre>{}</pre></td>
  605. </tr>
  606.  
  607. <tr>
  608. <td>request</td>
  609. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;</pre></td>
  610. </tr>
  611.  
  612. <tr>
  613. <td>kwargs</td>
  614. <td class="code"><pre>{}</pre></td>
  615. </tr>
  616.  
  617. <tr>
  618. <td>args</td>
  619. <td class="code"><pre>()</pre></td>
  620. </tr>
  621.  
  622. </tbody>
  623. </table>
  624.  
  625. </li>
  626.  
  627.  
  628. <li class="frame django">
  629. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/utils/decorators.py</code> in <code>_wrapper</code>
  630.  
  631.  
  632. <div class="context" id="c140568542621832">
  633.  
  634. <ol start="60" class="pre-context" id="pre140568542621832">
  635.  
  636. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> def _wrapper(self, *args, **kwargs):</pre></li>
  637.  
  638. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> @decorate</pre></li>
  639.  
  640. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> def bound_func(*args2, **kwargs2):</pre></li>
  641.  
  642. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> return func.__get__(self, type(self))(*args2, **kwargs2)</pre></li>
  643.  
  644. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # bound_func has the signature that &#39;decorator&#39; expects i.e. no</pre></li>
  645.  
  646. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # &#39;self&#39; argument, but it is a closure over self so it can call</pre></li>
  647.  
  648. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # &#39;func&#39; correctly.</pre></li>
  649.  
  650. </ol>
  651.  
  652. <ol start="67" class="context-line">
  653. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre>
  654. return bound_func(*args, **kwargs)</pre> <span>...</span></li></ol>
  655.  
  656. <ol start='68' class="post-context" id="post140568542621832">
  657.  
  658. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # In case &#39;decorator&#39; adds attributes to the function it decorates, we</pre></li>
  659.  
  660. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # want to copy those. We don&#39;t have access to bound_func in this scope,</pre></li>
  661.  
  662. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> # but we can cheat by using it on a dummy function.</pre></li>
  663.  
  664. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre></pre></li>
  665.  
  666. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> @decorate</pre></li>
  667.  
  668. <li onclick="toggle('pre140568542621832', 'post140568542621832')"><pre> def dummy(*args, **kwargs):</pre></li>
  669.  
  670. </ol>
  671.  
  672. </div>
  673.  
  674.  
  675.  
  676. <div class="commands">
  677.  
  678. <a href="#" onclick="return varToggle(this, '140568542621832')"><span>&#x25b6;</span> Local vars</a>
  679.  
  680. </div>
  681. <table class="vars" id="v140568542621832">
  682. <thead>
  683. <tr>
  684. <th>Variable</th>
  685. <th>Value</th>
  686. </tr>
  687. </thead>
  688. <tbody>
  689.  
  690. <tr>
  691. <td>bound_func</td>
  692. <td class="code"><pre>&lt;function method_decorator.&lt;locals&gt;._dec.&lt;locals&gt;._wrapper.&lt;locals&gt;.bound_func at 0x7fd8abb7e6a8&gt;</pre></td>
  693. </tr>
  694.  
  695. <tr>
  696. <td>decorate</td>
  697. <td class="code"><pre>&lt;function method_decorator.&lt;locals&gt;._dec.&lt;locals&gt;.decorate at 0x7fd8ab0bc378&gt;</pre></td>
  698. </tr>
  699.  
  700. <tr>
  701. <td>func</td>
  702. <td class="code"><pre>&lt;function CsrfExemptMixin.dispatch at 0x7fd8ab0bc2f0&gt;</pre></td>
  703. </tr>
  704.  
  705. <tr>
  706. <td>self</td>
  707. <td class="code"><pre>&lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;</pre></td>
  708. </tr>
  709.  
  710. <tr>
  711. <td>kwargs</td>
  712. <td class="code"><pre>{}</pre></td>
  713. </tr>
  714.  
  715. <tr>
  716. <td>args</td>
  717. <td class="code"><pre>(&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;,)</pre></td>
  718. </tr>
  719.  
  720. </tbody>
  721. </table>
  722.  
  723. </li>
  724.  
  725.  
  726. <li class="frame django">
  727. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>
  728.  
  729.  
  730. <div class="context" id="c140568542621768">
  731.  
  732. <ol start="51" class="pre-context" id="pre140568542621768">
  733.  
  734. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> &quot;&quot;&quot;</pre></li>
  735.  
  736. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> Marks a view function as being exempt from the CSRF view protection.</pre></li>
  737.  
  738. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> &quot;&quot;&quot;</pre></li>
  739.  
  740. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> # We could just do view_func.csrf_exempt = True, but decorators</pre></li>
  741.  
  742. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> # are nicer if they don&#39;t have side-effects, so we return a new</pre></li>
  743.  
  744. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> # function.</pre></li>
  745.  
  746. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> def wrapped_view(*args, **kwargs):</pre></li>
  747.  
  748. </ol>
  749.  
  750. <ol start="58" class="context-line">
  751. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre>
  752. return view_func(*args, **kwargs)</pre> <span>...</span></li></ol>
  753.  
  754. <ol start='59' class="post-context" id="post140568542621768">
  755.  
  756. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> wrapped_view.csrf_exempt = True</pre></li>
  757.  
  758. <li onclick="toggle('pre140568542621768', 'post140568542621768')"><pre> return wraps(view_func, assigned=available_attrs(view_func))(wrapped_view)</pre></li>
  759.  
  760. </ol>
  761.  
  762. </div>
  763.  
  764.  
  765.  
  766. <div class="commands">
  767.  
  768. <a href="#" onclick="return varToggle(this, '140568542621768')"><span>&#x25b6;</span> Local vars</a>
  769.  
  770. </div>
  771. <table class="vars" id="v140568542621768">
  772. <thead>
  773. <tr>
  774. <th>Variable</th>
  775. <th>Value</th>
  776. </tr>
  777. </thead>
  778. <tbody>
  779.  
  780. <tr>
  781. <td>kwargs</td>
  782. <td class="code"><pre>{}</pre></td>
  783. </tr>
  784.  
  785. <tr>
  786. <td>args</td>
  787. <td class="code"><pre>(&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;,)</pre></td>
  788. </tr>
  789.  
  790. <tr>
  791. <td>view_func</td>
  792. <td class="code"><pre>&lt;function method_decorator.&lt;locals&gt;._dec.&lt;locals&gt;._wrapper.&lt;locals&gt;.bound_func at 0x7fd8abb69f28&gt;</pre></td>
  793. </tr>
  794.  
  795. </tbody>
  796. </table>
  797.  
  798. </li>
  799.  
  800.  
  801. <li class="frame django">
  802. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/utils/decorators.py</code> in <code>bound_func</code>
  803.  
  804.  
  805. <div class="context" id="c140568542601160">
  806.  
  807. <ol start="56" class="pre-context" id="pre140568542601160">
  808.  
  809. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> function = dec(function)</pre></li>
  810.  
  811. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> return function</pre></li>
  812.  
  813. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> return decorator(function)</pre></li>
  814.  
  815. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre></pre></li>
  816.  
  817. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> def _wrapper(self, *args, **kwargs):</pre></li>
  818.  
  819. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> @decorate</pre></li>
  820.  
  821. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> def bound_func(*args2, **kwargs2):</pre></li>
  822.  
  823. </ol>
  824.  
  825. <ol start="63" class="context-line">
  826. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre>
  827. return func.__get__(self, type(self))(*args2, **kwargs2)</pre> <span>...</span></li></ol>
  828.  
  829. <ol start='64' class="post-context" id="post140568542601160">
  830.  
  831. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # bound_func has the signature that &#39;decorator&#39; expects i.e. no</pre></li>
  832.  
  833. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # &#39;self&#39; argument, but it is a closure over self so it can call</pre></li>
  834.  
  835. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # &#39;func&#39; correctly.</pre></li>
  836.  
  837. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> return bound_func(*args, **kwargs)</pre></li>
  838.  
  839. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # In case &#39;decorator&#39; adds attributes to the function it decorates, we</pre></li>
  840.  
  841. <li onclick="toggle('pre140568542601160', 'post140568542601160')"><pre> # want to copy those. We don&#39;t have access to bound_func in this scope,</pre></li>
  842.  
  843. </ol>
  844.  
  845. </div>
  846.  
  847.  
  848.  
  849. <div class="commands">
  850.  
  851. <a href="#" onclick="return varToggle(this, '140568542601160')"><span>&#x25b6;</span> Local vars</a>
  852.  
  853. </div>
  854. <table class="vars" id="v140568542601160">
  855. <thead>
  856. <tr>
  857. <th>Variable</th>
  858. <th>Value</th>
  859. </tr>
  860. </thead>
  861. <tbody>
  862.  
  863. <tr>
  864. <td>args2</td>
  865. <td class="code"><pre>(&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;,)</pre></td>
  866. </tr>
  867.  
  868. <tr>
  869. <td>kwargs2</td>
  870. <td class="code"><pre>{}</pre></td>
  871. </tr>
  872.  
  873. <tr>
  874. <td>self</td>
  875. <td class="code"><pre>&lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;</pre></td>
  876. </tr>
  877.  
  878. <tr>
  879. <td>func</td>
  880. <td class="code"><pre>&lt;function CsrfExemptMixin.dispatch at 0x7fd8ab0bc2f0&gt;</pre></td>
  881. </tr>
  882.  
  883. </tbody>
  884. </table>
  885.  
  886. </li>
  887.  
  888.  
  889. <li class="frame user">
  890. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/braces/views/_forms.py</code> in <code>dispatch</code>
  891.  
  892.  
  893. <div class="context" id="c140568542601096">
  894.  
  895. <ol start="15" class="pre-context" id="pre140568542601096">
  896.  
  897. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre></pre></li>
  898.  
  899. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> NOTE:</pre></li>
  900.  
  901. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> This should be the left-most mixin of a view.</pre></li>
  902.  
  903. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> &quot;&quot;&quot;</pre></li>
  904.  
  905. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre></pre></li>
  906.  
  907. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> @method_decorator(csrf_exempt)</pre></li>
  908.  
  909. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> def dispatch(self, *args, **kwargs):</pre></li>
  910.  
  911. </ol>
  912.  
  913. <ol start="22" class="context-line">
  914. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre>
  915. return super(CsrfExemptMixin, self).dispatch(*args, **kwargs)</pre> <span>...</span></li></ol>
  916.  
  917. <ol start='23' class="post-context" id="post140568542601096">
  918.  
  919. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre></pre></li>
  920.  
  921. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre></pre></li>
  922.  
  923. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre>class UserFormKwargsMixin(object):</pre></li>
  924.  
  925. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> &quot;&quot;&quot;</pre></li>
  926.  
  927. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> CBV mixin which puts the user from the request into the form kwargs.</pre></li>
  928.  
  929. <li onclick="toggle('pre140568542601096', 'post140568542601096')"><pre> Note: Using this mixin requires you to pop the `user` kwarg</pre></li>
  930.  
  931. </ol>
  932.  
  933. </div>
  934.  
  935.  
  936.  
  937. <div class="commands">
  938.  
  939. <a href="#" onclick="return varToggle(this, '140568542601096')"><span>&#x25b6;</span> Local vars</a>
  940.  
  941. </div>
  942. <table class="vars" id="v140568542601096">
  943. <thead>
  944. <tr>
  945. <th>Variable</th>
  946. <th>Value</th>
  947. </tr>
  948. </thead>
  949. <tbody>
  950.  
  951. <tr>
  952. <td>kwargs</td>
  953. <td class="code"><pre>{}</pre></td>
  954. </tr>
  955.  
  956. <tr>
  957. <td>args</td>
  958. <td class="code"><pre>(&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;,)</pre></td>
  959. </tr>
  960.  
  961. <tr>
  962. <td>__class__</td>
  963. <td class="code"><pre>&lt;class &#39;braces.views._forms.CsrfExemptMixin&#39;&gt;</pre></td>
  964. </tr>
  965.  
  966. <tr>
  967. <td>self</td>
  968. <td class="code"><pre>&lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;</pre></td>
  969. </tr>
  970.  
  971. </tbody>
  972. </table>
  973.  
  974. </li>
  975.  
  976.  
  977. <li class="frame user">
  978. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
  979.  
  980.  
  981. <div class="context" id="c140568542538440">
  982.  
  983. <ol start="459" class="pre-context" id="pre140568542538440">
  984.  
  985. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> self.http_method_not_allowed)</pre></li>
  986.  
  987. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> else:</pre></li>
  988.  
  989. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> handler = self.http_method_not_allowed</pre></li>
  990.  
  991. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre></pre></li>
  992.  
  993. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> response = handler(request, *args, **kwargs)</pre></li>
  994.  
  995. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre></pre></li>
  996.  
  997. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> except Exception as exc:</pre></li>
  998.  
  999. </ol>
  1000.  
  1001. <ol start="466" class="context-line">
  1002. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre>
  1003. response = self.handle_exception(exc)</pre> <span>...</span></li></ol>
  1004.  
  1005. <ol start='467' class="post-context" id="post140568542538440">
  1006.  
  1007. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre></pre></li>
  1008.  
  1009. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
  1010.  
  1011. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> return self.response</pre></li>
  1012.  
  1013. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre></pre></li>
  1014.  
  1015. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> def options(self, request, *args, **kwargs):</pre></li>
  1016.  
  1017. <li onclick="toggle('pre140568542538440', 'post140568542538440')"><pre> &quot;&quot;&quot;</pre></li>
  1018.  
  1019. </ol>
  1020.  
  1021. </div>
  1022.  
  1023.  
  1024.  
  1025. <div class="commands">
  1026.  
  1027. <a href="#" onclick="return varToggle(this, '140568542538440')"><span>&#x25b6;</span> Local vars</a>
  1028.  
  1029. </div>
  1030. <table class="vars" id="v140568542538440">
  1031. <thead>
  1032. <tr>
  1033. <th>Variable</th>
  1034. <th>Value</th>
  1035. </tr>
  1036. </thead>
  1037. <tbody>
  1038.  
  1039. <tr>
  1040. <td>handler</td>
  1041. <td class="code"><pre>&lt;bound method ConvertTokenView.post of &lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;&gt;</pre></td>
  1042. </tr>
  1043.  
  1044. <tr>
  1045. <td>kwargs</td>
  1046. <td class="code"><pre>{}</pre></td>
  1047. </tr>
  1048.  
  1049. <tr>
  1050. <td>args</td>
  1051. <td class="code"><pre>()</pre></td>
  1052. </tr>
  1053.  
  1054. <tr>
  1055. <td>self</td>
  1056. <td class="code"><pre>&lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;</pre></td>
  1057. </tr>
  1058.  
  1059. <tr>
  1060. <td>request</td>
  1061. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fd8aafe96d8&gt;</pre></td>
  1062. </tr>
  1063.  
  1064. </tbody>
  1065. </table>
  1066.  
  1067. </li>
  1068.  
  1069.  
  1070. <li class="frame user">
  1071. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework/views.py</code> in <code>dispatch</code>
  1072.  
  1073.  
  1074. <div class="context" id="c140568542601032">
  1075.  
  1076. <ol start="456" class="pre-context" id="pre140568542601032">
  1077.  
  1078. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> # Get the appropriate handler method</pre></li>
  1079.  
  1080. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> if request.method.lower() in self.http_method_names:</pre></li>
  1081.  
  1082. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> handler = getattr(self, request.method.lower(),</pre></li>
  1083.  
  1084. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> self.http_method_not_allowed)</pre></li>
  1085.  
  1086. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> else:</pre></li>
  1087.  
  1088. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> handler = self.http_method_not_allowed</pre></li>
  1089.  
  1090. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre></pre></li>
  1091.  
  1092. </ol>
  1093.  
  1094. <ol start="463" class="context-line">
  1095. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre>
  1096. response = handler(request, *args, **kwargs)</pre> <span>...</span></li></ol>
  1097.  
  1098. <ol start='464' class="post-context" id="post140568542601032">
  1099.  
  1100. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre></pre></li>
  1101.  
  1102. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> except Exception as exc:</pre></li>
  1103.  
  1104. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> response = self.handle_exception(exc)</pre></li>
  1105.  
  1106. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre></pre></li>
  1107.  
  1108. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> self.response = self.finalize_response(request, response, *args, **kwargs)</pre></li>
  1109.  
  1110. <li onclick="toggle('pre140568542601032', 'post140568542601032')"><pre> return self.response</pre></li>
  1111.  
  1112. </ol>
  1113.  
  1114. </div>
  1115.  
  1116.  
  1117.  
  1118. <div class="commands">
  1119.  
  1120. <a href="#" onclick="return varToggle(this, '140568542601032')"><span>&#x25b6;</span> Local vars</a>
  1121.  
  1122. </div>
  1123. <table class="vars" id="v140568542601032">
  1124. <thead>
  1125. <tr>
  1126. <th>Variable</th>
  1127. <th>Value</th>
  1128. </tr>
  1129. </thead>
  1130. <tbody>
  1131.  
  1132. <tr>
  1133. <td>handler</td>
  1134. <td class="code"><pre>&lt;bound method ConvertTokenView.post of &lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;&gt;</pre></td>
  1135. </tr>
  1136.  
  1137. <tr>
  1138. <td>kwargs</td>
  1139. <td class="code"><pre>{}</pre></td>
  1140. </tr>
  1141.  
  1142. <tr>
  1143. <td>args</td>
  1144. <td class="code"><pre>()</pre></td>
  1145. </tr>
  1146.  
  1147. <tr>
  1148. <td>self</td>
  1149. <td class="code"><pre>&lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;</pre></td>
  1150. </tr>
  1151.  
  1152. <tr>
  1153. <td>request</td>
  1154. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fd8aafe96d8&gt;</pre></td>
  1155. </tr>
  1156.  
  1157. </tbody>
  1158. </table>
  1159.  
  1160. </li>
  1161.  
  1162.  
  1163. <li class="frame user">
  1164. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/views.py</code> in <code>post</code>
  1165.  
  1166.  
  1167. <div class="context" id="c140568542600968">
  1168.  
  1169. <ol start="34" class="pre-context" id="pre140568542600968">
  1170.  
  1171. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> def post(self, request, *args, **kwargs):</pre></li>
  1172.  
  1173. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre></pre></li>
  1174.  
  1175. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> # Use the rest framework `.data` to fake the post body of the django request.</pre></li>
  1176.  
  1177. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> request._request.POST = request._request.POST.copy()</pre></li>
  1178.  
  1179. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> for key, value in request.data.items():</pre></li>
  1180.  
  1181. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> request._request.POST[key] = value</pre></li>
  1182.  
  1183. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre></pre></li>
  1184.  
  1185. </ol>
  1186.  
  1187. <ol start="41" class="context-line">
  1188. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre>
  1189. url, headers, body, status = self.create_token_response(request._request)</pre> <span>...</span></li></ol>
  1190.  
  1191. <ol start='42' class="post-context" id="post140568542600968">
  1192.  
  1193. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> response = Response(data=json.loads(body), status=status)</pre></li>
  1194.  
  1195. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre></pre></li>
  1196.  
  1197. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> for k, v in headers.items():</pre></li>
  1198.  
  1199. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> response[k] = v</pre></li>
  1200.  
  1201. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre> return response</pre></li>
  1202.  
  1203. <li onclick="toggle('pre140568542600968', 'post140568542600968')"><pre></pre></li>
  1204.  
  1205. </ol>
  1206.  
  1207. </div>
  1208.  
  1209.  
  1210.  
  1211. <div class="commands">
  1212.  
  1213. <a href="#" onclick="return varToggle(this, '140568542600968')"><span>&#x25b6;</span> Local vars</a>
  1214.  
  1215. </div>
  1216. <table class="vars" id="v140568542600968">
  1217. <thead>
  1218. <tr>
  1219. <th>Variable</th>
  1220. <th>Value</th>
  1221. </tr>
  1222. </thead>
  1223. <tbody>
  1224.  
  1225. <tr>
  1226. <td>key</td>
  1227. <td class="code"><pre>&#39;client_id&#39;</pre></td>
  1228. </tr>
  1229.  
  1230. <tr>
  1231. <td>self</td>
  1232. <td class="code"><pre>&lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;</pre></td>
  1233. </tr>
  1234.  
  1235. <tr>
  1236. <td>request</td>
  1237. <td class="code"><pre>&lt;rest_framework.request.Request object at 0x7fd8aafe96d8&gt;</pre></td>
  1238. </tr>
  1239.  
  1240. <tr>
  1241. <td>kwargs</td>
  1242. <td class="code"><pre>{}</pre></td>
  1243. </tr>
  1244.  
  1245. <tr>
  1246. <td>args</td>
  1247. <td class="code"><pre>()</pre></td>
  1248. </tr>
  1249.  
  1250. <tr>
  1251. <td>value</td>
  1252. <td class="code"><pre>&#39;3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&#39;</pre></td>
  1253. </tr>
  1254.  
  1255. </tbody>
  1256. </table>
  1257.  
  1258. </li>
  1259.  
  1260.  
  1261. <li class="frame user">
  1262. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauth2_provider/views/mixins.py</code> in <code>create_token_response</code>
  1263.  
  1264.  
  1265. <div class="context" id="c140568542600904">
  1266.  
  1267. <ol start="117" class="pre-context" id="pre140568542600904">
  1268.  
  1269. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> def create_token_response(self, request):</pre></li>
  1270.  
  1271. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> &quot;&quot;&quot;</pre></li>
  1272.  
  1273. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> A wrapper method that calls create_token_response on `server_class` instance.</pre></li>
  1274.  
  1275. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre></pre></li>
  1276.  
  1277. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> :param request: The current django.http.HttpRequest object</pre></li>
  1278.  
  1279. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> &quot;&quot;&quot;</pre></li>
  1280.  
  1281. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> core = self.get_oauthlib_core()</pre></li>
  1282.  
  1283. </ol>
  1284.  
  1285. <ol start="124" class="context-line">
  1286. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre>
  1287. return core.create_token_response(request)</pre> <span>...</span></li></ol>
  1288.  
  1289. <ol start='125' class="post-context" id="post140568542600904">
  1290.  
  1291. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre></pre></li>
  1292.  
  1293. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> def create_revocation_response(self, request):</pre></li>
  1294.  
  1295. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> &quot;&quot;&quot;</pre></li>
  1296.  
  1297. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> A wrapper method that calls create_revocation_response on the</pre></li>
  1298.  
  1299. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre> `server_class` instance.</pre></li>
  1300.  
  1301. <li onclick="toggle('pre140568542600904', 'post140568542600904')"><pre></pre></li>
  1302.  
  1303. </ol>
  1304.  
  1305. </div>
  1306.  
  1307.  
  1308.  
  1309. <div class="commands">
  1310.  
  1311. <a href="#" onclick="return varToggle(this, '140568542600904')"><span>&#x25b6;</span> Local vars</a>
  1312.  
  1313. </div>
  1314. <table class="vars" id="v140568542600904">
  1315. <thead>
  1316. <tr>
  1317. <th>Variable</th>
  1318. <th>Value</th>
  1319. </tr>
  1320. </thead>
  1321. <tbody>
  1322.  
  1323. <tr>
  1324. <td>request</td>
  1325. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;</pre></td>
  1326. </tr>
  1327.  
  1328. <tr>
  1329. <td>core</td>
  1330. <td class="code"><pre>&lt;rest_framework_social_oauth2.oauth2_backends.KeepRequestCore object at 0x7fd8aafa1278&gt;</pre></td>
  1331. </tr>
  1332.  
  1333. <tr>
  1334. <td>self</td>
  1335. <td class="code"><pre>&lt;rest_framework_social_oauth2.views.ConvertTokenView object at 0x7fd8abb78e80&gt;</pre></td>
  1336. </tr>
  1337.  
  1338. </tbody>
  1339. </table>
  1340.  
  1341. </li>
  1342.  
  1343.  
  1344. <li class="frame user">
  1345. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauth2_provider/oauth2_backends.py</code> in <code>create_token_response</code>
  1346.  
  1347.  
  1348. <div class="context" id="c140568542600840">
  1349.  
  1350. <ol start="131" class="pre-context" id="pre140568542600840">
  1351.  
  1352. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre></pre></li>
  1353.  
  1354. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> :param request: The current django.http.HttpRequest object</pre></li>
  1355.  
  1356. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> &quot;&quot;&quot;</pre></li>
  1357.  
  1358. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> uri, http_method, body, headers = self._extract_params(request)</pre></li>
  1359.  
  1360. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> extra_credentials = self._get_extra_credentials(request)</pre></li>
  1361.  
  1362. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre></pre></li>
  1363.  
  1364. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> headers, body, status = self.server.create_token_response(uri, http_method, body,</pre></li>
  1365.  
  1366. </ol>
  1367.  
  1368. <ol start="138" class="context-line">
  1369. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre>
  1370. headers, extra_credentials)</pre> <span>...</span></li></ol>
  1371.  
  1372. <ol start='139' class="post-context" id="post140568542600840">
  1373.  
  1374. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> uri = headers.get(&quot;Location&quot;, None)</pre></li>
  1375.  
  1376. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre></pre></li>
  1377.  
  1378. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> return uri, headers, body, status</pre></li>
  1379.  
  1380. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre></pre></li>
  1381.  
  1382. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> def create_revocation_response(self, request):</pre></li>
  1383.  
  1384. <li onclick="toggle('pre140568542600840', 'post140568542600840')"><pre> &quot;&quot;&quot;</pre></li>
  1385.  
  1386. </ol>
  1387.  
  1388. </div>
  1389.  
  1390.  
  1391.  
  1392. <div class="commands">
  1393.  
  1394. <a href="#" onclick="return varToggle(this, '140568542600840')"><span>&#x25b6;</span> Local vars</a>
  1395.  
  1396. </div>
  1397. <table class="vars" id="v140568542600840">
  1398. <thead>
  1399. <tr>
  1400. <th>Variable</th>
  1401. <th>Value</th>
  1402. </tr>
  1403. </thead>
  1404. <tbody>
  1405.  
  1406. <tr>
  1407. <td>self</td>
  1408. <td class="code"><pre>&lt;rest_framework_social_oauth2.oauth2_backends.KeepRequestCore object at 0x7fd8aafa1278&gt;</pre></td>
  1409. </tr>
  1410.  
  1411. <tr>
  1412. <td>http_method</td>
  1413. <td class="code"><pre>&#39;POST&#39;</pre></td>
  1414. </tr>
  1415.  
  1416. <tr>
  1417. <td>uri</td>
  1418. <td class="code"><pre>&#39;/api/o/convert-token/&#39;</pre></td>
  1419. </tr>
  1420.  
  1421. <tr>
  1422. <td>request</td>
  1423. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;</pre></td>
  1424. </tr>
  1425.  
  1426. <tr>
  1427. <td>headers</td>
  1428. <td class="code"><pre>{&#39;Authorization&#39;: &#39;Basic &#39;
  1429. &#39;M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;,
  1430. &#39;CONTENT_LENGTH&#39;: &#39;491&#39;,
  1431. &#39;CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;,
  1432. &#39;DOCUMENT_ROOT&#39;: &#39;/usr/share/nginx/html&#39;,
  1433. &#39;HTTPS&#39;: &#39;on&#39;,
  1434. &#39;HTTP_ACCEPT&#39;: &#39;*/*&#39;,
  1435. &#39;HTTP_ACCEPT_ENCODING&#39;: &#39;gzip, deflate&#39;,
  1436. &#39;HTTP_ACCEPT_LANGUAGE&#39;: &#39;en-us&#39;,
  1437. &#39;HTTP_AUTHORIZATION&#39;: &#39;Basic &#39;
  1438. &#39;M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;,
  1439. &#39;HTTP_CONNECTION&#39;: &#39;keep-alive&#39;,
  1440. &#39;HTTP_CONTENT_LENGTH&#39;: &#39;491&#39;,
  1441. &#39;HTTP_CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;,
  1442. &#39;HTTP_HOST&#39;: &#39;api.ilistambassador.com&#39;,
  1443. &#39;HTTP_PROXY_CONNECTION&#39;: &#39;keep-alive&#39;,
  1444. &#39;HTTP_USER_AGENT&#39;: &#39;iList/19 CFNetwork/758.3.15 Darwin/15.5.0&#39;,
  1445. &#39;PATH_INFO&#39;: &#39;/api/o/convert-token/&#39;,
  1446. &#39;QUERY_STRING&#39;: &#39;&#39;,
  1447. &#39;REMOTE_ADDR&#39;: &#39;213.113.41.111&#39;,
  1448. &#39;REMOTE_PORT&#39;: &#39;47358&#39;,
  1449. &#39;REQUEST_METHOD&#39;: &#39;POST&#39;,
  1450. &#39;REQUEST_URI&#39;: &#39;/api/o/convert-token/&#39;,
  1451. &#39;SCRIPT_NAME&#39;: &#39;&#39;,
  1452. &#39;SERVER_NAME&#39;: &#39;api.ilistambassador.com&#39;,
  1453. &#39;SERVER_PORT&#39;: &#39;443&#39;,
  1454. &#39;SERVER_PROTOCOL&#39;: &#39;HTTP/1.1&#39;,
  1455. &#39;uwsgi.core&#39;: 0,
  1456. &#39;uwsgi.node&#39;: b&#39;ip-172-30-1-215&#39;,
  1457. &#39;uwsgi.version&#39;: b&#39;1.9.17.1-debian&#39;,
  1458. &#39;wsgi.file_wrapper&#39;: &lt;built-in function uwsgi_sendfile&gt;,
  1459. &#39;wsgi.multiprocess&#39;: True,
  1460. &#39;wsgi.multithread&#39;: True,
  1461. &#39;wsgi.run_once&#39;: False,
  1462. &#39;wsgi.url_scheme&#39;: &#39;https&#39;,
  1463. &#39;wsgi.version&#39;: (1, 0)}</pre></td>
  1464. </tr>
  1465.  
  1466. <tr>
  1467. <td>body</td>
  1468. <td class="code"><pre>&#39;token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&amp;client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&amp;backend=facebook&amp;grant_type=convert_token&amp;client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&#39;</pre></td>
  1469. </tr>
  1470.  
  1471. <tr>
  1472. <td>extra_credentials</td>
  1473. <td class="code"><pre>None</pre></td>
  1474. </tr>
  1475.  
  1476. </tbody>
  1477. </table>
  1478.  
  1479. </li>
  1480.  
  1481.  
  1482. <li class="frame user">
  1483. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/endpoints/base.py</code> in <code>wrapper</code>
  1484.  
  1485.  
  1486. <div class="context" id="c140568542600776">
  1487.  
  1488. <ol start="57" class="pre-context" id="pre140568542600776">
  1489.  
  1490. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> raise</pre></li>
  1491.  
  1492. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> except Exception as e:</pre></li>
  1493.  
  1494. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> error = ServerError()</pre></li>
  1495.  
  1496. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> log.warning(</pre></li>
  1497.  
  1498. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> &#39;Exception caught while processing request, %s.&#39; % e)</pre></li>
  1499.  
  1500. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> return {}, error.json, 500</pre></li>
  1501.  
  1502. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> else:</pre></li>
  1503.  
  1504. </ol>
  1505.  
  1506. <ol start="64" class="context-line">
  1507. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre>
  1508. return f(endpoint, uri, *args, **kwargs)</pre> <span>...</span></li></ol>
  1509.  
  1510. <ol start='65' class="post-context" id="post140568542600776">
  1511.  
  1512. <li onclick="toggle('pre140568542600776', 'post140568542600776')"><pre> return wrapper</pre></li>
  1513.  
  1514. </ol>
  1515.  
  1516. </div>
  1517.  
  1518.  
  1519.  
  1520. <div class="commands">
  1521.  
  1522. <a href="#" onclick="return varToggle(this, '140568542600776')"><span>&#x25b6;</span> Local vars</a>
  1523.  
  1524. </div>
  1525. <table class="vars" id="v140568542600776">
  1526. <thead>
  1527. <tr>
  1528. <th>Variable</th>
  1529. <th>Value</th>
  1530. </tr>
  1531. </thead>
  1532. <tbody>
  1533.  
  1534. <tr>
  1535. <td>endpoint</td>
  1536. <td class="code"><pre>&lt;rest_framework_social_oauth2.oauth2_endpoints.SocialTokenServer object at 0x7fd8aafe9ba8&gt;</pre></td>
  1537. </tr>
  1538.  
  1539. <tr>
  1540. <td>kwargs</td>
  1541. <td class="code"><pre>{}</pre></td>
  1542. </tr>
  1543.  
  1544. <tr>
  1545. <td>args</td>
  1546. <td class="code"><pre>(&#39;POST&#39;,
  1547. &#39;token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&amp;client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&amp;backend=facebook&amp;grant_type=convert_token&amp;client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&#39;,
  1548. {&#39;Authorization&#39;: &#39;Basic &#39;
  1549. &#39;M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;,
  1550. &#39;CONTENT_LENGTH&#39;: &#39;491&#39;,
  1551. &#39;CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;,
  1552. &#39;DOCUMENT_ROOT&#39;: &#39;/usr/share/nginx/html&#39;,
  1553. &#39;HTTPS&#39;: &#39;on&#39;,
  1554. &#39;HTTP_ACCEPT&#39;: &#39;*/*&#39;,
  1555. &#39;HTTP_ACCEPT_ENCODING&#39;: &#39;gzip, deflate&#39;,
  1556. &#39;HTTP_ACCEPT_LANGUAGE&#39;: &#39;en-us&#39;,
  1557. &#39;HTTP_AUTHORIZATION&#39;: &#39;Basic &#39;
  1558. &#39;M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;,
  1559. &#39;HTTP_CONNECTION&#39;: &#39;keep-alive&#39;,
  1560. &#39;HTTP_CONTENT_LENGTH&#39;: &#39;491&#39;,
  1561. &#39;HTTP_CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;,
  1562. &#39;HTTP_HOST&#39;: &#39;api.ilistambassador.com&#39;,
  1563. &#39;HTTP_PROXY_CONNECTION&#39;: &#39;keep-alive&#39;,
  1564. &#39;HTTP_USER_AGENT&#39;: &#39;iList/19 CFNetwork/758.3.15 Darwin/15.5.0&#39;,
  1565. &#39;PATH_INFO&#39;: &#39;/api/o/convert-token/&#39;,
  1566. &#39;QUERY_STRING&#39;: &#39;&#39;,
  1567. &#39;REMOTE_ADDR&#39;: &#39;213.113.41.111&#39;,
  1568. &#39;REMOTE_PORT&#39;: &#39;47358&#39;,
  1569. &#39;REQUEST_METHOD&#39;: &#39;POST&#39;,
  1570. &#39;REQUEST_URI&#39;: &#39;/api/o/convert-token/&#39;,
  1571. &#39;SCRIPT_NAME&#39;: &#39;&#39;,
  1572. &#39;SERVER_NAME&#39;: &#39;api.ilistambassador.com&#39;,
  1573. &#39;SERVER_PORT&#39;: &#39;443&#39;,
  1574. &#39;SERVER_PROTOCOL&#39;: &#39;HTTP/1.1&#39;,
  1575. &#39;uwsgi.core&#39;: 0,
  1576. &#39;uwsgi.node&#39;: b&#39;ip-172-30-1-215&#39;,
  1577. &#39;uwsgi.version&#39;: b&#39;1.9.17.1-debian&#39;,
  1578. &#39;wsgi.file_wrapper&#39;: &lt;built-in function uwsgi_sendfile&gt;,
  1579. &#39;wsgi.multiprocess&#39;: True,
  1580. &#39;wsgi.multithread&#39;: True,
  1581. &#39;wsgi.run_once&#39;: False,
  1582. &#39;wsgi.url_scheme&#39;: &#39;https&#39;,
  1583. &#39;wsgi.version&#39;: (1, 0)},
  1584. None)</pre></td>
  1585. </tr>
  1586.  
  1587. <tr>
  1588. <td>f</td>
  1589. <td class="code"><pre>&lt;function SocialTokenServer.create_token_response at 0x7fd8ab0559d8&gt;</pre></td>
  1590. </tr>
  1591.  
  1592. <tr>
  1593. <td>uri</td>
  1594. <td class="code"><pre>&#39;/api/o/convert-token/&#39;</pre></td>
  1595. </tr>
  1596.  
  1597. </tbody>
  1598. </table>
  1599.  
  1600. </li>
  1601.  
  1602.  
  1603. <li class="frame user">
  1604. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/oauth2_endpoints.py</code> in <code>create_token_response</code>
  1605.  
  1606.  
  1607. <div class="context" id="c140568542599688">
  1608.  
  1609. <ol start="53" class="pre-context" id="pre140568542599688">
  1610.  
  1611. <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> request.extra_credentials = credentials</pre></li>
  1612.  
  1613. <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> request.django_request = django_request</pre></li>
  1614.  
  1615. <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> grant_type_handler = self.grant_types.get(request.grant_type,</pre></li>
  1616.  
  1617. <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> self.default_grant_type_handler)</pre></li>
  1618.  
  1619. <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> log.debug(&#39;Dispatching grant_type %s request to %r.&#39;,</pre></li>
  1620.  
  1621. <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> request.grant_type, grant_type_handler)</pre></li>
  1622.  
  1623. <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre> return grant_type_handler.create_token_response(</pre></li>
  1624.  
  1625. </ol>
  1626.  
  1627. <ol start="60" class="context-line">
  1628. <li onclick="toggle('pre140568542599688', 'post140568542599688')"><pre>
  1629. request, self.default_token_type)</pre> <span>...</span></li></ol>
  1630.  
  1631. </div>
  1632.  
  1633.  
  1634.  
  1635. <div class="commands">
  1636.  
  1637. <a href="#" onclick="return varToggle(this, '140568542599688')"><span>&#x25b6;</span> Local vars</a>
  1638.  
  1639. </div>
  1640. <table class="vars" id="v140568542599688">
  1641. <thead>
  1642. <tr>
  1643. <th>Variable</th>
  1644. <th>Value</th>
  1645. </tr>
  1646. </thead>
  1647. <tbody>
  1648.  
  1649. <tr>
  1650. <td>django_request</td>
  1651. <td class="code"><pre>&lt;WSGIRequest: POST &#39;/api/o/convert-token/&#39;&gt;</pre></td>
  1652. </tr>
  1653.  
  1654. <tr>
  1655. <td>self</td>
  1656. <td class="code"><pre>&lt;rest_framework_social_oauth2.oauth2_endpoints.SocialTokenServer object at 0x7fd8aafe9ba8&gt;</pre></td>
  1657. </tr>
  1658.  
  1659. <tr>
  1660. <td>http_method</td>
  1661. <td class="code"><pre>&#39;POST&#39;</pre></td>
  1662. </tr>
  1663.  
  1664. <tr>
  1665. <td>credentials</td>
  1666. <td class="code"><pre>None</pre></td>
  1667. </tr>
  1668.  
  1669. <tr>
  1670. <td>request</td>
  1671. <td class="code"><pre>&lt;oauthlib.Request url=&quot;/api/o/convert-token/&quot;, http_method=&quot;POST&quot;, headers=&quot;{&#39;HTTP_ACCEPT_ENCODING&#39;: &#39;gzip, deflate&#39;, &#39;SCRIPT_NAME&#39;: &#39;&#39;, &#39;REMOTE_PORT&#39;: &#39;47358&#39;, &#39;HTTP_CONTENT_LENGTH&#39;: &#39;491&#39;, &#39;wsgi.version&#39;: (1, 0), &#39;SERVER_NAME&#39;: &#39;api.ilistambassador.com&#39;, &#39;CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;, &#39;uwsgi.core&#39;: 0, &#39;REQUEST_METHOD&#39;: &#39;POST&#39;, &#39;SERVER_PROTOCOL&#39;: &#39;HTTP/1.1&#39;, &#39;REQUEST_URI&#39;: &#39;/api/o/convert-token/&#39;, &#39;wsgi.file_wrapper&#39;: &lt;built-in function uwsgi_sendfile&gt;, &#39;wsgi.multithread&#39;: True, &#39;HTTP_ACCEPT_LANGUAGE&#39;: &#39;en-us&#39;, &#39;QUERY_STRING&#39;: &#39;&#39;, &#39;SERVER_PORT&#39;: &#39;443&#39;, &#39;HTTPS&#39;: &#39;on&#39;, &#39;HTTP_ACCEPT&#39;: &#39;*/*&#39;, &#39;DOCUMENT_ROOT&#39;: &#39;/usr/share/nginx/html&#39;, &#39;wsgi.url_scheme&#39;: &#39;https&#39;, &#39;uwsgi.node&#39;: &#39;ip-172-30-1-215&#39;, &#39;uwsgi.version&#39;: &#39;1.9.17.1-debian&#39;, &#39;HTTP_USER_AGENT&#39;: &#39;iList/19 CFNetwork/758.3.15 Darwin/15.5.0&#39;, &#39;Authorization&#39;: &#39;Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;, &#39;wsgi.run_once&#39;: False, &#39;HTTP_AUTHORIZATION&#39;: &#39;Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;, &#39;HTTP_CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;, &#39;HTTP_CONNECTION&#39;: &#39;keep-alive&#39;, &#39;HTTP_PROXY_CONNECTION&#39;: &#39;keep-alive&#39;, &#39;CONTENT_LENGTH&#39;: &#39;491&#39;, &#39;PATH_INFO&#39;: &#39;/api/o/convert-token/&#39;, &#39;REMOTE_ADDR&#39;: &#39;213.113.41.111&#39;, &#39;wsgi.multiprocess&#39;: True, &#39;HTTP_HOST&#39;: &#39;api.ilistambassador.com&#39;}&quot;, body=&quot;token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&amp;client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&amp;backend=facebook&amp;grant_type=convert_token&amp;client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&quot;&gt;</pre></td>
  1672. </tr>
  1673.  
  1674. <tr>
  1675. <td>headers</td>
  1676. <td class="code"><pre>{&#39;Authorization&#39;: &#39;Basic &#39;
  1677. &#39;M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;,
  1678. &#39;CONTENT_LENGTH&#39;: &#39;491&#39;,
  1679. &#39;CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;,
  1680. &#39;DOCUMENT_ROOT&#39;: &#39;/usr/share/nginx/html&#39;,
  1681. &#39;HTTPS&#39;: &#39;on&#39;,
  1682. &#39;HTTP_ACCEPT&#39;: &#39;*/*&#39;,
  1683. &#39;HTTP_ACCEPT_ENCODING&#39;: &#39;gzip, deflate&#39;,
  1684. &#39;HTTP_ACCEPT_LANGUAGE&#39;: &#39;en-us&#39;,
  1685. &#39;HTTP_AUTHORIZATION&#39;: &#39;Basic &#39;
  1686. &#39;M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;,
  1687. &#39;HTTP_CONNECTION&#39;: &#39;keep-alive&#39;,
  1688. &#39;HTTP_CONTENT_LENGTH&#39;: &#39;491&#39;,
  1689. &#39;HTTP_CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;,
  1690. &#39;HTTP_HOST&#39;: &#39;api.ilistambassador.com&#39;,
  1691. &#39;HTTP_PROXY_CONNECTION&#39;: &#39;keep-alive&#39;,
  1692. &#39;HTTP_USER_AGENT&#39;: &#39;iList/19 CFNetwork/758.3.15 Darwin/15.5.0&#39;,
  1693. &#39;PATH_INFO&#39;: &#39;/api/o/convert-token/&#39;,
  1694. &#39;QUERY_STRING&#39;: &#39;&#39;,
  1695. &#39;REMOTE_ADDR&#39;: &#39;213.113.41.111&#39;,
  1696. &#39;REMOTE_PORT&#39;: &#39;47358&#39;,
  1697. &#39;REQUEST_METHOD&#39;: &#39;POST&#39;,
  1698. &#39;REQUEST_URI&#39;: &#39;/api/o/convert-token/&#39;,
  1699. &#39;SCRIPT_NAME&#39;: &#39;&#39;,
  1700. &#39;SERVER_NAME&#39;: &#39;api.ilistambassador.com&#39;,
  1701. &#39;SERVER_PORT&#39;: &#39;443&#39;,
  1702. &#39;SERVER_PROTOCOL&#39;: &#39;HTTP/1.1&#39;,
  1703. &#39;uwsgi.core&#39;: 0,
  1704. &#39;uwsgi.node&#39;: b&#39;ip-172-30-1-215&#39;,
  1705. &#39;uwsgi.version&#39;: b&#39;1.9.17.1-debian&#39;,
  1706. &#39;wsgi.file_wrapper&#39;: &lt;built-in function uwsgi_sendfile&gt;,
  1707. &#39;wsgi.multiprocess&#39;: True,
  1708. &#39;wsgi.multithread&#39;: True,
  1709. &#39;wsgi.run_once&#39;: False,
  1710. &#39;wsgi.url_scheme&#39;: &#39;https&#39;,
  1711. &#39;wsgi.version&#39;: (1, 0)}</pre></td>
  1712. </tr>
  1713.  
  1714. <tr>
  1715. <td>uri</td>
  1716. <td class="code"><pre>&#39;/api/o/convert-token/&#39;</pre></td>
  1717. </tr>
  1718.  
  1719. <tr>
  1720. <td>body</td>
  1721. <td class="code"><pre>&#39;token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&amp;client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&amp;backend=facebook&amp;grant_type=convert_token&amp;client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&#39;</pre></td>
  1722. </tr>
  1723.  
  1724. <tr>
  1725. <td>grant_type_handler</td>
  1726. <td class="code"><pre>&lt;rest_framework_social_oauth2.oauth2_grants.SocialTokenGrant object at 0x7fd8aafa1208&gt;</pre></td>
  1727. </tr>
  1728.  
  1729. </tbody>
  1730. </table>
  1731.  
  1732. </li>
  1733.  
  1734.  
  1735. <li class="frame user">
  1736. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/grant_types/refresh_token.py</code> in <code>create_token_response</code>
  1737.  
  1738.  
  1739. <div class="context" id="c140568542600712">
  1740.  
  1741. <ol start="51" class="pre-context" id="pre140568542600712">
  1742.  
  1743. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> headers = {</pre></li>
  1744.  
  1745. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> &#39;Content-Type&#39;: &#39;application/json&#39;,</pre></li>
  1746.  
  1747. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> &#39;Cache-Control&#39;: &#39;no-store&#39;,</pre></li>
  1748.  
  1749. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> &#39;Pragma&#39;: &#39;no-cache&#39;,</pre></li>
  1750.  
  1751. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> }</pre></li>
  1752.  
  1753. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> try:</pre></li>
  1754.  
  1755. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> log.debug(&#39;Validating refresh token request, %r.&#39;, request)</pre></li>
  1756.  
  1757. </ol>
  1758.  
  1759. <ol start="58" class="context-line">
  1760. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre>
  1761. self.validate_token_request(request)</pre> <span>...</span></li></ol>
  1762.  
  1763. <ol start='59' class="post-context" id="post140568542600712">
  1764.  
  1765. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> except errors.OAuth2Error as e:</pre></li>
  1766.  
  1767. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> return headers, e.json, e.status_code</pre></li>
  1768.  
  1769. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre></pre></li>
  1770.  
  1771. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> token = token_handler.create_token(request,</pre></li>
  1772.  
  1773. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> refresh_token=self.issue_new_refresh_tokens)</pre></li>
  1774.  
  1775. <li onclick="toggle('pre140568542600712', 'post140568542600712')"><pre> log.debug(&#39;Issuing new token to client id %r (%r), %r.&#39;,</pre></li>
  1776.  
  1777. </ol>
  1778.  
  1779. </div>
  1780.  
  1781.  
  1782.  
  1783. <div class="commands">
  1784.  
  1785. <a href="#" onclick="return varToggle(this, '140568542600712')"><span>&#x25b6;</span> Local vars</a>
  1786.  
  1787. </div>
  1788. <table class="vars" id="v140568542600712">
  1789. <thead>
  1790. <tr>
  1791. <th>Variable</th>
  1792. <th>Value</th>
  1793. </tr>
  1794. </thead>
  1795. <tbody>
  1796.  
  1797. <tr>
  1798. <td>request</td>
  1799. <td class="code"><pre>&lt;oauthlib.Request url=&quot;/api/o/convert-token/&quot;, http_method=&quot;POST&quot;, headers=&quot;{&#39;HTTP_ACCEPT_ENCODING&#39;: &#39;gzip, deflate&#39;, &#39;SCRIPT_NAME&#39;: &#39;&#39;, &#39;REMOTE_PORT&#39;: &#39;47358&#39;, &#39;HTTP_CONTENT_LENGTH&#39;: &#39;491&#39;, &#39;wsgi.version&#39;: (1, 0), &#39;SERVER_NAME&#39;: &#39;api.ilistambassador.com&#39;, &#39;CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;, &#39;uwsgi.core&#39;: 0, &#39;REQUEST_METHOD&#39;: &#39;POST&#39;, &#39;SERVER_PROTOCOL&#39;: &#39;HTTP/1.1&#39;, &#39;REQUEST_URI&#39;: &#39;/api/o/convert-token/&#39;, &#39;wsgi.file_wrapper&#39;: &lt;built-in function uwsgi_sendfile&gt;, &#39;wsgi.multithread&#39;: True, &#39;HTTP_ACCEPT_LANGUAGE&#39;: &#39;en-us&#39;, &#39;QUERY_STRING&#39;: &#39;&#39;, &#39;SERVER_PORT&#39;: &#39;443&#39;, &#39;HTTPS&#39;: &#39;on&#39;, &#39;HTTP_ACCEPT&#39;: &#39;*/*&#39;, &#39;DOCUMENT_ROOT&#39;: &#39;/usr/share/nginx/html&#39;, &#39;wsgi.url_scheme&#39;: &#39;https&#39;, &#39;uwsgi.node&#39;: &#39;ip-172-30-1-215&#39;, &#39;uwsgi.version&#39;: &#39;1.9.17.1-debian&#39;, &#39;HTTP_USER_AGENT&#39;: &#39;iList/19 CFNetwork/758.3.15 Darwin/15.5.0&#39;, &#39;Authorization&#39;: &#39;Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;, &#39;wsgi.run_once&#39;: False, &#39;HTTP_AUTHORIZATION&#39;: &#39;Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;, &#39;HTTP_CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;, &#39;HTTP_CONNECTION&#39;: &#39;keep-alive&#39;, &#39;HTTP_PROXY_CONNECTION&#39;: &#39;keep-alive&#39;, &#39;CONTENT_LENGTH&#39;: &#39;491&#39;, &#39;PATH_INFO&#39;: &#39;/api/o/convert-token/&#39;, &#39;REMOTE_ADDR&#39;: &#39;213.113.41.111&#39;, &#39;wsgi.multiprocess&#39;: True, &#39;HTTP_HOST&#39;: &#39;api.ilistambassador.com&#39;}&quot;, body=&quot;token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&amp;client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&amp;backend=facebook&amp;grant_type=convert_token&amp;client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&quot;&gt;</pre></td>
  1800. </tr>
  1801.  
  1802. <tr>
  1803. <td>headers</td>
  1804. <td class="code"><pre>{&#39;Cache-Control&#39;: &#39;no-store&#39;,
  1805. &#39;Content-Type&#39;: &#39;application/json&#39;,
  1806. &#39;Pragma&#39;: &#39;no-cache&#39;}</pre></td>
  1807. </tr>
  1808.  
  1809. <tr>
  1810. <td>token_handler</td>
  1811. <td class="code"><pre>&lt;oauthlib.oauth2.rfc6749.tokens.BearerToken object at 0x7fd8aafa1240&gt;</pre></td>
  1812. </tr>
  1813.  
  1814. <tr>
  1815. <td>self</td>
  1816. <td class="code"><pre>&lt;rest_framework_social_oauth2.oauth2_grants.SocialTokenGrant object at 0x7fd8aafa1208&gt;</pre></td>
  1817. </tr>
  1818.  
  1819. </tbody>
  1820. </table>
  1821.  
  1822. </li>
  1823.  
  1824.  
  1825. <li class="frame user">
  1826. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/oauth2_grants.py</code> in <code>validate_token_request</code>
  1827.  
  1828.  
  1829. <div class="context" id="c140568542600648">
  1830.  
  1831. <ol start="84" class="pre-context" id="pre140568542600648">
  1832.  
  1833. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> reverse(NAMESPACE + &quot;:complete&quot;, args=(request.backend,)))</pre></li>
  1834.  
  1835. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> except MissingBackend:</pre></li>
  1836.  
  1837. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> raise errors.InvalidRequestError(</pre></li>
  1838.  
  1839. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> description=&#39;Invalid backend parameter.&#39;,</pre></li>
  1840.  
  1841. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> request=request)</pre></li>
  1842.  
  1843. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre></pre></li>
  1844.  
  1845. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> try:</pre></li>
  1846.  
  1847. </ol>
  1848.  
  1849. <ol start="91" class="context-line">
  1850. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre>
  1851. user = backend.do_auth(access_token=request.token)</pre> <span>...</span></li></ol>
  1852.  
  1853. <ol start='92' class="post-context" id="post140568542600648">
  1854.  
  1855. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> except requests.HTTPError as e:</pre></li>
  1856.  
  1857. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> raise errors.InvalidRequestError(</pre></li>
  1858.  
  1859. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> description=&quot;Backend responded with HTTP{0}: {1}.&quot;.format(e.response.status_code,</pre></li>
  1860.  
  1861. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> e.response.text),</pre></li>
  1862.  
  1863. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre> request=request)</pre></li>
  1864.  
  1865. <li onclick="toggle('pre140568542600648', 'post140568542600648')"><pre></pre></li>
  1866.  
  1867. </ol>
  1868.  
  1869. </div>
  1870.  
  1871.  
  1872.  
  1873. <div class="commands">
  1874.  
  1875. <a href="#" onclick="return varToggle(this, '140568542600648')"><span>&#x25b6;</span> Local vars</a>
  1876.  
  1877. </div>
  1878. <table class="vars" id="v140568542600648">
  1879. <thead>
  1880. <tr>
  1881. <th>Variable</th>
  1882. <th>Value</th>
  1883. </tr>
  1884. </thead>
  1885. <tbody>
  1886.  
  1887. <tr>
  1888. <td>backend</td>
  1889. <td class="code"><pre>&lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;</pre></td>
  1890. </tr>
  1891.  
  1892. <tr>
  1893. <td>strategy</td>
  1894. <td class="code"><pre>&lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;</pre></td>
  1895. </tr>
  1896.  
  1897. <tr>
  1898. <td>self</td>
  1899. <td class="code"><pre>&lt;rest_framework_social_oauth2.oauth2_grants.SocialTokenGrant object at 0x7fd8aafa1208&gt;</pre></td>
  1900. </tr>
  1901.  
  1902. <tr>
  1903. <td>request</td>
  1904. <td class="code"><pre>&lt;oauthlib.Request url=&quot;/api/o/convert-token/&quot;, http_method=&quot;POST&quot;, headers=&quot;{&#39;HTTP_ACCEPT_ENCODING&#39;: &#39;gzip, deflate&#39;, &#39;SCRIPT_NAME&#39;: &#39;&#39;, &#39;REMOTE_PORT&#39;: &#39;47358&#39;, &#39;HTTP_CONTENT_LENGTH&#39;: &#39;491&#39;, &#39;wsgi.version&#39;: (1, 0), &#39;SERVER_NAME&#39;: &#39;api.ilistambassador.com&#39;, &#39;CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;, &#39;uwsgi.core&#39;: 0, &#39;REQUEST_METHOD&#39;: &#39;POST&#39;, &#39;SERVER_PROTOCOL&#39;: &#39;HTTP/1.1&#39;, &#39;REQUEST_URI&#39;: &#39;/api/o/convert-token/&#39;, &#39;wsgi.file_wrapper&#39;: &lt;built-in function uwsgi_sendfile&gt;, &#39;wsgi.multithread&#39;: True, &#39;HTTP_ACCEPT_LANGUAGE&#39;: &#39;en-us&#39;, &#39;QUERY_STRING&#39;: &#39;&#39;, &#39;SERVER_PORT&#39;: &#39;443&#39;, &#39;HTTPS&#39;: &#39;on&#39;, &#39;HTTP_ACCEPT&#39;: &#39;*/*&#39;, &#39;DOCUMENT_ROOT&#39;: &#39;/usr/share/nginx/html&#39;, &#39;wsgi.url_scheme&#39;: &#39;https&#39;, &#39;uwsgi.node&#39;: &#39;ip-172-30-1-215&#39;, &#39;uwsgi.version&#39;: &#39;1.9.17.1-debian&#39;, &#39;HTTP_USER_AGENT&#39;: &#39;iList/19 CFNetwork/758.3.15 Darwin/15.5.0&#39;, &#39;Authorization&#39;: &#39;Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;, &#39;wsgi.run_once&#39;: False, &#39;HTTP_AUTHORIZATION&#39;: &#39;Basic M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;, &#39;HTTP_CONTENT_TYPE&#39;: &#39;application/x-www-form-urlencoded&#39;, &#39;HTTP_CONNECTION&#39;: &#39;keep-alive&#39;, &#39;HTTP_PROXY_CONNECTION&#39;: &#39;keep-alive&#39;, &#39;CONTENT_LENGTH&#39;: &#39;491&#39;, &#39;PATH_INFO&#39;: &#39;/api/o/convert-token/&#39;, &#39;REMOTE_ADDR&#39;: &#39;213.113.41.111&#39;, &#39;wsgi.multiprocess&#39;: True, &#39;HTTP_HOST&#39;: &#39;api.ilistambassador.com&#39;}&quot;, body=&quot;token=EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&amp;client_secret=rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&amp;backend=facebook&amp;grant_type=convert_token&amp;client_id=3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&quot;&gt;</pre></td>
  1905. </tr>
  1906.  
  1907. </tbody>
  1908. </table>
  1909.  
  1910. </li>
  1911.  
  1912.  
  1913. <li class="frame user">
  1914. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/facebook.py</code> in <code>do_auth</code>
  1915.  
  1916.  
  1917. <div class="context" id="c140568542600584">
  1918.  
  1919. <ol start="112" class="pre-context" id="pre140568542600584">
  1920.  
  1921. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> raise AuthUnknownError(self, &#39;An error ocurred while retrieving &#39;</pre></li>
  1922.  
  1923. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> &#39;users Facebook data&#39;)</pre></li>
  1924.  
  1925. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre></pre></li>
  1926.  
  1927. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> data[&#39;access_token&#39;] = access_token</pre></li>
  1928.  
  1929. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> if &#39;expires&#39; in response:</pre></li>
  1930.  
  1931. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> data[&#39;expires&#39;] = response[&#39;expires&#39;]</pre></li>
  1932.  
  1933. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> kwargs.update({&#39;backend&#39;: self, &#39;response&#39;: data})</pre></li>
  1934.  
  1935. </ol>
  1936.  
  1937. <ol start="119" class="context-line">
  1938. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre>
  1939. return self.strategy.authenticate(*args, **kwargs)</pre> <span>...</span></li></ol>
  1940.  
  1941. <ol start='120' class="post-context" id="post140568542600584">
  1942.  
  1943. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre></pre></li>
  1944.  
  1945. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> def revoke_token_url(self, token, uid):</pre></li>
  1946.  
  1947. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> return self.REVOKE_TOKEN_URL.format(uid=uid)</pre></li>
  1948.  
  1949. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre></pre></li>
  1950.  
  1951. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> def revoke_token_params(self, token, uid):</pre></li>
  1952.  
  1953. <li onclick="toggle('pre140568542600584', 'post140568542600584')"><pre> return {&#39;access_token&#39;: token}</pre></li>
  1954.  
  1955. </ol>
  1956.  
  1957. </div>
  1958.  
  1959.  
  1960.  
  1961. <div class="commands">
  1962.  
  1963. <a href="#" onclick="return varToggle(this, '140568542600584')"><span>&#x25b6;</span> Local vars</a>
  1964.  
  1965. </div>
  1966. <table class="vars" id="v140568542600584">
  1967. <thead>
  1968. <tr>
  1969. <th>Variable</th>
  1970. <th>Value</th>
  1971. </tr>
  1972. </thead>
  1973. <tbody>
  1974.  
  1975. <tr>
  1976. <td>data</td>
  1977. <td class="code"><pre>{&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  1978. &#39;first_name&#39;: &#39;Johan&#39;,
  1979. &#39;gender&#39;: &#39;male&#39;,
  1980. &#39;id&#39;: &#39;101030617004550&#39;,
  1981. &#39;last_name&#39;: &#39;Viberg&#39;,
  1982. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  1983. &#39;locale&#39;: &#39;sv_SE&#39;,
  1984. &#39;name&#39;: &#39;Johan Viberg&#39;,
  1985. &#39;timezone&#39;: 2,
  1986. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  1987. &#39;verified&#39;: False}</pre></td>
  1988. </tr>
  1989.  
  1990. <tr>
  1991. <td>response</td>
  1992. <td class="code"><pre>{}</pre></td>
  1993. </tr>
  1994.  
  1995. <tr>
  1996. <td>self</td>
  1997. <td class="code"><pre>&lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;</pre></td>
  1998. </tr>
  1999.  
  2000. <tr>
  2001. <td>kwargs</td>
  2002. <td class="code"><pre>{&#39;backend&#39;: &lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;,
  2003. &#39;response&#39;: {&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  2004. &#39;first_name&#39;: &#39;Johan&#39;,
  2005. &#39;gender&#39;: &#39;male&#39;,
  2006. &#39;id&#39;: &#39;101030617004550&#39;,
  2007. &#39;last_name&#39;: &#39;Viberg&#39;,
  2008. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  2009. &#39;locale&#39;: &#39;sv_SE&#39;,
  2010. &#39;name&#39;: &#39;Johan Viberg&#39;,
  2011. &#39;timezone&#39;: 2,
  2012. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  2013. &#39;verified&#39;: False}}</pre></td>
  2014. </tr>
  2015.  
  2016. <tr>
  2017. <td>args</td>
  2018. <td class="code"><pre>()</pre></td>
  2019. </tr>
  2020.  
  2021. <tr>
  2022. <td>access_token</td>
  2023. <td class="code"><pre>&#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;</pre></td>
  2024. </tr>
  2025.  
  2026. </tbody>
  2027. </table>
  2028.  
  2029. </li>
  2030.  
  2031.  
  2032. <li class="frame user">
  2033. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/strategies/django_strategy.py</code> in <code>authenticate</code>
  2034.  
  2035.  
  2036. <div class="context" id="c140568542600520">
  2037.  
  2038. <ol start="89" class="pre-context" id="pre140568542600520">
  2039.  
  2040. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> template = loader.get_template_from_string(html)</pre></li>
  2041.  
  2042. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> return template.render(RequestContext(self.request, context))</pre></li>
  2043.  
  2044. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre></pre></li>
  2045.  
  2046. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> def authenticate(self, backend, *args, **kwargs):</pre></li>
  2047.  
  2048. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> kwargs[&#39;strategy&#39;] = self</pre></li>
  2049.  
  2050. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> kwargs[&#39;storage&#39;] = self.storage</pre></li>
  2051.  
  2052. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> kwargs[&#39;backend&#39;] = backend</pre></li>
  2053.  
  2054. </ol>
  2055.  
  2056. <ol start="96" class="context-line">
  2057. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre>
  2058. return authenticate(*args, **kwargs)</pre> <span>...</span></li></ol>
  2059.  
  2060. <ol start='97' class="post-context" id="post140568542600520">
  2061.  
  2062. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre></pre></li>
  2063.  
  2064. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> def session_get(self, name, default=None):</pre></li>
  2065.  
  2066. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> return self.session.get(name, default)</pre></li>
  2067.  
  2068. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre></pre></li>
  2069.  
  2070. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> def session_set(self, name, value):</pre></li>
  2071.  
  2072. <li onclick="toggle('pre140568542600520', 'post140568542600520')"><pre> self.session[name] = value</pre></li>
  2073.  
  2074. </ol>
  2075.  
  2076. </div>
  2077.  
  2078.  
  2079.  
  2080. <div class="commands">
  2081.  
  2082. <a href="#" onclick="return varToggle(this, '140568542600520')"><span>&#x25b6;</span> Local vars</a>
  2083.  
  2084. </div>
  2085. <table class="vars" id="v140568542600520">
  2086. <thead>
  2087. <tr>
  2088. <th>Variable</th>
  2089. <th>Value</th>
  2090. </tr>
  2091. </thead>
  2092. <tbody>
  2093.  
  2094. <tr>
  2095. <td>kwargs</td>
  2096. <td class="code"><pre>{&#39;backend&#39;: &lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;,
  2097. &#39;response&#39;: {&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  2098. &#39;first_name&#39;: &#39;Johan&#39;,
  2099. &#39;gender&#39;: &#39;male&#39;,
  2100. &#39;id&#39;: &#39;101030617004550&#39;,
  2101. &#39;last_name&#39;: &#39;Viberg&#39;,
  2102. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  2103. &#39;locale&#39;: &#39;sv_SE&#39;,
  2104. &#39;name&#39;: &#39;Johan Viberg&#39;,
  2105. &#39;timezone&#39;: 2,
  2106. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  2107. &#39;verified&#39;: False},
  2108. &#39;storage&#39;: &lt;class &#39;social.apps.django_app.default.models.DjangoStorage&#39;&gt;,
  2109. &#39;strategy&#39;: &lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;}</pre></td>
  2110. </tr>
  2111.  
  2112. <tr>
  2113. <td>args</td>
  2114. <td class="code"><pre>()</pre></td>
  2115. </tr>
  2116.  
  2117. <tr>
  2118. <td>backend</td>
  2119. <td class="code"><pre>&lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;</pre></td>
  2120. </tr>
  2121.  
  2122. <tr>
  2123. <td>self</td>
  2124. <td class="code"><pre>&lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;</pre></td>
  2125. </tr>
  2126.  
  2127. </tbody>
  2128. </table>
  2129.  
  2130. </li>
  2131.  
  2132.  
  2133. <li class="frame django">
  2134. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/contrib/auth/__init__.py</code> in <code>authenticate</code>
  2135.  
  2136.  
  2137. <div class="context" id="c140568542600456">
  2138.  
  2139. <ol start="67" class="pre-context" id="pre140568542600456">
  2140.  
  2141. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> try:</pre></li>
  2142.  
  2143. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> inspect.getcallargs(backend.authenticate, **credentials)</pre></li>
  2144.  
  2145. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> except TypeError:</pre></li>
  2146.  
  2147. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> # This backend doesn&#39;t accept these credentials as arguments. Try the next one.</pre></li>
  2148.  
  2149. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> continue</pre></li>
  2150.  
  2151. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre></pre></li>
  2152.  
  2153. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> try:</pre></li>
  2154.  
  2155. </ol>
  2156.  
  2157. <ol start="74" class="context-line">
  2158. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre>
  2159. user = backend.authenticate(**credentials)</pre> <span>...</span></li></ol>
  2160.  
  2161. <ol start='75' class="post-context" id="post140568542600456">
  2162.  
  2163. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> except PermissionDenied:</pre></li>
  2164.  
  2165. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> # This backend says to stop in our tracks - this user should not be allowed in at all.</pre></li>
  2166.  
  2167. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> return None</pre></li>
  2168.  
  2169. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> if user is None:</pre></li>
  2170.  
  2171. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> continue</pre></li>
  2172.  
  2173. <li onclick="toggle('pre140568542600456', 'post140568542600456')"><pre> # Annotate the user object with the path of the backend.</pre></li>
  2174.  
  2175. </ol>
  2176.  
  2177. </div>
  2178.  
  2179.  
  2180.  
  2181. <div class="commands">
  2182.  
  2183. <a href="#" onclick="return varToggle(this, '140568542600456')"><span>&#x25b6;</span> Local vars</a>
  2184.  
  2185. </div>
  2186. <table class="vars" id="v140568542600456">
  2187. <thead>
  2188. <tr>
  2189. <th>Variable</th>
  2190. <th>Value</th>
  2191. </tr>
  2192. </thead>
  2193. <tbody>
  2194.  
  2195. <tr>
  2196. <td>user</td>
  2197. <td class="code"><pre>None</pre></td>
  2198. </tr>
  2199.  
  2200. <tr>
  2201. <td>backend_path</td>
  2202. <td class="code"><pre>&#39;social.backends.facebook.FacebookOAuth2&#39;</pre></td>
  2203. </tr>
  2204.  
  2205. <tr>
  2206. <td>backend</td>
  2207. <td class="code"><pre>&lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aa0e6978&gt;</pre></td>
  2208. </tr>
  2209.  
  2210. <tr>
  2211. <td>credentials</td>
  2212. <td class="code"><pre>{&#39;backend&#39;: &lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;,
  2213. &#39;response&#39;: {&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  2214. &#39;first_name&#39;: &#39;Johan&#39;,
  2215. &#39;gender&#39;: &#39;male&#39;,
  2216. &#39;id&#39;: &#39;101030617004550&#39;,
  2217. &#39;last_name&#39;: &#39;Viberg&#39;,
  2218. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  2219. &#39;locale&#39;: &#39;sv_SE&#39;,
  2220. &#39;name&#39;: &#39;Johan Viberg&#39;,
  2221. &#39;timezone&#39;: 2,
  2222. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  2223. &#39;verified&#39;: False},
  2224. &#39;storage&#39;: &lt;class &#39;social.apps.django_app.default.models.DjangoStorage&#39;&gt;,
  2225. &#39;strategy&#39;: &lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;}</pre></td>
  2226. </tr>
  2227.  
  2228. </tbody>
  2229. </table>
  2230.  
  2231. </li>
  2232.  
  2233.  
  2234. <li class="frame user">
  2235. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py</code> in <code>authenticate</code>
  2236.  
  2237.  
  2238. <div class="context" id="c140568542600392">
  2239.  
  2240. <ol start="75" class="pre-context" id="pre140568542600392">
  2241.  
  2242. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> self.strategy = self.strategy or kwargs.get(&#39;strategy&#39;)</pre></li>
  2243.  
  2244. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> self.redirect_uri = self.redirect_uri or kwargs.get(&#39;redirect_uri&#39;)</pre></li>
  2245.  
  2246. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> self.data = self.strategy.request_data()</pre></li>
  2247.  
  2248. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> pipeline = self.strategy.get_pipeline()</pre></li>
  2249.  
  2250. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> kwargs.setdefault(&#39;is_new&#39;, False)</pre></li>
  2251.  
  2252. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> if &#39;pipeline_index&#39; in kwargs:</pre></li>
  2253.  
  2254. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> pipeline = pipeline[kwargs[&#39;pipeline_index&#39;]:]</pre></li>
  2255.  
  2256. </ol>
  2257.  
  2258. <ol start="82" class="context-line">
  2259. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre>
  2260. return self.pipeline(pipeline, *args, **kwargs)</pre> <span>...</span></li></ol>
  2261.  
  2262. <ol start='83' class="post-context" id="post140568542600392">
  2263.  
  2264. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre></pre></li>
  2265.  
  2266. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> def pipeline(self, pipeline, pipeline_index=0, *args, **kwargs):</pre></li>
  2267.  
  2268. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)</pre></li>
  2269.  
  2270. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> if not isinstance(out, dict):</pre></li>
  2271.  
  2272. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> return out</pre></li>
  2273.  
  2274. <li onclick="toggle('pre140568542600392', 'post140568542600392')"><pre> user = out.get(&#39;user&#39;)</pre></li>
  2275.  
  2276. </ol>
  2277.  
  2278. </div>
  2279.  
  2280.  
  2281.  
  2282. <div class="commands">
  2283.  
  2284. <a href="#" onclick="return varToggle(this, '140568542600392')"><span>&#x25b6;</span> Local vars</a>
  2285.  
  2286. </div>
  2287. <table class="vars" id="v140568542600392">
  2288. <thead>
  2289. <tr>
  2290. <th>Variable</th>
  2291. <th>Value</th>
  2292. </tr>
  2293. </thead>
  2294. <tbody>
  2295.  
  2296. <tr>
  2297. <td>kwargs</td>
  2298. <td class="code"><pre>{&#39;backend&#39;: &lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;,
  2299. &#39;is_new&#39;: False,
  2300. &#39;response&#39;: {&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  2301. &#39;first_name&#39;: &#39;Johan&#39;,
  2302. &#39;gender&#39;: &#39;male&#39;,
  2303. &#39;id&#39;: &#39;101030617004550&#39;,
  2304. &#39;last_name&#39;: &#39;Viberg&#39;,
  2305. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  2306. &#39;locale&#39;: &#39;sv_SE&#39;,
  2307. &#39;name&#39;: &#39;Johan Viberg&#39;,
  2308. &#39;timezone&#39;: 2,
  2309. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  2310. &#39;verified&#39;: False},
  2311. &#39;storage&#39;: &lt;class &#39;social.apps.django_app.default.models.DjangoStorage&#39;&gt;,
  2312. &#39;strategy&#39;: &lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;}</pre></td>
  2313. </tr>
  2314.  
  2315. <tr>
  2316. <td>args</td>
  2317. <td class="code"><pre>()</pre></td>
  2318. </tr>
  2319.  
  2320. <tr>
  2321. <td>pipeline</td>
  2322. <td class="code"><pre>(&#39;social.pipeline.social_auth.social_details&#39;,
  2323. &#39;social.pipeline.social_auth.social_uid&#39;,
  2324. &#39;social.pipeline.social_auth.auth_allowed&#39;,
  2325. &#39;social.pipeline.social_auth.social_user&#39;,
  2326. &#39;social.pipeline.user.get_username&#39;,
  2327. &#39;social.pipeline.user.create_user&#39;,
  2328. &#39;social.pipeline.social_auth.associate_user&#39;,
  2329. &#39;social.pipeline.social_auth.load_extra_data&#39;,
  2330. &#39;social.pipeline.user.user_details&#39;)</pre></td>
  2331. </tr>
  2332.  
  2333. <tr>
  2334. <td>self</td>
  2335. <td class="code"><pre>&lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aa0e6978&gt;</pre></td>
  2336. </tr>
  2337.  
  2338. </tbody>
  2339. </table>
  2340.  
  2341. </li>
  2342.  
  2343.  
  2344. <li class="frame user">
  2345. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py</code> in <code>pipeline</code>
  2346.  
  2347.  
  2348. <div class="context" id="c140568542600328">
  2349.  
  2350. <ol start="78" class="pre-context" id="pre140568542600328">
  2351.  
  2352. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> pipeline = self.strategy.get_pipeline()</pre></li>
  2353.  
  2354. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> kwargs.setdefault(&#39;is_new&#39;, False)</pre></li>
  2355.  
  2356. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> if &#39;pipeline_index&#39; in kwargs:</pre></li>
  2357.  
  2358. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> pipeline = pipeline[kwargs[&#39;pipeline_index&#39;]:]</pre></li>
  2359.  
  2360. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> return self.pipeline(pipeline, *args, **kwargs)</pre></li>
  2361.  
  2362. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre></pre></li>
  2363.  
  2364. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> def pipeline(self, pipeline, pipeline_index=0, *args, **kwargs):</pre></li>
  2365.  
  2366. </ol>
  2367.  
  2368. <ol start="85" class="context-line">
  2369. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre>
  2370. out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)</pre> <span>...</span></li></ol>
  2371.  
  2372. <ol start='86' class="post-context" id="post140568542600328">
  2373.  
  2374. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> if not isinstance(out, dict):</pre></li>
  2375.  
  2376. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> return out</pre></li>
  2377.  
  2378. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> user = out.get(&#39;user&#39;)</pre></li>
  2379.  
  2380. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> if user:</pre></li>
  2381.  
  2382. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> user.social_user = out.get(&#39;social&#39;)</pre></li>
  2383.  
  2384. <li onclick="toggle('pre140568542600328', 'post140568542600328')"><pre> user.is_new = out.get(&#39;is_new&#39;)</pre></li>
  2385.  
  2386. </ol>
  2387.  
  2388. </div>
  2389.  
  2390.  
  2391.  
  2392. <div class="commands">
  2393.  
  2394. <a href="#" onclick="return varToggle(this, '140568542600328')"><span>&#x25b6;</span> Local vars</a>
  2395.  
  2396. </div>
  2397. <table class="vars" id="v140568542600328">
  2398. <thead>
  2399. <tr>
  2400. <th>Variable</th>
  2401. <th>Value</th>
  2402. </tr>
  2403. </thead>
  2404. <tbody>
  2405.  
  2406. <tr>
  2407. <td>pipeline_index</td>
  2408. <td class="code"><pre>0</pre></td>
  2409. </tr>
  2410.  
  2411. <tr>
  2412. <td>kwargs</td>
  2413. <td class="code"><pre>{&#39;backend&#39;: &lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;,
  2414. &#39;is_new&#39;: False,
  2415. &#39;response&#39;: {&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  2416. &#39;first_name&#39;: &#39;Johan&#39;,
  2417. &#39;gender&#39;: &#39;male&#39;,
  2418. &#39;id&#39;: &#39;101030617004550&#39;,
  2419. &#39;last_name&#39;: &#39;Viberg&#39;,
  2420. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  2421. &#39;locale&#39;: &#39;sv_SE&#39;,
  2422. &#39;name&#39;: &#39;Johan Viberg&#39;,
  2423. &#39;timezone&#39;: 2,
  2424. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  2425. &#39;verified&#39;: False},
  2426. &#39;storage&#39;: &lt;class &#39;social.apps.django_app.default.models.DjangoStorage&#39;&gt;,
  2427. &#39;strategy&#39;: &lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;}</pre></td>
  2428. </tr>
  2429.  
  2430. <tr>
  2431. <td>args</td>
  2432. <td class="code"><pre>()</pre></td>
  2433. </tr>
  2434.  
  2435. <tr>
  2436. <td>pipeline</td>
  2437. <td class="code"><pre>(&#39;social.pipeline.social_auth.social_details&#39;,
  2438. &#39;social.pipeline.social_auth.social_uid&#39;,
  2439. &#39;social.pipeline.social_auth.auth_allowed&#39;,
  2440. &#39;social.pipeline.social_auth.social_user&#39;,
  2441. &#39;social.pipeline.user.get_username&#39;,
  2442. &#39;social.pipeline.user.create_user&#39;,
  2443. &#39;social.pipeline.social_auth.associate_user&#39;,
  2444. &#39;social.pipeline.social_auth.load_extra_data&#39;,
  2445. &#39;social.pipeline.user.user_details&#39;)</pre></td>
  2446. </tr>
  2447.  
  2448. <tr>
  2449. <td>self</td>
  2450. <td class="code"><pre>&lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aa0e6978&gt;</pre></td>
  2451. </tr>
  2452.  
  2453. </tbody>
  2454. </table>
  2455.  
  2456. </li>
  2457.  
  2458.  
  2459. <li class="frame user">
  2460. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py</code> in <code>run_pipeline</code>
  2461.  
  2462.  
  2463. <div class="context" id="c140568542600264">
  2464.  
  2465. <ol start="105" class="pre-context" id="pre140568542600264">
  2466.  
  2467. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out.setdefault(&#39;backend&#39;, out.pop(self.name, None) or self)</pre></li>
  2468.  
  2469. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out.setdefault(&#39;request&#39;, self.strategy.request_data())</pre></li>
  2470.  
  2471. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out.setdefault(&#39;details&#39;, {})</pre></li>
  2472.  
  2473. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre></pre></li>
  2474.  
  2475. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> for idx, name in enumerate(pipeline):</pre></li>
  2476.  
  2477. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out[&#39;pipeline_index&#39;] = pipeline_index + idx</pre></li>
  2478.  
  2479. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> func = module_member(name)</pre></li>
  2480.  
  2481. </ol>
  2482.  
  2483. <ol start="112" class="context-line">
  2484. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre>
  2485. result = func(*args, **out) or {}</pre> <span>...</span></li></ol>
  2486.  
  2487. <ol start='113' class="post-context" id="post140568542600264">
  2488.  
  2489. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> if not isinstance(result, dict):</pre></li>
  2490.  
  2491. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> return result</pre></li>
  2492.  
  2493. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> out.update(result)</pre></li>
  2494.  
  2495. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> self.strategy.clean_partial_pipeline()</pre></li>
  2496.  
  2497. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre> return out</pre></li>
  2498.  
  2499. <li onclick="toggle('pre140568542600264', 'post140568542600264')"><pre></pre></li>
  2500.  
  2501. </ol>
  2502.  
  2503. </div>
  2504.  
  2505.  
  2506.  
  2507. <div class="commands">
  2508.  
  2509. <a href="#" onclick="return varToggle(this, '140568542600264')"><span>&#x25b6;</span> Local vars</a>
  2510.  
  2511. </div>
  2512. <table class="vars" id="v140568542600264">
  2513. <thead>
  2514. <tr>
  2515. <th>Variable</th>
  2516. <th>Value</th>
  2517. </tr>
  2518. </thead>
  2519. <tbody>
  2520.  
  2521. <tr>
  2522. <td>pipeline</td>
  2523. <td class="code"><pre>(&#39;social.pipeline.social_auth.social_details&#39;,
  2524. &#39;social.pipeline.social_auth.social_uid&#39;,
  2525. &#39;social.pipeline.social_auth.auth_allowed&#39;,
  2526. &#39;social.pipeline.social_auth.social_user&#39;,
  2527. &#39;social.pipeline.user.get_username&#39;,
  2528. &#39;social.pipeline.user.create_user&#39;,
  2529. &#39;social.pipeline.social_auth.associate_user&#39;,
  2530. &#39;social.pipeline.social_auth.load_extra_data&#39;,
  2531. &#39;social.pipeline.user.user_details&#39;)</pre></td>
  2532. </tr>
  2533.  
  2534. <tr>
  2535. <td>pipeline_index</td>
  2536. <td class="code"><pre>0</pre></td>
  2537. </tr>
  2538.  
  2539. <tr>
  2540. <td>self</td>
  2541. <td class="code"><pre>&lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aa0e6978&gt;</pre></td>
  2542. </tr>
  2543.  
  2544. <tr>
  2545. <td>result</td>
  2546. <td class="code"><pre>{&#39;username&#39;: &#39;JohanViberg&#39;}</pre></td>
  2547. </tr>
  2548.  
  2549. <tr>
  2550. <td>out</td>
  2551. <td class="code"><pre>{&#39;backend&#39;: &lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;,
  2552. &#39;details&#39;: {&#39;email&#39;: &#39;&#39;,
  2553. &#39;first_name&#39;: &#39;Johan&#39;,
  2554. &#39;fullname&#39;: &#39;Johan Viberg&#39;,
  2555. &#39;last_name&#39;: &#39;Viberg&#39;,
  2556. &#39;username&#39;: &#39;Johan Viberg&#39;},
  2557. &#39;is_new&#39;: True,
  2558. &#39;new_association&#39;: False,
  2559. &#39;pipeline_index&#39;: 5,
  2560. &#39;request&#39;: {&#39;backend&#39;: &#39;facebook&#39;,
  2561. &#39;client_id&#39;: &#39;3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&#39;,
  2562. &#39;client_secret&#39;: &#39;rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&#39;,
  2563. &#39;grant_type&#39;: &#39;convert_token&#39;,
  2564. &#39;token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;},
  2565. &#39;response&#39;: {&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  2566. &#39;first_name&#39;: &#39;Johan&#39;,
  2567. &#39;gender&#39;: &#39;male&#39;,
  2568. &#39;id&#39;: &#39;101030617004550&#39;,
  2569. &#39;last_name&#39;: &#39;Viberg&#39;,
  2570. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  2571. &#39;locale&#39;: &#39;sv_SE&#39;,
  2572. &#39;name&#39;: &#39;Johan Viberg&#39;,
  2573. &#39;timezone&#39;: 2,
  2574. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  2575. &#39;verified&#39;: False},
  2576. &#39;social&#39;: None,
  2577. &#39;storage&#39;: &lt;class &#39;social.apps.django_app.default.models.DjangoStorage&#39;&gt;,
  2578. &#39;strategy&#39;: &lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;,
  2579. &#39;uid&#39;: &#39;101030617004550&#39;,
  2580. &#39;user&#39;: None,
  2581. &#39;username&#39;: &#39;JohanViberg&#39;}</pre></td>
  2582. </tr>
  2583.  
  2584. <tr>
  2585. <td>idx</td>
  2586. <td class="code"><pre>5</pre></td>
  2587. </tr>
  2588.  
  2589. <tr>
  2590. <td>kwargs</td>
  2591. <td class="code"><pre>{&#39;backend&#39;: &lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;,
  2592. &#39;is_new&#39;: False,
  2593. &#39;response&#39;: {&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  2594. &#39;first_name&#39;: &#39;Johan&#39;,
  2595. &#39;gender&#39;: &#39;male&#39;,
  2596. &#39;id&#39;: &#39;101030617004550&#39;,
  2597. &#39;last_name&#39;: &#39;Viberg&#39;,
  2598. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  2599. &#39;locale&#39;: &#39;sv_SE&#39;,
  2600. &#39;name&#39;: &#39;Johan Viberg&#39;,
  2601. &#39;timezone&#39;: 2,
  2602. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  2603. &#39;verified&#39;: False},
  2604. &#39;storage&#39;: &lt;class &#39;social.apps.django_app.default.models.DjangoStorage&#39;&gt;,
  2605. &#39;strategy&#39;: &lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;}</pre></td>
  2606. </tr>
  2607.  
  2608. <tr>
  2609. <td>args</td>
  2610. <td class="code"><pre>()</pre></td>
  2611. </tr>
  2612.  
  2613. <tr>
  2614. <td>name</td>
  2615. <td class="code"><pre>&#39;social.pipeline.user.create_user&#39;</pre></td>
  2616. </tr>
  2617.  
  2618. <tr>
  2619. <td>func</td>
  2620. <td class="code"><pre>&lt;function create_user at 0x7fd8aa0aaf28&gt;</pre></td>
  2621. </tr>
  2622.  
  2623. </tbody>
  2624. </table>
  2625.  
  2626. </li>
  2627.  
  2628.  
  2629. <li class="frame user">
  2630. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/pipeline/user.py</code> in <code>create_user</code>
  2631.  
  2632.  
  2633. <div class="context" id="c140568542600200">
  2634.  
  2635. <ol start="62" class="pre-context" id="pre140568542600200">
  2636.  
  2637. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> fields = dict((name, kwargs.get(name, details.get(name)))</pre></li>
  2638.  
  2639. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> for name in strategy.setting(&#39;USER_FIELDS&#39;, USER_FIELDS))</pre></li>
  2640.  
  2641. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> if not fields:</pre></li>
  2642.  
  2643. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> return</pre></li>
  2644.  
  2645. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre></pre></li>
  2646.  
  2647. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> return {</pre></li>
  2648.  
  2649. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> &#39;is_new&#39;: True,</pre></li>
  2650.  
  2651. </ol>
  2652.  
  2653. <ol start="69" class="context-line">
  2654. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre>
  2655. &#39;user&#39;: strategy.create_user(**fields)</pre> <span>...</span></li></ol>
  2656.  
  2657. <ol start='70' class="post-context" id="post140568542600200">
  2658.  
  2659. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> }</pre></li>
  2660.  
  2661. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre></pre></li>
  2662.  
  2663. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre></pre></li>
  2664.  
  2665. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre>def user_details(strategy, details, user=None, *args, **kwargs):</pre></li>
  2666.  
  2667. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> &quot;&quot;&quot;Update user details using data from provider.&quot;&quot;&quot;</pre></li>
  2668.  
  2669. <li onclick="toggle('pre140568542600200', 'post140568542600200')"><pre> if user:</pre></li>
  2670.  
  2671. </ol>
  2672.  
  2673. </div>
  2674.  
  2675.  
  2676.  
  2677. <div class="commands">
  2678.  
  2679. <a href="#" onclick="return varToggle(this, '140568542600200')"><span>&#x25b6;</span> Local vars</a>
  2680.  
  2681. </div>
  2682. <table class="vars" id="v140568542600200">
  2683. <thead>
  2684. <tr>
  2685. <th>Variable</th>
  2686. <th>Value</th>
  2687. </tr>
  2688. </thead>
  2689. <tbody>
  2690.  
  2691. <tr>
  2692. <td>user</td>
  2693. <td class="code"><pre>None</pre></td>
  2694. </tr>
  2695.  
  2696. <tr>
  2697. <td>strategy</td>
  2698. <td class="code"><pre>&lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;</pre></td>
  2699. </tr>
  2700.  
  2701. <tr>
  2702. <td>fields</td>
  2703. <td class="code"><pre>{&#39;email&#39;: &#39;&#39;, &#39;username&#39;: &#39;JohanViberg&#39;}</pre></td>
  2704. </tr>
  2705.  
  2706. <tr>
  2707. <td>details</td>
  2708. <td class="code"><pre>{&#39;email&#39;: &#39;&#39;,
  2709. &#39;first_name&#39;: &#39;Johan&#39;,
  2710. &#39;fullname&#39;: &#39;Johan Viberg&#39;,
  2711. &#39;last_name&#39;: &#39;Viberg&#39;,
  2712. &#39;username&#39;: &#39;Johan Viberg&#39;}</pre></td>
  2713. </tr>
  2714.  
  2715. <tr>
  2716. <td>kwargs</td>
  2717. <td class="code"><pre>{&#39;backend&#39;: &lt;social.backends.facebook.FacebookOAuth2 object at 0x7fd8aafb6860&gt;,
  2718. &#39;is_new&#39;: True,
  2719. &#39;new_association&#39;: False,
  2720. &#39;pipeline_index&#39;: 5,
  2721. &#39;request&#39;: {&#39;backend&#39;: &#39;facebook&#39;,
  2722. &#39;client_id&#39;: &#39;3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&#39;,
  2723. &#39;client_secret&#39;: &#39;rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&#39;,
  2724. &#39;grant_type&#39;: &#39;convert_token&#39;,
  2725. &#39;token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;},
  2726. &#39;response&#39;: {&#39;access_token&#39;: &#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;,
  2727. &#39;first_name&#39;: &#39;Johan&#39;,
  2728. &#39;gender&#39;: &#39;male&#39;,
  2729. &#39;id&#39;: &#39;101030617004550&#39;,
  2730. &#39;last_name&#39;: &#39;Viberg&#39;,
  2731. &#39;link&#39;: &#39;https://www.facebook.com/app_scoped_user_id/101030617004550/&#39;,
  2732. &#39;locale&#39;: &#39;sv_SE&#39;,
  2733. &#39;name&#39;: &#39;Johan Viberg&#39;,
  2734. &#39;timezone&#39;: 2,
  2735. &#39;updated_time&#39;: &#39;2016-07-16T07:29:41+0000&#39;,
  2736. &#39;verified&#39;: False},
  2737. &#39;social&#39;: None,
  2738. &#39;storage&#39;: &lt;class &#39;social.apps.django_app.default.models.DjangoStorage&#39;&gt;,
  2739. &#39;uid&#39;: &#39;101030617004550&#39;,
  2740. &#39;username&#39;: &#39;JohanViberg&#39;}</pre></td>
  2741. </tr>
  2742.  
  2743. <tr>
  2744. <td>args</td>
  2745. <td class="code"><pre>()</pre></td>
  2746. </tr>
  2747.  
  2748. </tbody>
  2749. </table>
  2750.  
  2751. </li>
  2752.  
  2753.  
  2754. <li class="frame user">
  2755. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/strategies/base.py</code> in <code>create_user</code>
  2756.  
  2757.  
  2758. <div class="context" id="c140568542599944">
  2759.  
  2760. <ol start="46" class="pre-context" id="pre140568542599944">
  2761.  
  2762. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> try:</pre></li>
  2763.  
  2764. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> return self.get_setting(name)</pre></li>
  2765.  
  2766. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> except (AttributeError, KeyError):</pre></li>
  2767.  
  2768. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> pass</pre></li>
  2769.  
  2770. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> return default</pre></li>
  2771.  
  2772. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre></pre></li>
  2773.  
  2774. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> def create_user(self, *args, **kwargs):</pre></li>
  2775.  
  2776. </ol>
  2777.  
  2778. <ol start="53" class="context-line">
  2779. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre>
  2780. return self.storage.user.create_user(*args, **kwargs)</pre> <span>...</span></li></ol>
  2781.  
  2782. <ol start='54' class="post-context" id="post140568542599944">
  2783.  
  2784. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre></pre></li>
  2785.  
  2786. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> def get_user(self, *args, **kwargs):</pre></li>
  2787.  
  2788. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> return self.storage.user.get_user(*args, **kwargs)</pre></li>
  2789.  
  2790. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre></pre></li>
  2791.  
  2792. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> def session_setdefault(self, name, value):</pre></li>
  2793.  
  2794. <li onclick="toggle('pre140568542599944', 'post140568542599944')"><pre> self.session_set(name, value)</pre></li>
  2795.  
  2796. </ol>
  2797.  
  2798. </div>
  2799.  
  2800.  
  2801.  
  2802. <div class="commands">
  2803.  
  2804. <a href="#" onclick="return varToggle(this, '140568542599944')"><span>&#x25b6;</span> Local vars</a>
  2805.  
  2806. </div>
  2807. <table class="vars" id="v140568542599944">
  2808. <thead>
  2809. <tr>
  2810. <th>Variable</th>
  2811. <th>Value</th>
  2812. </tr>
  2813. </thead>
  2814. <tbody>
  2815.  
  2816. <tr>
  2817. <td>kwargs</td>
  2818. <td class="code"><pre>{&#39;email&#39;: &#39;&#39;, &#39;username&#39;: &#39;JohanViberg&#39;}</pre></td>
  2819. </tr>
  2820.  
  2821. <tr>
  2822. <td>args</td>
  2823. <td class="code"><pre>()</pre></td>
  2824. </tr>
  2825.  
  2826. <tr>
  2827. <td>self</td>
  2828. <td class="code"><pre>&lt;social.strategies.django_strategy.DjangoStrategy object at 0x7fd8aafa1d30&gt;</pre></td>
  2829. </tr>
  2830.  
  2831. </tbody>
  2832. </table>
  2833.  
  2834. </li>
  2835.  
  2836.  
  2837. <li class="frame user">
  2838. <code>/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/storage/django_orm.py</code> in <code>create_user</code>
  2839.  
  2840.  
  2841. <div class="context" id="c140568542599816">
  2842.  
  2843. <ol start="53" class="pre-context" id="pre140568542599816">
  2844.  
  2845. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> return getattr(user, cls.username_field(), None)</pre></li>
  2846.  
  2847. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre></pre></li>
  2848.  
  2849. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> @classmethod</pre></li>
  2850.  
  2851. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> def create_user(cls, *args, **kwargs):</pre></li>
  2852.  
  2853. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> username_field = cls.username_field()</pre></li>
  2854.  
  2855. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> if &#39;username&#39; in kwargs and username_field not in kwargs:</pre></li>
  2856.  
  2857. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> kwargs[username_field] = kwargs.pop(&#39;username&#39;)</pre></li>
  2858.  
  2859. </ol>
  2860.  
  2861. <ol start="60" class="context-line">
  2862. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre>
  2863. return cls.user_model().objects.create_user(*args, **kwargs)</pre> <span>...</span></li></ol>
  2864.  
  2865. <ol start='61' class="post-context" id="post140568542599816">
  2866.  
  2867. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre></pre></li>
  2868.  
  2869. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> @classmethod</pre></li>
  2870.  
  2871. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> def get_user(cls, pk=None, **kwargs):</pre></li>
  2872.  
  2873. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> if pk:</pre></li>
  2874.  
  2875. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> kwargs = {&#39;pk&#39;: pk}</pre></li>
  2876.  
  2877. <li onclick="toggle('pre140568542599816', 'post140568542599816')"><pre> try:</pre></li>
  2878.  
  2879. </ol>
  2880.  
  2881. </div>
  2882.  
  2883.  
  2884.  
  2885. <div class="commands">
  2886.  
  2887. <a href="#" onclick="return varToggle(this, '140568542599816')"><span>&#x25b6;</span> Local vars</a>
  2888.  
  2889. </div>
  2890. <table class="vars" id="v140568542599816">
  2891. <thead>
  2892. <tr>
  2893. <th>Variable</th>
  2894. <th>Value</th>
  2895. </tr>
  2896. </thead>
  2897. <tbody>
  2898.  
  2899. <tr>
  2900. <td>username_field</td>
  2901. <td class="code"><pre>&#39;email&#39;</pre></td>
  2902. </tr>
  2903.  
  2904. <tr>
  2905. <td>kwargs</td>
  2906. <td class="code"><pre>{&#39;email&#39;: &#39;&#39;, &#39;username&#39;: &#39;JohanViberg&#39;}</pre></td>
  2907. </tr>
  2908.  
  2909. <tr>
  2910. <td>args</td>
  2911. <td class="code"><pre>()</pre></td>
  2912. </tr>
  2913.  
  2914. <tr>
  2915. <td>cls</td>
  2916. <td class="code"><pre>&lt;class &#39;social.apps.django_app.default.models.UserSocialAuth&#39;&gt;</pre></td>
  2917. </tr>
  2918.  
  2919. </tbody>
  2920. </table>
  2921.  
  2922. </li>
  2923.  
  2924.  
  2925. <li class="frame user">
  2926. <code>./app/base.py</code> in <code>create_user</code>
  2927.  
  2928.  
  2929. <div class="context" id="c140568542599752">
  2930.  
  2931. <ol start="3" class="pre-context" id="pre140568542599752">
  2932.  
  2933. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre>from django.db import models</pre></li>
  2934.  
  2935. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre></pre></li>
  2936.  
  2937. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre></pre></li>
  2938.  
  2939. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre></pre></li>
  2940.  
  2941. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre>class AuthUserManager(BaseUserManager):</pre></li>
  2942.  
  2943. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> def create_user(self, email, username=None, password=None):</pre></li>
  2944.  
  2945. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> if not email:</pre></li>
  2946.  
  2947. </ol>
  2948.  
  2949. <ol start="10" class="context-line">
  2950. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre>
  2951. raise ValueError(&quot;Email required&quot;)</pre> <span>...</span></li></ol>
  2952.  
  2953. <ol start='11' class="post-context" id="post140568542599752">
  2954.  
  2955. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> user = self.model(email=self.normalize_email(email))</pre></li>
  2956.  
  2957. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> user.is_active = True</pre></li>
  2958.  
  2959. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> user.set_password(password)</pre></li>
  2960.  
  2961. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> user.save(using=self._db)</pre></li>
  2962.  
  2963. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre> return user</pre></li>
  2964.  
  2965. <li onclick="toggle('pre140568542599752', 'post140568542599752')"><pre></pre></li>
  2966.  
  2967. </ol>
  2968.  
  2969. </div>
  2970.  
  2971.  
  2972.  
  2973. <div class="commands">
  2974.  
  2975. <a href="#" onclick="return varToggle(this, '140568542599752')"><span>&#x25b6;</span> Local vars</a>
  2976.  
  2977. </div>
  2978. <table class="vars" id="v140568542599752">
  2979. <thead>
  2980. <tr>
  2981. <th>Variable</th>
  2982. <th>Value</th>
  2983. </tr>
  2984. </thead>
  2985. <tbody>
  2986.  
  2987. <tr>
  2988. <td>password</td>
  2989. <td class="code"><pre>None</pre></td>
  2990. </tr>
  2991.  
  2992. <tr>
  2993. <td>username</td>
  2994. <td class="code"><pre>&#39;JohanViberg&#39;</pre></td>
  2995. </tr>
  2996.  
  2997. <tr>
  2998. <td>email</td>
  2999. <td class="code"><pre>&#39;&#39;</pre></td>
  3000. </tr>
  3001.  
  3002. <tr>
  3003. <td>self</td>
  3004. <td class="code"><pre>&lt;app.base.AuthUserManager object at 0x7fd8abed35c0&gt;</pre></td>
  3005. </tr>
  3006.  
  3007. </tbody>
  3008. </table>
  3009.  
  3010. </li>
  3011.  
  3012. </ul>
  3013. </div>
  3014.  
  3015. <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">
  3016.  
  3017. <div id="pastebinTraceback" class="pastebin">
  3018. <input type="hidden" name="language" value="PythonConsole">
  3019. <input type="hidden" name="title"
  3020. value="ValueError at /api/o/convert-token/">
  3021. <input type="hidden" name="source" value="Django Dpaste Agent">
  3022. <input type="hidden" name="poster" value="Django">
  3023. <textarea name="content" id="traceback_area" cols="140" rows="25">
  3024. Environment:
  3025.  
  3026.  
  3027. Request Method: POST
  3028. Request URL: https://api.ilistambassador.com/api/o/convert-token/
  3029.  
  3030. Django Version: 1.9.4
  3031. Python Version: 3.4.3
  3032. Installed Applications:
  3033. [&#39;django.contrib.admin&#39;,
  3034. &#39;django.contrib.auth&#39;,
  3035. &#39;django.contrib.contenttypes&#39;,
  3036. &#39;django.contrib.sessions&#39;,
  3037. &#39;django.contrib.messages&#39;,
  3038. &#39;django.contrib.staticfiles&#39;,
  3039. &#39;storages&#39;,
  3040. &#39;app&#39;,
  3041. &#39;app.api&#39;,
  3042. &#39;corsheaders&#39;,
  3043. &#39;backoffice&#39;,
  3044. &#39;social.apps.django_app.default&#39;,
  3045. &#39;rest_framework_social_oauth2&#39;,
  3046. &#39;rest_framework&#39;,
  3047. &#39;oauth2_provider&#39;,
  3048. &#39;rest_framework_swagger&#39;,
  3049. &#39;friendship&#39;,
  3050. &#39;push_notifications&#39;,
  3051. &#39;actstream&#39;]
  3052. Installed Middleware:
  3053. [&#39;django.middleware.security.SecurityMiddleware&#39;,
  3054. &#39;corsheaders.middleware.CorsMiddleware&#39;,
  3055. &#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
  3056. &#39;django.middleware.common.CommonMiddleware&#39;,
  3057. &#39;django.middleware.csrf.CsrfViewMiddleware&#39;,
  3058. &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
  3059. &#39;django.contrib.auth.middleware.SessionAuthenticationMiddleware&#39;,
  3060. &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
  3061. &#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;]
  3062.  
  3063.  
  3064.  
  3065. Traceback:
  3066.  
  3067. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  3068. 149. response = self.process_exception_by_middleware(e, request)
  3069.  
  3070. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
  3071. 147. response = wrapped_callback(request, *callback_args, **callback_kwargs)
  3072.  
  3073. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/decorators/csrf.py" in wrapped_view
  3074. 58. return view_func(*args, **kwargs)
  3075.  
  3076. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/generic/base.py" in view
  3077. 68. return self.dispatch(request, *args, **kwargs)
  3078.  
  3079. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/utils/decorators.py" in _wrapper
  3080. 67. return bound_func(*args, **kwargs)
  3081.  
  3082. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/views/decorators/csrf.py" in wrapped_view
  3083. 58. return view_func(*args, **kwargs)
  3084.  
  3085. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/utils/decorators.py" in bound_func
  3086. 63. return func.__get__(self, type(self))(*args2, **kwargs2)
  3087.  
  3088. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/braces/views/_forms.py" in dispatch
  3089. 22. return super(CsrfExemptMixin, self).dispatch(*args, **kwargs)
  3090.  
  3091. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework/views.py" in dispatch
  3092. 466. response = self.handle_exception(exc)
  3093.  
  3094. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework/views.py" in dispatch
  3095. 463. response = handler(request, *args, **kwargs)
  3096.  
  3097. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/views.py" in post
  3098. 41. url, headers, body, status = self.create_token_response(request._request)
  3099.  
  3100. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauth2_provider/views/mixins.py" in create_token_response
  3101. 124. return core.create_token_response(request)
  3102.  
  3103. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauth2_provider/oauth2_backends.py" in create_token_response
  3104. 138. headers, extra_credentials)
  3105.  
  3106. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/endpoints/base.py" in wrapper
  3107. 64. return f(endpoint, uri, *args, **kwargs)
  3108.  
  3109. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/oauth2_endpoints.py" in create_token_response
  3110. 60. request, self.default_token_type)
  3111.  
  3112. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/oauthlib/oauth2/rfc6749/grant_types/refresh_token.py" in create_token_response
  3113. 58. self.validate_token_request(request)
  3114.  
  3115. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/rest_framework_social_oauth2/oauth2_grants.py" in validate_token_request
  3116. 91. user = backend.do_auth(access_token=request.token)
  3117.  
  3118. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/facebook.py" in do_auth
  3119. 119. return self.strategy.authenticate(*args, **kwargs)
  3120.  
  3121. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/strategies/django_strategy.py" in authenticate
  3122. 96. return authenticate(*args, **kwargs)
  3123.  
  3124. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/django/contrib/auth/__init__.py" in authenticate
  3125. 74. user = backend.authenticate(**credentials)
  3126.  
  3127. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py" in authenticate
  3128. 82. return self.pipeline(pipeline, *args, **kwargs)
  3129.  
  3130. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py" in pipeline
  3131. 85. out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)
  3132.  
  3133. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/backends/base.py" in run_pipeline
  3134. 112. result = func(*args, **out) or {}
  3135.  
  3136. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/pipeline/user.py" in create_user
  3137. 69. &#39;user&#39;: strategy.create_user(**fields)
  3138.  
  3139. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/strategies/base.py" in create_user
  3140. 53. return self.storage.user.create_user(*args, **kwargs)
  3141.  
  3142. File "/home/ubuntu/.virtualenvs/ilist-virtualenv/lib/python3.4/site-packages/social/storage/django_orm.py" in create_user
  3143. 60. return cls.user_model().objects.create_user(*args, **kwargs)
  3144.  
  3145. File "./app/base.py" in create_user
  3146. 10. raise ValueError(&quot;Email required&quot;)
  3147.  
  3148. Exception Type: ValueError at /api/o/convert-token/
  3149. Exception Value: Email required
  3150. </textarea>
  3151. <br><br>
  3152. <input type="submit" value="Share this traceback on a public website">
  3153. </div>
  3154. </form>
  3155. </div>
  3156.  
  3157.  
  3158.  
  3159. <div id="requestinfo">
  3160. <h2>Request information</h2>
  3161.  
  3162.  
  3163. <h3 id="get-info">GET</h3>
  3164.  
  3165. <p>No GET data</p>
  3166.  
  3167.  
  3168. <h3 id="post-info">POST</h3>
  3169.  
  3170. <table class="req">
  3171. <thead>
  3172. <tr>
  3173. <th>Variable</th>
  3174. <th>Value</th>
  3175. </tr>
  3176. </thead>
  3177. <tbody>
  3178.  
  3179. <tr>
  3180. <td>token</td>
  3181. <td class="code"><pre>&#39;EAAHgGKZBjqeIBABPXGqZAaup6NEBZC48PdxpnCWaran5L8iGouT7ieLUq3ah652gP6zZAeoZAxYOKpQVdZC1jjcpmGoB6LzCbgS8bbV4XrdvqayKymsBKgxZCZAKZCWJ0J9ejVOZBlfwHzkg8yrjPZC1BcGJTjWZAVSaBt1ZC1pYNdiqQHsg4ASH61v76Bg8W2Ttu7JwtG9Ux8f9RhX7ho7sXprZAsC2gv1Tdjwg6Qkwje1q4TXwZDZD&#39;</pre></td>
  3182. </tr>
  3183.  
  3184. <tr>
  3185. <td>client_secret</td>
  3186. <td class="code"><pre>&#39;rjKj9Wi9rkjvZCrNYc2VwUTNhBwh2Mxu0S3HFgYgWXYCTOkRjbnNHx1TXucc1mCcy088ZIEWyQKTBE6G2eMEC4QlAtqq0Cfzv5Lt3an6xCCgMCZoB2tw3rMQQgRqjEPY&#39;</pre></td>
  3187. </tr>
  3188.  
  3189. <tr>
  3190. <td>backend</td>
  3191. <td class="code"><pre>&#39;facebook&#39;</pre></td>
  3192. </tr>
  3193.  
  3194. <tr>
  3195. <td>grant_type</td>
  3196. <td class="code"><pre>&#39;convert_token&#39;</pre></td>
  3197. </tr>
  3198.  
  3199. <tr>
  3200. <td>client_id</td>
  3201. <td class="code"><pre>&#39;3ewTIX3fHPHqUuaZQguJBL9DN3pNqTGDVONGz34T&#39;</pre></td>
  3202. </tr>
  3203.  
  3204. </tbody>
  3205. </table>
  3206.  
  3207. <h3 id="files-info">FILES</h3>
  3208.  
  3209. <p>No FILES data</p>
  3210.  
  3211.  
  3212.  
  3213. <h3 id="cookie-info">COOKIES</h3>
  3214.  
  3215. <p>No cookie data</p>
  3216.  
  3217.  
  3218. <h3 id="meta-info">META</h3>
  3219. <table class="req">
  3220. <thead>
  3221. <tr>
  3222. <th>Variable</th>
  3223. <th>Value</th>
  3224. </tr>
  3225. </thead>
  3226. <tbody>
  3227.  
  3228. <tr>
  3229. <td>HTTP_ACCEPT_ENCODING</td>
  3230. <td class="code"><pre>&#39;gzip, deflate&#39;</pre></td>
  3231. </tr>
  3232.  
  3233. <tr>
  3234. <td>SCRIPT_NAME</td>
  3235. <td class="code"><pre>&#39;&#39;</pre></td>
  3236. </tr>
  3237.  
  3238. <tr>
  3239. <td>REMOTE_PORT</td>
  3240. <td class="code"><pre>&#39;47358&#39;</pre></td>
  3241. </tr>
  3242.  
  3243. <tr>
  3244. <td>HTTP_CONTENT_LENGTH</td>
  3245. <td class="code"><pre>&#39;491&#39;</pre></td>
  3246. </tr>
  3247.  
  3248. <tr>
  3249. <td>wsgi.version</td>
  3250. <td class="code"><pre>(1, 0)</pre></td>
  3251. </tr>
  3252.  
  3253. <tr>
  3254. <td>wsgi.errors</td>
  3255. <td class="code"><pre>&lt;_io.TextIOWrapper name=2 mode=&#39;w&#39; encoding=&#39;UTF-8&#39;&gt;</pre></td>
  3256. </tr>
  3257.  
  3258. <tr>
  3259. <td>CONTENT_TYPE</td>
  3260. <td class="code"><pre>&#39;application/x-www-form-urlencoded&#39;</pre></td>
  3261. </tr>
  3262.  
  3263. <tr>
  3264. <td>uwsgi.core</td>
  3265. <td class="code"><pre>0</pre></td>
  3266. </tr>
  3267.  
  3268. <tr>
  3269. <td>wsgi.file_wrapper</td>
  3270. <td class="code"><pre>&#39;&#39;</pre></td>
  3271. </tr>
  3272.  
  3273. <tr>
  3274. <td>REQUEST_METHOD</td>
  3275. <td class="code"><pre>&#39;POST&#39;</pre></td>
  3276. </tr>
  3277.  
  3278. <tr>
  3279. <td>SERVER_PROTOCOL</td>
  3280. <td class="code"><pre>&#39;HTTP/1.1&#39;</pre></td>
  3281. </tr>
  3282.  
  3283. <tr>
  3284. <td>REQUEST_URI</td>
  3285. <td class="code"><pre>&#39;/api/o/convert-token/&#39;</pre></td>
  3286. </tr>
  3287.  
  3288. <tr>
  3289. <td>wsgi.input</td>
  3290. <td class="code"><pre>&lt;uwsgi._Input object at 0x7fd8acb4e768&gt;</pre></td>
  3291. </tr>
  3292.  
  3293. <tr>
  3294. <td>wsgi.run_once</td>
  3295. <td class="code"><pre>False</pre></td>
  3296. </tr>
  3297.  
  3298. <tr>
  3299. <td>HTTP_ACCEPT_LANGUAGE</td>
  3300. <td class="code"><pre>&#39;en-us&#39;</pre></td>
  3301. </tr>
  3302.  
  3303. <tr>
  3304. <td>PATH_INFO</td>
  3305. <td class="code"><pre>&#39;/api/o/convert-token/&#39;</pre></td>
  3306. </tr>
  3307.  
  3308. <tr>
  3309. <td>SERVER_PORT</td>
  3310. <td class="code"><pre>&#39;443&#39;</pre></td>
  3311. </tr>
  3312.  
  3313. <tr>
  3314. <td>HTTPS</td>
  3315. <td class="code"><pre>&#39;on&#39;</pre></td>
  3316. </tr>
  3317.  
  3318. <tr>
  3319. <td>HTTP_ACCEPT</td>
  3320. <td class="code"><pre>&#39;*/*&#39;</pre></td>
  3321. </tr>
  3322.  
  3323. <tr>
  3324. <td>DOCUMENT_ROOT</td>
  3325. <td class="code"><pre>&#39;/usr/share/nginx/html&#39;</pre></td>
  3326. </tr>
  3327.  
  3328. <tr>
  3329. <td>wsgi.multithread</td>
  3330. <td class="code"><pre>True</pre></td>
  3331. </tr>
  3332.  
  3333. <tr>
  3334. <td>wsgi.url_scheme</td>
  3335. <td class="code"><pre>&#39;https&#39;</pre></td>
  3336. </tr>
  3337.  
  3338. <tr>
  3339. <td>uwsgi.node</td>
  3340. <td class="code"><pre>b&#39;ip-172-30-1-215&#39;</pre></td>
  3341. </tr>
  3342.  
  3343. <tr>
  3344. <td>uwsgi.version</td>
  3345. <td class="code"><pre>b&#39;1.9.17.1-debian&#39;</pre></td>
  3346. </tr>
  3347.  
  3348. <tr>
  3349. <td>HTTP_AUTHORIZATION</td>
  3350. <td class="code"><pre>(&#39;Basic &#39;
  3351. &#39;M2V3VElYM2ZIUEhxVXVhWlFndUpCTDlETjNwTnFUR0RWT05HejM0VDpyaktqOVdpOXJranZaQ3JOWWMyVndVVE5oQndoMk14dTBTM0hGZ1lnV1hZQ1RPa1JqYm5OSHgxVFh1Y2MxbUNjeTA4OFpJRVd5UUtUQkU2RzJlTUVDNFFsQXRxcTBDZnp2NUx0M2FuNnhDQ2dNQ1pvQjJ0dzNyTVFRZ1JxakVQWQ==&#39;)</pre></td>
  3352. </tr>
  3353.  
  3354. <tr>
  3355. <td>HTTP_HOST</td>
  3356. <td class="code"><pre>&#39;api.ilistambassador.com&#39;</pre></td>
  3357. </tr>
  3358.  
  3359. <tr>
  3360. <td>HTTP_USER_AGENT</td>
  3361. <td class="code"><pre>&#39;iList/19 CFNetwork/758.3.15 Darwin/15.5.0&#39;</pre></td>
  3362. </tr>
  3363.  
  3364. <tr>
  3365. <td>HTTP_CONTENT_TYPE</td>
  3366. <td class="code"><pre>&#39;application/x-www-form-urlencoded&#39;</pre></td>
  3367. </tr>
  3368.  
  3369. <tr>
  3370. <td>HTTP_CONNECTION</td>
  3371. <td class="code"><pre>&#39;keep-alive&#39;</pre></td>
  3372. </tr>
  3373.  
  3374. <tr>
  3375. <td>HTTP_PROXY_CONNECTION</td>
  3376. <td class="code"><pre>&#39;keep-alive&#39;</pre></td>
  3377. </tr>
  3378.  
  3379. <tr>
  3380. <td>CONTENT_LENGTH</td>
  3381. <td class="code"><pre>&#39;491&#39;</pre></td>
  3382. </tr>
  3383.  
  3384. <tr>
  3385. <td>QUERY_STRING</td>
  3386. <td class="code"><pre>&#39;&#39;</pre></td>
  3387. </tr>
  3388.  
  3389. <tr>
  3390. <td>REMOTE_ADDR</td>
  3391. <td class="code"><pre>&#39;213.113.41.111&#39;</pre></td>
  3392. </tr>
  3393.  
  3394. <tr>
  3395. <td>wsgi.multiprocess</td>
  3396. <td class="code"><pre>True</pre></td>
  3397. </tr>
  3398.  
  3399. <tr>
  3400. <td>SERVER_NAME</td>
  3401. <td class="code"><pre>&#39;api.ilistambassador.com&#39;</pre></td>
  3402. </tr>
  3403.  
  3404. </tbody>
  3405. </table>
  3406.  
  3407.  
  3408. <h3 id="settings-info">Settings</h3>
  3409. <h4>Using settings module <code>ilist.settings</code></h4>
  3410. <table class="req">
  3411. <thead>
  3412. <tr>
  3413. <th>Setting</th>
  3414. <th>Value</th>
  3415. </tr>
  3416. </thead>
  3417. <tbody>
  3418.  
  3419. <tr>
  3420. <td>PREPEND_WWW</td>
  3421. <td class="code"><pre>False</pre></td>
  3422. </tr>
  3423.  
  3424. <tr>
  3425. <td>CACHE_MIDDLEWARE_ALIAS</td>
  3426. <td class="code"><pre>&#39;default&#39;</pre></td>
  3427. </tr>
  3428.  
  3429. <tr>
  3430. <td>ACTSTREAM_SETTINGS</td>
  3431. <td class="code"><pre>{&#39;USE_JSONFIELD&#39;: True}</pre></td>
  3432. </tr>
  3433.  
  3434. <tr>
  3435. <td>EMAIL_HOST_USER</td>
  3436. <td class="code"><pre>&#39;noreply@ilistambassador.com&#39;</pre></td>
  3437. </tr>
  3438.  
  3439. <tr>
  3440. <td>PASSWORD_HASHERS</td>
  3441. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3442. </tr>
  3443.  
  3444. <tr>
  3445. <td>FIRST_DAY_OF_WEEK</td>
  3446. <td class="code"><pre>0</pre></td>
  3447. </tr>
  3448.  
  3449. <tr>
  3450. <td>MONTH_DAY_FORMAT</td>
  3451. <td class="code"><pre>&#39;F j&#39;</pre></td>
  3452. </tr>
  3453.  
  3454. <tr>
  3455. <td>TEMPLATE_CONTEXT_PROCESSORS</td>
  3456. <td class="code"><pre>[&#39;django.contrib.auth.context_processors.auth&#39;,
  3457. &#39;django.template.context_processors.debug&#39;,
  3458. &#39;django.template.context_processors.i18n&#39;,
  3459. &#39;django.template.context_processors.media&#39;,
  3460. &#39;django.template.context_processors.static&#39;,
  3461. &#39;django.template.context_processors.tz&#39;,
  3462. &#39;django.contrib.messages.context_processors.messages&#39;]</pre></td>
  3463. </tr>
  3464.  
  3465. <tr>
  3466. <td>DEBUG</td>
  3467. <td class="code"><pre>True</pre></td>
  3468. </tr>
  3469.  
  3470. <tr>
  3471. <td>DATE_FORMAT</td>
  3472. <td class="code"><pre>&#39;N j, Y&#39;</pre></td>
  3473. </tr>
  3474.  
  3475. <tr>
  3476. <td>DEFAULT_FILE_STORAGE</td>
  3477. <td class="code"><pre>&#39;storages.backends.s3boto.S3BotoStorage&#39;</pre></td>
  3478. </tr>
  3479.  
  3480. <tr>
  3481. <td>SECRET_KEY</td>
  3482. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3483. </tr>
  3484.  
  3485. <tr>
  3486. <td>AWS_SECRET_ACCESS_KEY</td>
  3487. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3488. </tr>
  3489.  
  3490. <tr>
  3491. <td>FILE_UPLOAD_HANDLERS</td>
  3492. <td class="code"><pre>[&#39;django.core.files.uploadhandler.MemoryFileUploadHandler&#39;,
  3493. &#39;django.core.files.uploadhandler.TemporaryFileUploadHandler&#39;]</pre></td>
  3494. </tr>
  3495.  
  3496. <tr>
  3497. <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
  3498. <td class="code"><pre>False</pre></td>
  3499. </tr>
  3500.  
  3501. <tr>
  3502. <td>CSRF_COOKIE_SECURE</td>
  3503. <td class="code"><pre>False</pre></td>
  3504. </tr>
  3505.  
  3506. <tr>
  3507. <td>USE_TZ</td>
  3508. <td class="code"><pre>True</pre></td>
  3509. </tr>
  3510.  
  3511. <tr>
  3512. <td>MEDIA_URL</td>
  3513. <td class="code"><pre>&#39;/media/&#39;</pre></td>
  3514. </tr>
  3515.  
  3516. <tr>
  3517. <td>LANGUAGE_COOKIE_AGE</td>
  3518. <td class="code"><pre>None</pre></td>
  3519. </tr>
  3520.  
  3521. <tr>
  3522. <td>SILENCED_SYSTEM_CHECKS</td>
  3523. <td class="code"><pre>[]</pre></td>
  3524. </tr>
  3525.  
  3526. <tr>
  3527. <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
  3528. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3529. </tr>
  3530.  
  3531. <tr>
  3532. <td>FIXTURE_DIRS</td>
  3533. <td class="code"><pre>[]</pre></td>
  3534. </tr>
  3535.  
  3536. <tr>
  3537. <td>SWAGGER_SETTINGS</td>
  3538. <td class="code"><pre>{&#39;api_key&#39;: &#39;&#39;,
  3539. &#39;api_path&#39;: &#39;/&#39;,
  3540. &#39;api_version&#39;: &#39;1&#39;,
  3541. &#39;doc_expansion&#39;: &#39;none&#39;,
  3542. &#39;enabled_methods&#39;: [&#39;get&#39;, &#39;post&#39;, &#39;put&#39;, &#39;patch&#39;, &#39;delete&#39;, &#39;retrieve&#39;],
  3543. &#39;exclude_namespaces&#39;: [],
  3544. &#39;is_authenticated&#39;: False,
  3545. &#39;is_superuser&#39;: False,
  3546. &#39;permission_denied_handler&#39;: None,
  3547. &#39;resource_access_handler&#39;: None,
  3548. &#39;template_path&#39;: &#39;rest_framework_swagger/index.html&#39;,
  3549. &#39;token_type&#39;: &#39;Token&#39;,
  3550. &#39;unauthenticated_user&#39;: &#39;django.contrib.auth.models.AnonymousUser&#39;}</pre></td>
  3551. </tr>
  3552.  
  3553. <tr>
  3554. <td>STATIC_ROOT</td>
  3555. <td class="code"><pre>&#39;/home/ubuntu/ilist/static/&#39;</pre></td>
  3556. </tr>
  3557.  
  3558. <tr>
  3559. <td>SOCIAL_AUTH_FACEBOOK_KEY</td>
  3560. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3561. </tr>
  3562.  
  3563. <tr>
  3564. <td>CSRF_COOKIE_HTTPONLY</td>
  3565. <td class="code"><pre>False</pre></td>
  3566. </tr>
  3567.  
  3568. <tr>
  3569. <td>CSRF_COOKIE_NAME</td>
  3570. <td class="code"><pre>&#39;csrftoken&#39;</pre></td>
  3571. </tr>
  3572.  
  3573. <tr>
  3574. <td>SECURE_REDIRECT_EXEMPT</td>
  3575. <td class="code"><pre>[]</pre></td>
  3576. </tr>
  3577.  
  3578. <tr>
  3579. <td>LOGGING_CONFIG</td>
  3580. <td class="code"><pre>&#39;logging.config.dictConfig&#39;</pre></td>
  3581. </tr>
  3582.  
  3583. <tr>
  3584. <td>AUTH_PASSWORD_VALIDATORS</td>
  3585. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3586. </tr>
  3587.  
  3588. <tr>
  3589. <td>SESSION_ENGINE</td>
  3590. <td class="code"><pre>&#39;django.contrib.sessions.backends.db&#39;</pre></td>
  3591. </tr>
  3592.  
  3593. <tr>
  3594. <td>STATICFILES_STORAGE</td>
  3595. <td class="code"><pre>&#39;storages.backends.s3boto.S3BotoStorage&#39;</pre></td>
  3596. </tr>
  3597.  
  3598. <tr>
  3599. <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
  3600. <td class="code"><pre>&#39;django.views.debug.SafeExceptionReporterFilter&#39;</pre></td>
  3601. </tr>
  3602.  
  3603. <tr>
  3604. <td>DATABASES</td>
  3605. <td class="code"><pre>{&#39;default&#39;: {&#39;ATOMIC_REQUESTS&#39;: False,
  3606. &#39;AUTOCOMMIT&#39;: True,
  3607. &#39;CONN_MAX_AGE&#39;: 0,
  3608. &#39;ENGINE&#39;: &#39;django.db.backends.mysql&#39;,
  3609. &#39;HOST&#39;: &#39;ilistdbinstance2.c1n6q5kfypn3.us-east-1.rds.amazonaws.com&#39;,
  3610. &#39;NAME&#39;: &#39;ilistambassador&#39;,
  3611. &#39;OPTIONS&#39;: {&#39;charset&#39;: &#39;utf8mb4&#39;},
  3612. &#39;PASSWORD&#39;: &#39;********************&#39;,
  3613. &#39;PORT&#39;: &#39;3306&#39;,
  3614. &#39;TEST&#39;: {&#39;CHARSET&#39;: None,
  3615. &#39;COLLATION&#39;: None,
  3616. &#39;MIRROR&#39;: None,
  3617. &#39;NAME&#39;: None},
  3618. &#39;TIME_ZONE&#39;: None,
  3619. &#39;USER&#39;: &#39;ilistadmin&#39;}}</pre></td>
  3620. </tr>
  3621.  
  3622. <tr>
  3623. <td>DATABASE_ROUTERS</td>
  3624. <td class="code"><pre>[]</pre></td>
  3625. </tr>
  3626.  
  3627. <tr>
  3628. <td>FILE_CHARSET</td>
  3629. <td class="code"><pre>&#39;utf-8&#39;</pre></td>
  3630. </tr>
  3631.  
  3632. <tr>
  3633. <td>USE_ETAGS</td>
  3634. <td class="code"><pre>False</pre></td>
  3635. </tr>
  3636.  
  3637. <tr>
  3638. <td>ABSOLUTE_URL_OVERRIDES</td>
  3639. <td class="code"><pre>{}</pre></td>
  3640. </tr>
  3641.  
  3642. <tr>
  3643. <td>STATICFILES_FINDERS</td>
  3644. <td class="code"><pre>[&#39;django.contrib.staticfiles.finders.FileSystemFinder&#39;,
  3645. &#39;django.contrib.staticfiles.finders.AppDirectoriesFinder&#39;]</pre></td>
  3646. </tr>
  3647.  
  3648. <tr>
  3649. <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
  3650. <td class="code"><pre>None</pre></td>
  3651. </tr>
  3652.  
  3653. <tr>
  3654. <td>SESSION_CACHE_ALIAS</td>
  3655. <td class="code"><pre>&#39;default&#39;</pre></td>
  3656. </tr>
  3657.  
  3658. <tr>
  3659. <td>AWS_QUERYSTRING_AUTH</td>
  3660. <td class="code"><pre>False</pre></td>
  3661. </tr>
  3662.  
  3663. <tr>
  3664. <td>TEMPLATES</td>
  3665. <td class="code"><pre>[{&#39;APP_DIRS&#39;: True,
  3666. &#39;BACKEND&#39;: &#39;django.template.backends.django.DjangoTemplates&#39;,
  3667. &#39;DIRS&#39;: [&#39;&#39;],
  3668. &#39;OPTIONS&#39;: {&#39;context_processors&#39;: [&#39;django.template.context_processors.debug&#39;,
  3669. &#39;django.template.context_processors.request&#39;,
  3670. &#39;django.contrib.auth.context_processors.auth&#39;,
  3671. &#39;django.contrib.messages.context_processors.messages&#39;]}}]</pre></td>
  3672. </tr>
  3673.  
  3674. <tr>
  3675. <td>AUTH_USER_MODEL</td>
  3676. <td class="code"><pre>&#39;app.User&#39;</pre></td>
  3677. </tr>
  3678.  
  3679. <tr>
  3680. <td>EMAIL_HOST</td>
  3681. <td class="code"><pre>&#39;smtp.gmail.com&#39;</pre></td>
  3682. </tr>
  3683.  
  3684. <tr>
  3685. <td>SECURE_PROXY_SSL_HEADER</td>
  3686. <td class="code"><pre>None</pre></td>
  3687. </tr>
  3688.  
  3689. <tr>
  3690. <td>DECIMAL_SEPARATOR</td>
  3691. <td class="code"><pre>&#39;.&#39;</pre></td>
  3692. </tr>
  3693.  
  3694. <tr>
  3695. <td>SESSION_FILE_PATH</td>
  3696. <td class="code"><pre>None</pre></td>
  3697. </tr>
  3698.  
  3699. <tr>
  3700. <td>FORMAT_MODULE_PATH</td>
  3701. <td class="code"><pre>None</pre></td>
  3702. </tr>
  3703.  
  3704. <tr>
  3705. <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
  3706. <td class="code"><pre>False</pre></td>
  3707. </tr>
  3708.  
  3709. <tr>
  3710. <td>AWS_STORAGE_BUCKET_NAME</td>
  3711. <td class="code"><pre>&#39;ilistambassador&#39;</pre></td>
  3712. </tr>
  3713.  
  3714. <tr>
  3715. <td>TEST_RUNNER</td>
  3716. <td class="code"><pre>&#39;django.test.runner.DiscoverRunner&#39;</pre></td>
  3717. </tr>
  3718.  
  3719. <tr>
  3720. <td>CSRF_COOKIE_DOMAIN</td>
  3721. <td class="code"><pre>None</pre></td>
  3722. </tr>
  3723.  
  3724. <tr>
  3725. <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
  3726. <td class="code"><pre>2621440</pre></td>
  3727. </tr>
  3728.  
  3729. <tr>
  3730. <td>EMAIL_PORT</td>
  3731. <td class="code"><pre>587</pre></td>
  3732. </tr>
  3733.  
  3734. <tr>
  3735. <td>CSRF_COOKIE_AGE</td>
  3736. <td class="code"><pre>31449600</pre></td>
  3737. </tr>
  3738.  
  3739. <tr>
  3740. <td>SECURE_SSL_HOST</td>
  3741. <td class="code"><pre>None</pre></td>
  3742. </tr>
  3743.  
  3744. <tr>
  3745. <td>SESSION_SAVE_EVERY_REQUEST</td>
  3746. <td class="code"><pre>False</pre></td>
  3747. </tr>
  3748.  
  3749. <tr>
  3750. <td>SIGNING_BACKEND</td>
  3751. <td class="code"><pre>&#39;django.core.signing.TimestampSigner&#39;</pre></td>
  3752. </tr>
  3753.  
  3754. <tr>
  3755. <td>USE_X_FORWARDED_HOST</td>
  3756. <td class="code"><pre>False</pre></td>
  3757. </tr>
  3758.  
  3759. <tr>
  3760. <td>WSGI_APPLICATION</td>
  3761. <td class="code"><pre>&#39;ilist.wsgi.application&#39;</pre></td>
  3762. </tr>
  3763.  
  3764. <tr>
  3765. <td>INSTALLED_APPS</td>
  3766. <td class="code"><pre>[&#39;django.contrib.admin&#39;,
  3767. &#39;django.contrib.auth&#39;,
  3768. &#39;django.contrib.contenttypes&#39;,
  3769. &#39;django.contrib.sessions&#39;,
  3770. &#39;django.contrib.messages&#39;,
  3771. &#39;django.contrib.staticfiles&#39;,
  3772. &#39;storages&#39;,
  3773. &#39;app&#39;,
  3774. &#39;app.api&#39;,
  3775. &#39;corsheaders&#39;,
  3776. &#39;backoffice&#39;,
  3777. &#39;social.apps.django_app.default&#39;,
  3778. &#39;rest_framework_social_oauth2&#39;,
  3779. &#39;rest_framework&#39;,
  3780. &#39;oauth2_provider&#39;,
  3781. &#39;rest_framework_swagger&#39;,
  3782. &#39;friendship&#39;,
  3783. &#39;push_notifications&#39;,
  3784. &#39;actstream&#39;]</pre></td>
  3785. </tr>
  3786.  
  3787. <tr>
  3788. <td>EMAIL_USE_TLS</td>
  3789. <td class="code"><pre>True</pre></td>
  3790. </tr>
  3791.  
  3792. <tr>
  3793. <td>INTERNAL_IPS</td>
  3794. <td class="code"><pre>[]</pre></td>
  3795. </tr>
  3796.  
  3797. <tr>
  3798. <td>CSRF_TRUSTED_ORIGINS</td>
  3799. <td class="code"><pre>[]</pre></td>
  3800. </tr>
  3801.  
  3802. <tr>
  3803. <td>DEFAULT_TABLESPACE</td>
  3804. <td class="code"><pre>&#39;&#39;</pre></td>
  3805. </tr>
  3806.  
  3807. <tr>
  3808. <td>LANGUAGE_COOKIE_NAME</td>
  3809. <td class="code"><pre>&#39;django_language&#39;</pre></td>
  3810. </tr>
  3811.  
  3812. <tr>
  3813. <td>TIME_FORMAT</td>
  3814. <td class="code"><pre>&#39;P&#39;</pre></td>
  3815. </tr>
  3816.  
  3817. <tr>
  3818. <td>MANAGERS</td>
  3819. <td class="code"><pre>[]</pre></td>
  3820. </tr>
  3821.  
  3822. <tr>
  3823. <td>MIDDLEWARE_CLASSES</td>
  3824. <td class="code"><pre>[&#39;django.middleware.security.SecurityMiddleware&#39;,
  3825. &#39;corsheaders.middleware.CorsMiddleware&#39;,
  3826. &#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,
  3827. &#39;django.middleware.common.CommonMiddleware&#39;,
  3828. &#39;django.middleware.csrf.CsrfViewMiddleware&#39;,
  3829. &#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,
  3830. &#39;django.contrib.auth.middleware.SessionAuthenticationMiddleware&#39;,
  3831. &#39;django.contrib.messages.middleware.MessageMiddleware&#39;,
  3832. &#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;]</pre></td>
  3833. </tr>
  3834.  
  3835. <tr>
  3836. <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
  3837. <td class="code"><pre>False</pre></td>
  3838. </tr>
  3839.  
  3840. <tr>
  3841. <td>EMAIL_SSL_KEYFILE</td>
  3842. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3843. </tr>
  3844.  
  3845. <tr>
  3846. <td>SHORT_DATETIME_FORMAT</td>
  3847. <td class="code"><pre>&#39;m/d/Y P&#39;</pre></td>
  3848. </tr>
  3849.  
  3850. <tr>
  3851. <td>YEAR_MONTH_FORMAT</td>
  3852. <td class="code"><pre>&#39;F Y&#39;</pre></td>
  3853. </tr>
  3854.  
  3855. <tr>
  3856. <td>LOGIN_REDIRECT_URL</td>
  3857. <td class="code"><pre>&#39;/accounts/profile/&#39;</pre></td>
  3858. </tr>
  3859.  
  3860. <tr>
  3861. <td>USE_L10N</td>
  3862. <td class="code"><pre>True</pre></td>
  3863. </tr>
  3864.  
  3865. <tr>
  3866. <td>EMAIL_USE_SSL</td>
  3867. <td class="code"><pre>False</pre></td>
  3868. </tr>
  3869.  
  3870. <tr>
  3871. <td>USE_X_FORWARDED_PORT</td>
  3872. <td class="code"><pre>False</pre></td>
  3873. </tr>
  3874.  
  3875. <tr>
  3876. <td>STATIC_URL</td>
  3877. <td class="code"><pre>&#39;/static/&#39;</pre></td>
  3878. </tr>
  3879.  
  3880. <tr>
  3881. <td>MIGRATION_MODULES</td>
  3882. <td class="code"><pre>{}</pre></td>
  3883. </tr>
  3884.  
  3885. <tr>
  3886. <td>TEMPLATE_STRING_IF_INVALID</td>
  3887. <td class="code"><pre>&#39;&#39;</pre></td>
  3888. </tr>
  3889.  
  3890. <tr>
  3891. <td>STATICFILES_DIRS</td>
  3892. <td class="code"><pre>[]</pre></td>
  3893. </tr>
  3894.  
  3895. <tr>
  3896. <td>DEFAULT_INDEX_TABLESPACE</td>
  3897. <td class="code"><pre>&#39;&#39;</pre></td>
  3898. </tr>
  3899.  
  3900. <tr>
  3901. <td>USE_I18N</td>
  3902. <td class="code"><pre>True</pre></td>
  3903. </tr>
  3904.  
  3905. <tr>
  3906. <td>LANGUAGE_CODE</td>
  3907. <td class="code"><pre>&#39;en-us&#39;</pre></td>
  3908. </tr>
  3909.  
  3910. <tr>
  3911. <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
  3912. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3913. </tr>
  3914.  
  3915. <tr>
  3916. <td>X_FRAME_OPTIONS</td>
  3917. <td class="code"><pre>&#39;SAMEORIGIN&#39;</pre></td>
  3918. </tr>
  3919.  
  3920. <tr>
  3921. <td>TIME_ZONE</td>
  3922. <td class="code"><pre>&#39;UTC&#39;</pre></td>
  3923. </tr>
  3924.  
  3925. <tr>
  3926. <td>IGNORABLE_404_URLS</td>
  3927. <td class="code"><pre>[]</pre></td>
  3928. </tr>
  3929.  
  3930. <tr>
  3931. <td>TEMPLATE_LOADERS</td>
  3932. <td class="code"><pre>[&#39;django.template.loaders.filesystem.Loader&#39;,
  3933. &#39;django.template.loaders.app_directories.Loader&#39;]</pre></td>
  3934. </tr>
  3935.  
  3936. <tr>
  3937. <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
  3938. <td class="code"><pre>False</pre></td>
  3939. </tr>
  3940.  
  3941. <tr>
  3942. <td>CACHES</td>
  3943. <td class="code"><pre>{&#39;default&#39;: {&#39;BACKEND&#39;: &#39;django.core.cache.backends.locmem.LocMemCache&#39;}}</pre></td>
  3944. </tr>
  3945.  
  3946. <tr>
  3947. <td>LOGIN_URL</td>
  3948. <td class="code"><pre>&#39;/accounts/login/&#39;</pre></td>
  3949. </tr>
  3950.  
  3951. <tr>
  3952. <td>MESSAGE_STORAGE</td>
  3953. <td class="code"><pre>&#39;django.contrib.messages.storage.fallback.FallbackStorage&#39;</pre></td>
  3954. </tr>
  3955.  
  3956. <tr>
  3957. <td>TEMPLATE_DIRS</td>
  3958. <td class="code"><pre>[]</pre></td>
  3959. </tr>
  3960.  
  3961. <tr>
  3962. <td>SECURE_HSTS_SECONDS</td>
  3963. <td class="code"><pre>0</pre></td>
  3964. </tr>
  3965.  
  3966. <tr>
  3967. <td>LOGGING</td>
  3968. <td class="code"><pre>{}</pre></td>
  3969. </tr>
  3970.  
  3971. <tr>
  3972. <td>TIME_INPUT_FORMATS</td>
  3973. <td class="code"><pre>[&#39;%H:%M:%S&#39;, &#39;%H:%M:%S.%f&#39;, &#39;%H:%M&#39;]</pre></td>
  3974. </tr>
  3975.  
  3976. <tr>
  3977. <td>SOCIAL_AUTH_FACEBOOK_SECRET</td>
  3978. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3979. </tr>
  3980.  
  3981. <tr>
  3982. <td>EMAIL_BACKEND</td>
  3983. <td class="code"><pre>&#39;django.core.mail.backends.smtp.EmailBackend&#39;</pre></td>
  3984. </tr>
  3985.  
  3986. <tr>
  3987. <td>EMAIL_HOST_PASSWORD</td>
  3988. <td class="code"><pre>&#39;********************&#39;</pre></td>
  3989. </tr>
  3990.  
  3991. <tr>
  3992. <td>CSRF_FAILURE_VIEW</td>
  3993. <td class="code"><pre>&#39;django.views.csrf.csrf_failure&#39;</pre></td>
  3994. </tr>
  3995.  
  3996. <tr>
  3997. <td>SESSION_COOKIE_PATH</td>
  3998. <td class="code"><pre>&#39;/&#39;</pre></td>
  3999. </tr>
  4000.  
  4001. <tr>
  4002. <td>APPEND_SLASH</td>
  4003. <td class="code"><pre>True</pre></td>
  4004. </tr>
  4005.  
  4006. <tr>
  4007. <td>SECURE_BROWSER_XSS_FILTER</td>
  4008. <td class="code"><pre>False</pre></td>
  4009. </tr>
  4010.  
  4011. <tr>
  4012. <td>REST_FRAMEWORK</td>
  4013. <td class="code"><pre>{&#39;DATETIME_FORMAT&#39;: &#39;%Y-%m-%d %H:%M:%S%z&#39;,
  4014. &#39;DATE_FORMAT&#39;: &#39;%Y-%m-%d&#39;,
  4015. &#39;DATE_INPUT_FORMATS&#39;: (&#39;%Y-%m-%d %H:%M:%S%z&#39;,),
  4016. &#39;DEFAULT_AUTHENTICATION_CLASSES&#39;: (&#39;oauth2_provider.ext.rest_framework.OAuth2Authentication&#39;,
  4017. &#39;rest_framework_social_oauth2.authentication.SocialAuthentication&#39;,
  4018. &#39;django.contrib.auth.backends.ModelBackend&#39;),
  4019. &#39;DEFAULT_PAGINATION_CLASS&#39;: &#39;app.api.paginators.IListPagination&#39;,
  4020. &#39;DEFAULT_PERMISSION_CLASSES&#39;: (&#39;permissions.IsAuthenticatedWithObjectPerm&#39;,),
  4021. &#39;DEFAULT_VERSIONING_CLASS&#39;: &#39;rest_framework.versioning.NamespaceVersioning&#39;,
  4022. &#39;PAGE_SIZE&#39;: 20}</pre></td>
  4023. </tr>
  4024.  
  4025. <tr>
  4026. <td>DEFAULT_CONTENT_TYPE</td>
  4027. <td class="code"><pre>&#39;text/html&#39;</pre></td>
  4028. </tr>
  4029.  
  4030. <tr>
  4031. <td>FORCE_SCRIPT_NAME</td>
  4032. <td class="code"><pre>None</pre></td>
  4033. </tr>
  4034.  
  4035. <tr>
  4036. <td>LANGUAGE_COOKIE_DOMAIN</td>
  4037. <td class="code"><pre>None</pre></td>
  4038. </tr>
  4039.  
  4040. <tr>
  4041. <td>LANGUAGES</td>
  4042. <td class="code"><pre>[(&#39;af&#39;, &#39;Afrikaans&#39;),
  4043. (&#39;ar&#39;, &#39;Arabic&#39;),
  4044. (&#39;ast&#39;, &#39;Asturian&#39;),
  4045. (&#39;az&#39;, &#39;Azerbaijani&#39;),
  4046. (&#39;bg&#39;, &#39;Bulgarian&#39;),
  4047. (&#39;be&#39;, &#39;Belarusian&#39;),
  4048. (&#39;bn&#39;, &#39;Bengali&#39;),
  4049. (&#39;br&#39;, &#39;Breton&#39;),
  4050. (&#39;bs&#39;, &#39;Bosnian&#39;),
  4051. (&#39;ca&#39;, &#39;Catalan&#39;),
  4052. (&#39;cs&#39;, &#39;Czech&#39;),
  4053. (&#39;cy&#39;, &#39;Welsh&#39;),
  4054. (&#39;da&#39;, &#39;Danish&#39;),
  4055. (&#39;de&#39;, &#39;German&#39;),
  4056. (&#39;el&#39;, &#39;Greek&#39;),
  4057. (&#39;en&#39;, &#39;English&#39;),
  4058. (&#39;en-au&#39;, &#39;Australian English&#39;),
  4059. (&#39;en-gb&#39;, &#39;British English&#39;),
  4060. (&#39;eo&#39;, &#39;Esperanto&#39;),
  4061. (&#39;es&#39;, &#39;Spanish&#39;),
  4062. (&#39;es-ar&#39;, &#39;Argentinian Spanish&#39;),
  4063. (&#39;es-co&#39;, &#39;Colombian Spanish&#39;),
  4064. (&#39;es-mx&#39;, &#39;Mexican Spanish&#39;),
  4065. (&#39;es-ni&#39;, &#39;Nicaraguan Spanish&#39;),
  4066. (&#39;es-ve&#39;, &#39;Venezuelan Spanish&#39;),
  4067. (&#39;et&#39;, &#39;Estonian&#39;),
  4068. (&#39;eu&#39;, &#39;Basque&#39;),
  4069. (&#39;fa&#39;, &#39;Persian&#39;),
  4070. (&#39;fi&#39;, &#39;Finnish&#39;),
  4071. (&#39;fr&#39;, &#39;French&#39;),
  4072. (&#39;fy&#39;, &#39;Frisian&#39;),
  4073. (&#39;ga&#39;, &#39;Irish&#39;),
  4074. (&#39;gd&#39;, &#39;Scottish Gaelic&#39;),
  4075. (&#39;gl&#39;, &#39;Galician&#39;),
  4076. (&#39;he&#39;, &#39;Hebrew&#39;),
  4077. (&#39;hi&#39;, &#39;Hindi&#39;),
  4078. (&#39;hr&#39;, &#39;Croatian&#39;),
  4079. (&#39;hu&#39;, &#39;Hungarian&#39;),
  4080. (&#39;ia&#39;, &#39;Interlingua&#39;),
  4081. (&#39;id&#39;, &#39;Indonesian&#39;),
  4082. (&#39;io&#39;, &#39;Ido&#39;),
  4083. (&#39;is&#39;, &#39;Icelandic&#39;),
  4084. (&#39;it&#39;, &#39;Italian&#39;),
  4085. (&#39;ja&#39;, &#39;Japanese&#39;),
  4086. (&#39;ka&#39;, &#39;Georgian&#39;),
  4087. (&#39;kk&#39;, &#39;Kazakh&#39;),
  4088. (&#39;km&#39;, &#39;Khmer&#39;),
  4089. (&#39;kn&#39;, &#39;Kannada&#39;),
  4090. (&#39;ko&#39;, &#39;Korean&#39;),
  4091. (&#39;lb&#39;, &#39;Luxembourgish&#39;),
  4092. (&#39;lt&#39;, &#39;Lithuanian&#39;),
  4093. (&#39;lv&#39;, &#39;Latvian&#39;),
  4094. (&#39;mk&#39;, &#39;Macedonian&#39;),
  4095. (&#39;ml&#39;, &#39;Malayalam&#39;),
  4096. (&#39;mn&#39;, &#39;Mongolian&#39;),
  4097. (&#39;mr&#39;, &#39;Marathi&#39;),
  4098. (&#39;my&#39;, &#39;Burmese&#39;),
  4099. (&#39;nb&#39;, &#39;Norwegian Bokmal&#39;),
  4100. (&#39;ne&#39;, &#39;Nepali&#39;),
  4101. (&#39;nl&#39;, &#39;Dutch&#39;),
  4102. (&#39;nn&#39;, &#39;Norwegian Nynorsk&#39;),
  4103. (&#39;os&#39;, &#39;Ossetic&#39;),
  4104. (&#39;pa&#39;, &#39;Punjabi&#39;),
  4105. (&#39;pl&#39;, &#39;Polish&#39;),
  4106. (&#39;pt&#39;, &#39;Portuguese&#39;),
  4107. (&#39;pt-br&#39;, &#39;Brazilian Portuguese&#39;),
  4108. (&#39;ro&#39;, &#39;Romanian&#39;),
  4109. (&#39;ru&#39;, &#39;Russian&#39;),
  4110. (&#39;sk&#39;, &#39;Slovak&#39;),
  4111. (&#39;sl&#39;, &#39;Slovenian&#39;),
  4112. (&#39;sq&#39;, &#39;Albanian&#39;),
  4113. (&#39;sr&#39;, &#39;Serbian&#39;),
  4114. (&#39;sr-latn&#39;, &#39;Serbian Latin&#39;),
  4115. (&#39;sv&#39;, &#39;Swedish&#39;),
  4116. (&#39;sw&#39;, &#39;Swahili&#39;),
  4117. (&#39;ta&#39;, &#39;Tamil&#39;),
  4118. (&#39;te&#39;, &#39;Telugu&#39;),
  4119. (&#39;th&#39;, &#39;Thai&#39;),
  4120. (&#39;tr&#39;, &#39;Turkish&#39;),
  4121. (&#39;tt&#39;, &#39;Tatar&#39;),
  4122. (&#39;udm&#39;, &#39;Udmurt&#39;),
  4123. (&#39;uk&#39;, &#39;Ukrainian&#39;),
  4124. (&#39;ur&#39;, &#39;Urdu&#39;),
  4125. (&#39;vi&#39;, &#39;Vietnamese&#39;),
  4126. (&#39;zh-hans&#39;, &#39;Simplified Chinese&#39;),
  4127. (&#39;zh-hant&#39;, &#39;Traditional Chinese&#39;)]</pre></td>
  4128. </tr>
  4129.  
  4130. <tr>
  4131. <td>CSRF_COOKIE_PATH</td>
  4132. <td class="code"><pre>&#39;/&#39;</pre></td>
  4133. </tr>
  4134.  
  4135. <tr>
  4136. <td>DATETIME_INPUT_FORMATS</td>
  4137. <td class="code"><pre>[&#39;%Y-%m-%d %H:%M:%S&#39;,
  4138. &#39;%Y-%m-%d %H:%M:%S.%f&#39;,
  4139. &#39;%Y-%m-%d %H:%M&#39;,
  4140. &#39;%Y-%m-%d&#39;,
  4141. &#39;%m/%d/%Y %H:%M:%S&#39;,
  4142. &#39;%m/%d/%Y %H:%M:%S.%f&#39;,
  4143. &#39;%m/%d/%Y %H:%M&#39;,
  4144. &#39;%m/%d/%Y&#39;,
  4145. &#39;%m/%d/%y %H:%M:%S&#39;,
  4146. &#39;%m/%d/%y %H:%M:%S.%f&#39;,
  4147. &#39;%m/%d/%y %H:%M&#39;,
  4148. &#39;%m/%d/%y&#39;]</pre></td>
  4149. </tr>
  4150.  
  4151. <tr>
  4152. <td>BASE_DIR</td>
  4153. <td class="code"><pre>&#39;/home/ubuntu/ilist&#39;</pre></td>
  4154. </tr>
  4155.  
  4156. <tr>
  4157. <td>SESSION_COOKIE_NAME</td>
  4158. <td class="code"><pre>&#39;sessionid&#39;</pre></td>
  4159. </tr>
  4160.  
  4161. <tr>
  4162. <td>DEFAULT_FROM_EMAIL</td>
  4163. <td class="code"><pre>&#39;noreply@ilistambassador.com&#39;</pre></td>
  4164. </tr>
  4165.  
  4166. <tr>
  4167. <td>SHORT_DATE_FORMAT</td>
  4168. <td class="code"><pre>&#39;m/d/Y&#39;</pre></td>
  4169. </tr>
  4170.  
  4171. <tr>
  4172. <td>DEFAULT_ADMIN_MAILS</td>
  4173. <td class="code"><pre>[&#39;david.larsson@ilist.se&#39;, &#39;johan.viberg@ilist.se&#39;, &#39;defsyde@gmail.com&#39;]</pre></td>
  4174. </tr>
  4175.  
  4176. <tr>
  4177. <td>SECURE_SSL_REDIRECT</td>
  4178. <td class="code"><pre>False</pre></td>
  4179. </tr>
  4180.  
  4181. <tr>
  4182. <td>CORS_ORIGIN_ALLOW_ALL</td>
  4183. <td class="code"><pre>True</pre></td>
  4184. </tr>
  4185.  
  4186. <tr>
  4187. <td>SERVER_EMAIL</td>
  4188. <td class="code"><pre>&#39;noreply@ilistambassador.com&#39;</pre></td>
  4189. </tr>
  4190.  
  4191. <tr>
  4192. <td>DATETIME_FORMAT</td>
  4193. <td class="code"><pre>&#39;N j, Y, P&#39;</pre></td>
  4194. </tr>
  4195.  
  4196. <tr>
  4197. <td>DISALLOWED_USER_AGENTS</td>
  4198. <td class="code"><pre>[]</pre></td>
  4199. </tr>
  4200.  
  4201. <tr>
  4202. <td>TEMPLATE_DEBUG</td>
  4203. <td class="code"><pre>False</pre></td>
  4204. </tr>
  4205.  
  4206. <tr>
  4207. <td>USE_THOUSAND_SEPARATOR</td>
  4208. <td class="code"><pre>False</pre></td>
  4209. </tr>
  4210.  
  4211. <tr>
  4212. <td>CACHE_MIDDLEWARE_SECONDS</td>
  4213. <td class="code"><pre>600</pre></td>
  4214. </tr>
  4215.  
  4216. <tr>
  4217. <td>THOUSAND_SEPARATOR</td>
  4218. <td class="code"><pre>&#39;,&#39;</pre></td>
  4219. </tr>
  4220.  
  4221. <tr>
  4222. <td>EMAIL_SSL_CERTFILE</td>
  4223. <td class="code"><pre>None</pre></td>
  4224. </tr>
  4225.  
  4226. <tr>
  4227. <td>ALLOWED_INCLUDE_ROOTS</td>
  4228. <td class="code"><pre>[]</pre></td>
  4229. </tr>
  4230.  
  4231. <tr>
  4232. <td>AWS_ACCESS_KEY_ID</td>
  4233. <td class="code"><pre>&#39;********************&#39;</pre></td>
  4234. </tr>
  4235.  
  4236. <tr>
  4237. <td>LOGOUT_URL</td>
  4238. <td class="code"><pre>&#39;/accounts/logout/&#39;</pre></td>
  4239. </tr>
  4240.  
  4241. <tr>
  4242. <td>EMAIL_TIMEOUT</td>
  4243. <td class="code"><pre>None</pre></td>
  4244. </tr>
  4245.  
  4246. <tr>
  4247. <td>FILE_UPLOAD_PERMISSIONS</td>
  4248. <td class="code"><pre>None</pre></td>
  4249. </tr>
  4250.  
  4251. <tr>
  4252. <td>MEDIA_ROOT</td>
  4253. <td class="code"><pre>&#39;/home/ubuntu/ilist/media/&#39;</pre></td>
  4254. </tr>
  4255.  
  4256. <tr>
  4257. <td>ADMINS</td>
  4258. <td class="code"><pre>[]</pre></td>
  4259. </tr>
  4260.  
  4261. <tr>
  4262. <td>LANGUAGE_COOKIE_PATH</td>
  4263. <td class="code"><pre>&#39;/&#39;</pre></td>
  4264. </tr>
  4265.  
  4266. <tr>
  4267. <td>TEST_NON_SERIALIZED_APPS</td>
  4268. <td class="code"><pre>[]</pre></td>
  4269. </tr>
  4270.  
  4271. <tr>
  4272. <td>SESSION_COOKIE_SECURE</td>
  4273. <td class="code"><pre>False</pre></td>
  4274. </tr>
  4275.  
  4276. <tr>
  4277. <td>FILE_UPLOAD_TEMP_DIR</td>
  4278. <td class="code"><pre>None</pre></td>
  4279. </tr>
  4280.  
  4281. <tr>
  4282. <td>ALLOWED_HOSTS</td>
  4283. <td class="code"><pre>[&#39;*&#39;]</pre></td>
  4284. </tr>
  4285.  
  4286. <tr>
  4287. <td>NUMBER_GROUPING</td>
  4288. <td class="code"><pre>0</pre></td>
  4289. </tr>
  4290.  
  4291. <tr>
  4292. <td>LOCALE_PATHS</td>
  4293. <td class="code"><pre>[]</pre></td>
  4294. </tr>
  4295.  
  4296. <tr>
  4297. <td>LANGUAGES_BIDI</td>
  4298. <td class="code"><pre>[&#39;he&#39;, &#39;ar&#39;, &#39;fa&#39;, &#39;ur&#39;]</pre></td>
  4299. </tr>
  4300.  
  4301. <tr>
  4302. <td>SESSION_COOKIE_HTTPONLY</td>
  4303. <td class="code"><pre>True</pre></td>
  4304. </tr>
  4305.  
  4306. <tr>
  4307. <td>SESSION_COOKIE_DOMAIN</td>
  4308. <td class="code"><pre>None</pre></td>
  4309. </tr>
  4310.  
  4311. <tr>
  4312. <td>DATE_INPUT_FORMATS</td>
  4313. <td class="code"><pre>[&#39;%Y-%m-%d&#39;,
  4314. &#39;%m/%d/%Y&#39;,
  4315. &#39;%m/%d/%y&#39;,
  4316. &#39;%b %d %Y&#39;,
  4317. &#39;%b %d, %Y&#39;,
  4318. &#39;%d %b %Y&#39;,
  4319. &#39;%d %b, %Y&#39;,
  4320. &#39;%B %d %Y&#39;,
  4321. &#39;%B %d, %Y&#39;,
  4322. &#39;%d %B %Y&#39;,
  4323. &#39;%d %B, %Y&#39;]</pre></td>
  4324. </tr>
  4325.  
  4326. <tr>
  4327. <td>EMAIL_SUBJECT_PREFIX</td>
  4328. <td class="code"><pre>&#39;[Django] &#39;</pre></td>
  4329. </tr>
  4330.  
  4331. <tr>
  4332. <td>SESSION_COOKIE_AGE</td>
  4333. <td class="code"><pre>1209600</pre></td>
  4334. </tr>
  4335.  
  4336. <tr>
  4337. <td>SETTINGS_MODULE</td>
  4338. <td class="code"><pre>&#39;ilist.settings&#39;</pre></td>
  4339. </tr>
  4340.  
  4341. <tr>
  4342. <td>AUTHENTICATION_BACKENDS</td>
  4343. <td class="code"><pre>(&#39;rest_framework_social_oauth2.backends.DjangoOAuth2&#39;,
  4344. &#39;django.contrib.auth.backends.ModelBackend&#39;,
  4345. &#39;social.backends.facebook.FacebookAppOAuth2&#39;,
  4346. &#39;social.backends.facebook.FacebookOAuth2&#39;,
  4347. &#39;rest_framework_social_oauth2.backends.DjangoOAuth2&#39;,
  4348. &#39;django.contrib.auth.backends.ModelBackend&#39;)</pre></td>
  4349. </tr>
  4350.  
  4351. <tr>
  4352. <td>ROOT_URLCONF</td>
  4353. <td class="code"><pre>&#39;ilist.urls&#39;</pre></td>
  4354. </tr>
  4355.  
  4356. <tr>
  4357. <td>CSRF_HEADER_NAME</td>
  4358. <td class="code"><pre>&#39;HTTP_X_CSRFTOKEN&#39;</pre></td>
  4359. </tr>
  4360.  
  4361. <tr>
  4362. <td>PUSH_NOTIFICATIONS_SETTINGS</td>
  4363. <td class="code"><pre>{&#39;APNS_CERTIFICATE&#39;: &#39;/home/ubuntu/ilist/push/pushcert.pem&#39;,
  4364. &#39;APNS_ERROR_TIMEOUT&#39;: None,
  4365. &#39;APNS_FEEDBACK_HOST&#39;: &#39;feedback.sandbox.push.apple.com&#39;,
  4366. &#39;APNS_FEEDBACK_PORT&#39;: 2196,
  4367. &#39;APNS_HOST&#39;: &#39;gateway.sandbox.push.apple.com&#39;,
  4368. &#39;APNS_MAX_NOTIFICATION_SIZE&#39;: 2048,
  4369. &#39;APNS_PORT&#39;: 2195,
  4370. &#39;GCM_API_KEY&#39;: &#39;********************&#39;,
  4371. &#39;GCM_MAX_RECIPIENTS&#39;: 1000,
  4372. &#39;GCM_POST_URL&#39;: &#39;https://android.googleapis.com/gcm/send&#39;}</pre></td>
  4373. </tr>
  4374.  
  4375. <tr>
  4376. <td>SESSION_SERIALIZER</td>
  4377. <td class="code"><pre>&#39;django.contrib.sessions.serializers.JSONSerializer&#39;</pre></td>
  4378. </tr>
  4379.  
  4380. <tr>
  4381. <td>DEFAULT_CHARSET</td>
  4382. <td class="code"><pre>&#39;utf-8&#39;</pre></td>
  4383. </tr>
  4384.  
  4385. </tbody>
  4386. </table>
  4387.  
  4388. </div>
  4389.  
  4390. <div id="explanation">
  4391. <p>
  4392. You're seeing this error because you have <code>DEBUG = True</code> in your
  4393. Django settings file. Change that to <code>False</code>, and Django will
  4394. display a standard page generated by the handler for this status code.
  4395. </p>
  4396. </div>
  4397.  
  4398. </body>
  4399. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement