Revision: 4494
Author: huji
Date: 2007-11-01 17:22:52 +0000 (Thu, 01 Nov 2007)
Log Message:
-----------
Restroing import.py and removing pageimport.py, because the last rename resulted in loss of file's history
Added Paths:
-----------
trunk/pywikipedia/import.py
Removed Paths:
-------------
trunk/pywikipedia/pageimport.py
Copied: trunk/pywikipedia/import.py (from rev 4230, trunk/pywikipedia/import.py)
===================================================================
--- trunk/pywikipedia/import.py (rev 0)
+++ trunk/pywikipedia/import.py 2007-11-01 17:22:52 UTC (rev 4494)
@@ -0,0 +1,105 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+"""
+This is a script to import pages from a certain wiki to another.
+
+This requires administrator privileges.
+"""
+#
+# (C) Filnik, 2007
+#
+# Greetings:
+# Lorenzo Paulatto and Misza13
+#
+# Distributed under the terms of the MIT license.
+#
+
+__version__='$Id:'
+
+import wikipedia
+
+# Global variables
+site = wikipedia.getSite()
+# ################################################################ #
+def main():
+ # Defing what page to load..
+ pagetoload = 'Apple'
+ importerbot = Importer(site) # Inizializing
+ importerbot.Import(pagetoload, prompt = True)
+
+"""
+****************************************************************************
+System functions follow: no changes should be necessary!
+****************************************************************************
+"""
+
+import urllib
+import login, config
+
+class Importer(wikipedia.Page):
+ def __init__(self, site):
+ wikipedia.Page.__init__(self, site, 'Special:Import', None, 0)
+
+ def Import(self, target, project = 'w', crono = '1', namespace = '', prompt = True):
+ """Import the page from the wiki. Requires administrator status.
+ If prompt is True, asks the user if he wants to delete the page.
+ """
+ # Fixing the crono value...
+ if crono == True:
+ crono = '1'
+ elif crono == False:
+ crono = '0'
+ elif crono == '0':
+ pass
+ elif crono == '1':
+ pass
+ else:
+ wikipedia.output(u'Crono value set wrongly.')
+ wikipedia.stopme()
+ # Fixing namespace's value.
+ if namespace == '0':
+ namespace == ''
+ answer = 'y'
+ if prompt:
+ answer = wikipedia.inputChoice(u'Do you want to import %s?' % target, ['Yes', 'No'], ['y', 'N'], 'N')
+ if answer in ['y', 'Y']:
+ host = self.site().hostname()
+ address = '/w/index.php?title=%s&action=submit' % self.urlname()
+ # You need to be a sysop for the import.
+ self.site().forceLogin(sysop = True)
+ # Getting the token.
+ token = self.site().getToken(self, sysop = True)
+ # Defing the predata.
+ predata = {
+ 'action' : 'submit',
+ 'source' : 'interwiki',
+ # from what project do you want to import the page?
+ 'interwiki' : project,
+ # What is the page that you want to import?
+ 'frompage' : target,
+ # The entire history... or not?
+ 'interwikiHistory' : crono,
+ # What namespace do you want?
+ 'namespace': '',
+ }
+ if self.site().hostname() in config.authenticate.keys():
+ predata['Content-type'] = 'application/x-www-form-urlencoded'
+ predata['User-agent'] = useragent
+ data = self.site().urlEncode(predata)
+ response = urllib2.urlopen(urllib2.Request('http://' + self.site().hostname() + address, data))
+ data = u''
+ else:
+ response, data = self.site().postForm(address, predata, sysop = True)
+ if data:
+ wikipedia.output(u'Page imported, checking...')
+ if wikipedia.Page(site, target).exists():
+ wikipedia.output(u'Import success!')
+ return True
+ else:
+ wikipedia.output(u'Import failed!')
+ return False
+if __name__=='__main__':
+ try:
+ main()
+ finally:
+ wikipedia.stopme()
\ No newline at end of file
Deleted: trunk/pywikipedia/pageimport.py
===================================================================
--- trunk/pywikipedia/pageimport.py 2007-11-01 16:18:53 UTC (rev 4493)
+++ trunk/pywikipedia/pageimport.py 2007-11-01 17:22:52 UTC (rev 4494)
@@ -1,105 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-"""
-This is a script to import pages from a certain wiki to another.
-
-This requires administrator privileges.
-"""
-#
-# (C) Filnik, 2007
-#
-# Greetings:
-# Lorenzo Paulatto and Misza13
-#
-# Distributed under the terms of the MIT license.
-#
-
-__version__ = '$Id: pageimport.py 4336 2007-09-20 14:51:04Z wikipedian $'
-
-import wikipedia
-
-# Global variables
-site = wikipedia.getSite()
-# ################################################################ #
-def main():
- # Defing what page to load..
- pagetoload = 'Apple'
- importerbot = Importer(site) # Inizializing
- importerbot.Import(pagetoload, prompt = True)
-
-"""
-****************************************************************************
-System functions follow: no changes should be necessary!
-****************************************************************************
-"""
-
-import urllib
-import login, config
-
-class Importer(wikipedia.Page):
- def __init__(self, site):
- wikipedia.Page.__init__(self, site, 'Special:Import', None, 0)
-
- def Import(self, target, project = 'w', crono = '1', namespace = '', prompt = True):
- """Import the page from the wiki. Requires administrator status.
- If prompt is True, asks the user if he wants to delete the page.
- """
- # Fixing the crono value...
- if crono == True:
- crono = '1'
- elif crono == False:
- crono = '0'
- elif crono == '0':
- pass
- elif crono == '1':
- pass
- else:
- wikipedia.output(u'Crono value set wrongly.')
- wikipedia.stopme()
- # Fixing namespace's value.
- if namespace == '0':
- namespace == ''
- answer = 'y'
- if prompt:
- answer = wikipedia.inputChoice(u'Do you want to import %s?' % target, ['Yes', 'No'], ['y', 'N'], 'N')
- if answer in ['y', 'Y']:
- host = self.site().hostname()
- address = '/w/index.php?title=%s&action=submit' % self.urlname()
- # You need to be a sysop for the import.
- self.site().forceLogin(sysop = True)
- # Getting the token.
- token = self.site().getToken(self, sysop = True)
- # Defing the predata.
- predata = {
- 'action' : 'submit',
- 'source' : 'interwiki',
- # from what project do you want to import the page?
- 'interwiki' : project,
- # What is the page that you want to import?
- 'frompage' : target,
- # The entire history... or not?
- 'interwikiHistory' : crono,
- # What namespace do you want?
- 'namespace': '',
- }
- if self.site().hostname() in config.authenticate.keys():
- predata['Content-type'] = 'application/x-www-form-urlencoded'
- predata['User-agent'] = useragent
- data = self.site().urlEncode(predata)
- response = urllib2.urlopen(urllib2.Request('http://' + self.site().hostname() + address, data))
- data = u''
- else:
- response, data = self.site().postForm(address, predata, sysop = True)
- if data:
- wikipedia.output(u'Page imported, checking...')
- if wikipedia.Page(site, target).exists():
- wikipedia.output(u'Import success!')
- return True
- else:
- wikipedia.output(u'Import failed!')
- return False
-if __name__=='__main__':
- try:
- main()
- finally:
- wikipedia.stopme()
\ No newline at end of file