API request is not returning the value properlyHow do I sort a list of dictionaries by a value of the dictionary?How to return multiple values from a function?How do I sort a dictionary by value?What are the differences between the urllib, urllib2, and requests module?How to access environment variable values?How to get share's url of a file using Dropbox python API?Request Headers: 41d9251ae3b6e89193fe, what does it mean?Python Web data colectingdata get requests from a website with unsupported browser error
Why does my circuit work on a breadboard, but not on a perfboard? I am new to soldering
Could there be a material that inverts the colours seen through it?
On studying Computer Science vs. Software Engineering to become a proficient coder
what does a native speaker say when he wanted to leave his work?
What to do if SUS scores contradict qualitative feedback?
How much Replacement does this axiom provide?
Is this a security concern for ubuntu users?
Effects of ~10atm pressure on engine design
What are the implications of the new alleged key recovery attack preprint on SIMON?
Unexpected Netflix account registered to my Gmail address - any way it could be a hack attempt?
Can I say: "When was your train leaving?" if the train leaves in the future?
Entering the UK as a British citizen who is a Canadian permanent resident
Is the expression "To think you would stoop so low" often misused?
Why is a set not a partition of itself?
How to cope with regret and shame about not fully utilizing opportunities during PhD?
Why did the metro bus stop at each railway crossing, despite no warning indicating a train was coming?
Is there ever any indication in the MCU as to how Spider-Man got his powers?
Can a tourist shoot a gun in the USA?
What makes "quality" analog AV cables better than cheap cables?
What episode was being referenced by this part of Discovery's season 2 episode 13 recap?
using `is` operator with value type tuples gives error
Automatically anti-predictably assemble an alliterative aria
Why is it harder to turn a motor/generator with shorted terminals?
Rounding a number extracted by jq to limit the decimal points
API request is not returning the value properly
How do I sort a list of dictionaries by a value of the dictionary?How to return multiple values from a function?How do I sort a dictionary by value?What are the differences between the urllib, urllib2, and requests module?How to access environment variable values?How to get share's url of a file using Dropbox python API?Request Headers: 41d9251ae3b6e89193fe, what does it mean?Python Web data colectingdata get requests from a website with unsupported browser error
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I need to validate a CSV file on the site CSVLint (https://csvlint.io)
Guide on using the API can be found here: https://csvlint.io/documentation
The problem is that when I request a JSON file from the site, I don't get proper response, I get an empty list. When I access the site from the browser using the authentication link, I get the full authentication results.
What am I doing wrong?
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
#link='https'+csvid[5:]
request=requests.get(csvid).text
print(request)
The aim is to get the content of csvid
JSON link.
In Python, in print(request)
I get:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":[]
In browser I get:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
python python-3.x python-requests
add a comment |
I need to validate a CSV file on the site CSVLint (https://csvlint.io)
Guide on using the API can be found here: https://csvlint.io/documentation
The problem is that when I request a JSON file from the site, I don't get proper response, I get an empty list. When I access the site from the browser using the authentication link, I get the full authentication results.
What am I doing wrong?
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
#link='https'+csvid[5:]
request=requests.get(csvid).text
print(request)
The aim is to get the content of csvid
JSON link.
In Python, in print(request)
I get:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":[]
In browser I get:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
python python-3.x python-requests
add a comment |
I need to validate a CSV file on the site CSVLint (https://csvlint.io)
Guide on using the API can be found here: https://csvlint.io/documentation
The problem is that when I request a JSON file from the site, I don't get proper response, I get an empty list. When I access the site from the browser using the authentication link, I get the full authentication results.
What am I doing wrong?
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
#link='https'+csvid[5:]
request=requests.get(csvid).text
print(request)
The aim is to get the content of csvid
JSON link.
In Python, in print(request)
I get:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":[]
In browser I get:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
python python-3.x python-requests
I need to validate a CSV file on the site CSVLint (https://csvlint.io)
Guide on using the API can be found here: https://csvlint.io/documentation
The problem is that when I request a JSON file from the site, I don't get proper response, I get an empty list. When I access the site from the browser using the authentication link, I get the full authentication results.
What am I doing wrong?
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
#link='https'+csvid[5:]
request=requests.get(csvid).text
print(request)
The aim is to get the content of csvid
JSON link.
In Python, in print(request)
I get:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":[]
In browser I get:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
python python-3.x python-requests
python python-3.x python-requests
edited Mar 23 at 20:40
Sébastien Lavoie
502313
502313
asked Mar 23 at 13:19
XeorezXeorez
235
235
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Try to simply delay your request like so:
import time
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
time.sleep(5)
request=requests.get(csvid).text
print(request)
I get the correct output with this modification:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
This is due to the way the package is handled with their API, as pointed out in another answer:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
Thank you very much for clarification, I did not understand what was meant by saying that the package is not immediately available.
– Xeorez
Mar 23 at 20:38
You're welcome! I didn't find the documentation to be worded clearly either...
– Sébastien Lavoie
Mar 23 at 21:39
add a comment |
There is a line in the API guidance that says:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
This is right at the stage where you are getting the empty return. Indeed, even with selenium a refresh is needed for info to appear.
It may be that you currently need a method like selenium for this step and possibly the final one. At the very least a delay for package to become ready.
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import json
d = webdriver.Chrome()
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
with requests.Session() as s:
response = s.post('http://csvlint.io/package.json', data=data,headers=header)
first = response.json()
csvid = first['package']['url'] + '.json'
d.get(csvid)
d.refresh()
data = WebDriverWait(d, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, "pre"))).text
validationUrl = json.loads(data)['package']['validations'][0]['url']
final = s.get(validationUrl + '.json').json()
print(final)
d.quit()
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55314131%2fapi-request-is-not-returning-the-value-properly%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Try to simply delay your request like so:
import time
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
time.sleep(5)
request=requests.get(csvid).text
print(request)
I get the correct output with this modification:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
This is due to the way the package is handled with their API, as pointed out in another answer:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
Thank you very much for clarification, I did not understand what was meant by saying that the package is not immediately available.
– Xeorez
Mar 23 at 20:38
You're welcome! I didn't find the documentation to be worded clearly either...
– Sébastien Lavoie
Mar 23 at 21:39
add a comment |
Try to simply delay your request like so:
import time
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
time.sleep(5)
request=requests.get(csvid).text
print(request)
I get the correct output with this modification:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
This is due to the way the package is handled with their API, as pointed out in another answer:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
Thank you very much for clarification, I did not understand what was meant by saying that the package is not immediately available.
– Xeorez
Mar 23 at 20:38
You're welcome! I didn't find the documentation to be worded clearly either...
– Sébastien Lavoie
Mar 23 at 21:39
add a comment |
Try to simply delay your request like so:
import time
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
time.sleep(5)
request=requests.get(csvid).text
print(request)
I get the correct output with this modification:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
This is due to the way the package is handled with their API, as pointed out in another answer:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
Try to simply delay your request like so:
import time
import requests
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
response = requests.post('http://csvlint.io/package.json', data=data,headers=header)
first=response.json()
csvid=first['package']['url']+'.json'
time.sleep(5)
request=requests.get(csvid).text
print(request)
I get the correct output with this modification:
"version":"0.1","licence":"http://opendatacommons.org/licenses/odbl/","package":"validations":["url":"https://csvlint.io/validation/5c937a85b1b6fc0004000047","source":"https://www.wien.gv.at/statistik/ogd/vie_104.csv","state":"warnings"]
This is due to the way the package is handled with their API, as pointed out in another answer:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
edited Mar 23 at 19:08
answered Mar 23 at 18:53
Sébastien LavoieSébastien Lavoie
502313
502313
Thank you very much for clarification, I did not understand what was meant by saying that the package is not immediately available.
– Xeorez
Mar 23 at 20:38
You're welcome! I didn't find the documentation to be worded clearly either...
– Sébastien Lavoie
Mar 23 at 21:39
add a comment |
Thank you very much for clarification, I did not understand what was meant by saying that the package is not immediately available.
– Xeorez
Mar 23 at 20:38
You're welcome! I didn't find the documentation to be worded clearly either...
– Sébastien Lavoie
Mar 23 at 21:39
Thank you very much for clarification, I did not understand what was meant by saying that the package is not immediately available.
– Xeorez
Mar 23 at 20:38
Thank you very much for clarification, I did not understand what was meant by saying that the package is not immediately available.
– Xeorez
Mar 23 at 20:38
You're welcome! I didn't find the documentation to be worded clearly either...
– Sébastien Lavoie
Mar 23 at 21:39
You're welcome! I didn't find the documentation to be worded clearly either...
– Sébastien Lavoie
Mar 23 at 21:39
add a comment |
There is a line in the API guidance that says:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
This is right at the stage where you are getting the empty return. Indeed, even with selenium a refresh is needed for info to appear.
It may be that you currently need a method like selenium for this step and possibly the final one. At the very least a delay for package to become ready.
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import json
d = webdriver.Chrome()
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
with requests.Session() as s:
response = s.post('http://csvlint.io/package.json', data=data,headers=header)
first = response.json()
csvid = first['package']['url'] + '.json'
d.get(csvid)
d.refresh()
data = WebDriverWait(d, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, "pre"))).text
validationUrl = json.loads(data)['package']['validations'][0]['url']
final = s.get(validationUrl + '.json').json()
print(final)
d.quit()
add a comment |
There is a line in the API guidance that says:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
This is right at the stage where you are getting the empty return. Indeed, even with selenium a refresh is needed for info to appear.
It may be that you currently need a method like selenium for this step and possibly the final one. At the very least a delay for package to become ready.
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import json
d = webdriver.Chrome()
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
with requests.Session() as s:
response = s.post('http://csvlint.io/package.json', data=data,headers=header)
first = response.json()
csvid = first['package']['url'] + '.json'
d.get(csvid)
d.refresh()
data = WebDriverWait(d, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, "pre"))).text
validationUrl = json.loads(data)['package']['validations'][0]['url']
final = s.get(validationUrl + '.json').json()
print(final)
d.quit()
add a comment |
There is a line in the API guidance that says:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
This is right at the stage where you are getting the empty return. Indeed, even with selenium a refresh is needed for info to appear.
It may be that you currently need a method like selenium for this step and possibly the final one. At the very least a delay for package to become ready.
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import json
d = webdriver.Chrome()
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
with requests.Session() as s:
response = s.post('http://csvlint.io/package.json', data=data,headers=header)
first = response.json()
csvid = first['package']['url'] + '.json'
d.get(csvid)
d.refresh()
data = WebDriverWait(d, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, "pre"))).text
validationUrl = json.loads(data)['package']['validations'][0]['url']
final = s.get(validationUrl + '.json').json()
print(final)
d.quit()
There is a line in the API guidance that says:
Note Currently the package is created in the background, so may not be
available immediately. This will change in the future.
This is right at the stage where you are getting the empty return. Indeed, even with selenium a refresh is needed for info to appear.
It may be that you currently need a method like selenium for this step and possibly the final one. At the very least a delay for package to become ready.
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import json
d = webdriver.Chrome()
data =
'urls[]': 'https://www.wien.gv.at/statistik/ogd/vie_104.csv'
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'
header='User-Agent' : user_agent
with requests.Session() as s:
response = s.post('http://csvlint.io/package.json', data=data,headers=header)
first = response.json()
csvid = first['package']['url'] + '.json'
d.get(csvid)
d.refresh()
data = WebDriverWait(d, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, "pre"))).text
validationUrl = json.loads(data)['package']['validations'][0]['url']
final = s.get(validationUrl + '.json').json()
print(final)
d.quit()
edited Mar 24 at 5:16
answered Mar 23 at 18:49
QHarrQHarr
41.9k82447
41.9k82447
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55314131%2fapi-request-is-not-returning-the-value-properly%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown