Re: [Mediawiki-api] Cannot create page

2018-08-20 Thread Matthew H. Cahn
Thanks, Brad.  Yes, I was being lazy since the token is always the same.

Matthew

||  Matthew Cahn  |  Linux Administrator  |  Dept. of Molecular Biology / 
Research Computing  |  Princeton University  |  (609) 258-5404  |  
mc...@princeton.edu  ||


___
Mediawiki-api mailing list
Mediawiki-api@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-api


Re: [Mediawiki-api] Cannot create page

2018-08-17 Thread Brad Jorsch (Anomie)
On Fri, Aug 17, 2018 at 11:45 AM, Matthew H. Cahn  wrote:
> r = requests.get(baseUrl, params=params)
>
> print(r)
> print(r.text)
>
> params = {'action': 'edit',
>   'title': 'TestPage3',
>   'summary': 'Test summary',
>   'text': 'article content',
>   'token': '+\\'}

You should be using the token in the response (r) here, not
hard-coding the current anonymous-user "+\" token.


-- 
Brad Jorsch (Anomie)
Senior Software Engineer
Wikimedia Foundation

___
Mediawiki-api mailing list
Mediawiki-api@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-api


Re: [Mediawiki-api] Cannot create page

2018-08-17 Thread Matthew H. Cahn
Oh, of course, POST, thanks.  Now it works, after also removing the “r” (raw 
string) from the token since it already has an escaped backslash, and removing 
urllib.parse.urlencode from the parameters.  Here’s the working version in case 
anyone would like to see it:

#!/bin/env python

import requests

baseUrl = 'http://chlamyannotations-test2.princeton.edu/api.php'

params = {'action': 'query',
  'meta': 'tokens'}

responseFilename = '/molbio2/mcahn/temp/createPagesResponse.html'

r = requests.get(baseUrl, params=params)

print(r)
print(r.text)

params = {'action': 'edit',
  'title': 'TestPage3',
  'summary': 'Test summary',
  'text': 'article content',
  'token': '+\\'}

f = open(responseFilename, 'w')

r = requests.post(baseUrl, data=params)

print(r)
f.write(r.text)
f.close()


||  Matthew Cahn  |  Linux Administrator  |  Dept. of Molecular Biology / 
Research Computing  |  Princeton University  |  (609) 258-5404  |  
mc...@princeton.edu  ||


___
Mediawiki-api mailing list
Mediawiki-api@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-api


Re: [Mediawiki-api] Cannot create page

2018-08-16 Thread Bartosz Dziewoński

You'll need to use POST instead of PUT.

--
Bartosz Dziewoński

___
Mediawiki-api mailing list
Mediawiki-api@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-api


[Mediawiki-api] Cannot create page

2018-08-16 Thread Matthew H. Cahn
Hi, I’m trying to create a page programmatically.  I can get a token back from 
a GET, but doing an action=edit in a PUT does not create the page.  The 
response I get back is the MediaWiki API help page.

My Python code is below.  Can anyone see what I’m doing wrong?

Thanks,
Matthew



#!/bin/env python

import requests
import urllib
import urllib.parse


baseUrl = 'http://chlamyannotations-test2.princeton.edu/api.php'

params = {'action': 'query',
  'meta': 'tokens'}

responseFilename = '/molbio2/mcahn/temp/createPagesResponse.html'

r = requests.get(baseUrl, params=params)

print(r)
print(r.text)

params = {'action': 'edit',
  'title': 'TestPage',
  'summary': 'Test summary',
  'text': 'article content',
  'token': r'+\\'}

f = open(responseFilename, 'w')

r = requests.put(baseUrl, data=urllib.parse.urlencode(params))
print(r)
f.write(r.text)
f.close()



||  Matthew Cahn  |  Linux Administrator  |  Dept. of Molecular Biology / 
Research Computing  |  Princeton University  |  (609) 258-5404  |  
mc...@princeton.edu  ||


___
Mediawiki-api mailing list
Mediawiki-api@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-api