Skip to content

Commit

Permalink
make examples python-3 compatible (#121)
Browse files Browse the repository at this point in the history
* make basic_edit.py and upload.py python-3 compatible
  • Loading branch information
waldyrious authored and danmichaelo committed May 9, 2016
1 parent e37bf20 commit 3345d57
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 27 deletions.
36 changes: 18 additions & 18 deletions examples/basic_edit.py
@@ -1,9 +1,10 @@
from __future__ import print_function
import sys, os

if len(sys.argv) > 3:
sys.path.append(os.path.abspath(sys.argv[3]))
if len(sys.argv) < 3:
print 'python basic_edit_test.py <config> <prefix> [<include path>]'
print
print('python basic_edit_test.py <config> <prefix> [<include path>]\n')
sys.exit()

## Create a config file containing:
Expand All @@ -13,7 +14,6 @@
# username = 'Bryan'
# password = 'xyz'


prefix = sys.argv[2]

#import cgitb; cgitb.enable(format = 'text')
Expand All @@ -24,12 +24,12 @@
site = mwclient.ex.ConfiguredSite(sys.argv[1])
site.compress = False

print 'Running configured site', sys.argv[1]
print 'Site has writeapi:', getattr(site, 'writeapi', False)
print('Running configured site', sys.argv[1])
print('Site has writeapi:', getattr(site, 'writeapi', False))

page = site.Pages[prefix + '/text1']

print 'Editing page1'
print('Editing page1')

page.edit()
text1 = u"""== [[Test page]] ==
Expand All @@ -41,32 +41,32 @@
rev = page.revisions(limit = 1, prop = 'timestamp|comment|content').next()
assert rev['comment'] == comment1, rev
assert rev['*'] == rev['*'], rev
print 'Page edited on', rev['timestamp']
print 'Links:', list(page.links(generator = False))
print 'External links:', list(page.extlinks())
print('Page edited on', rev['timestamp'])
print('Links:', list(page.links(generator = False)))
print('External links:', list(page.extlinks()))

print 'Uploading image'
print('Uploading image')
site.upload(open('test-image.png', 'rb'), prefix + '-test-image.png', 'desc', ignore = True)
print 'Uploading image for the second time'
print('Uploading image for the second time')
site.upload(open('test-image.png', 'rb'), prefix + '-test-image.png', 'desc', ignore = True)
image = site.Images[prefix + '-test-image.png']
print 'Imageinfo:', image.imageinfo
print('Imageinfo:', image.imageinfo)
history = list(image.imagehistory())
print 'History:', history
print('History:', history)

if site.writeapi:
print 'Deleting old version'
print('Deleting old version')
archivename = history[1]['archivename']
image.delete('Testing history deletion', oldimage = archivename)
print 'History:', list(image.imagehistory())
print('History:', list(image.imagehistory()))

text = page.edit()
text += u'\n[[Image:%s-test-image.png]]' % prefix
page.save(text, 'Adding image')
print 'Images:', list(page.images(generator = False))
print('Images:', list(page.images(generator = False)))

print 'Cleaning up'
print('Cleaning up')
image.delete('Cleanup')
page.delete('Cleanup')

print 'Done'
print('Done')
17 changes: 8 additions & 9 deletions examples/upload.py
@@ -1,13 +1,14 @@
from __future__ import print_function
from past.builtins import xrange
import sys
import os
import pprint

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../')))
import mwclient


if len(sys.argv) < 3:
print sys.argv[0], 'username', 'password', '[host=test.wikipedia.org]', '[path=/w/]'
print(sys.argv[0], 'username', 'password', '[host=test.wikipedia.org]', '[path=/w/]')
sys.exit()
if len(sys.argv) > 3:
host = sys.argv[3]
Expand All @@ -18,37 +19,35 @@
else:
path = '/w/'


site = mwclient.Site(host, path)
site.login(sys.argv[1], sys.argv[2])


import random
name = ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for i in xrange(8)) + '.png'

print 'Using http://%s%sindex.php?title=File:' % (host, path) + name
print 'Regular upload test'
print('Using http://%s%sindex.php?title=File:' % (host, path) + name)
print('Regular upload test')

res = site.upload(open('test-image.png', 'rb'), name, 'Regular upload test', ignore=True)
pprint.pprint(res)
assert res['result'] == 'Success'
assert 'exists' not in res['warnings']

print 'Overwriting; should give a warning'
print('Overwriting; should give a warning')
res = site.upload(open('test-image.png', 'rb'), name, 'Overwrite upload test')
pprint.pprint(res)
assert res['result'] == 'Warning'
assert 'exists' in res['warnings']

ses = res['sessionkey']

print 'Overwriting with stashed file'
print('Overwriting with stashed file')
res = site.upload(filename=name, filekey=ses)
pprint.pprint(res)
assert res['result'] == 'Warning'
assert 'duplicate' in res['warnings']
assert 'exists' in res['warnings']

print 'Uploading empty file; error expected'
print('Uploading empty file; error expected')
from StringIO import StringIO
res = site.upload(StringIO(), name, 'Empty upload test')

0 comments on commit 3345d57

Please sign in to comment.