Salut Cornel,
Retrimit mesajul tău către lista publică de discuţii Wikipedia în româneşte, poate cineva este mai inspirat decît mine :)
On 20/02/06, Cornel Ilie cornel.c.ilie@gmail.com wrote: Servus Iulian,
Uite că am formulat problema în format sursă wiki (poate chiar foloseşte ca exemplu la pagina Bot de la ro.wikipedia, http://ro.wikipedia.org/wiki/Wikipedia:Bot) şi am ataşat'o. Am ales soluţia asta ca să fiu sigur că nu se întâmplă "tăieri" la linii din cauză de word wrap.
Scuze şi de întârziere, dar durează ceva cu dual boot (sistemul de lucru este FreeBSD, sistemul de "legătură cu lumea" e un GNU/Linux Slackware din motive de winmodem).
Dacă am uitat informaţii pe dinafară, spune-mi te rog şi imediat vin cu ele. Din păcate online stau cam prea puţin (tot speram să scap de dial up dar văd că prea puţine şanse încă, altfel m'aş fi făcut remarcat şi eu prin articole la ro.wikipedia).
Ca fapt divers, am aflat din wikipedia că există Liceu Catolic în Deva :)
Mulţumesc frumos pentru orice ajutor (orice idee e binevenită).
După experienţa asta la cât am sucit wikipedia pe o parte şi pe alta poate am să mă specializez în articolele de ajutor :)
Cornel
- --
__|__ --C-o-r-(_)-n-e-l--
10.0 times 0.1 is hardly ever 1.0. Air is water with holes in it.
Content-Type: text/html; name="Cofigurare_Eronata_PyWikipediaBot.wiki" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="Cofigurare_Eronata_PyWikipediaBot.wiki"
<!-- -*- mode: wikipedia; coding: latin2; -*- -->
=== Scop ===
Intenţia este de a folosi scriptul '''pagefromfile.py''' cu un fişier care să creeze în [http://www.rofug.ro/mediawiki/index.php Wikipedia ROFUG], o serie de pagini dedicate porturilor româneşti (menţinători, programatori, etc.). Fişierul sursă (care va crea paginile cu ajutorul robotului) este/va fi creat de un script (merge mai repede), eventual apoi manual corectat, adăugat, actualizat. '''[[PyWikiepediaBot]]''' ar putea uşura mult munca de început.
=== Sistem de test ===
* OS: :: '''[[FreeBSD]] 5.4-RELEASE'''
* instalate din porturi: :: '''[[Apache|Apache 2.0.53]]''' :: '''[[PHP|PHP 5.0.3]]''' :: '''[[MySQL|MySQL 4.1.10a]]''' :: '''[[Python|Python 2.4,1]]'''
* în directorul propriu (<tt>~/cornel/www</tt>) :: '''[[MediaWiki|MediaWiki 1.5.5]]''' (<tt>~/cornel/www/mediawiki</tt>) :: '''[[PyWikipediaBot|PyWikipediaBot snapshot-20060209.tar.gz]]''' (<tt>~/cornel/www/mediawiki/pywikipedia</tt>)
=== Formularea problemei ===
Am erori la rularea scriptului '''login.py''' (astfel că nu pot aplica '''pagefromfile.py''').
==== Varianta 1 - output ====
Încercând scriptul '''login.py''' obţin:
---- $ python login.py Traceback (most recent call last): File "login.py", line 45, in ? import wikipedia, config File "/usr/home/cornel/www/mediawiki/pywikipedia/wikipedia.py", line 117, in ? import config, mediawiki_messages, login File "/usr/home/cornel/www/mediawiki/pywikipedia/config.py", line 202, in ? execfile(_filename) File "user-config.py", line 4, in ? usernames['ROFUGpedia']['en'] = 'ROFUGbot' KeyError: 'ROFUGpedia' $ _ ----
==== Varianta 1 - configurare ====
Fişierul '''user-config.py''' este:
---- mylang = 'en' # user language family = 'rofug' # ./families/rofug_family.py usernames['ROFUGpedia']['en'] = 'ROFUGbot' # =1= =2= =3= # # =1= $wgSitename from LocalSettings.php # # =2= mylang value, from above # # =3= user created for this purpouse # user that is part of 'bot' group # not 'bureauracrat', not 'sysop' # see Special pages > User rights management -----
Fişierul '''families/rofug_family.py''' este:
---- # -*- coding: utf-8 -*- import family
# The official ROFUG Wiki.
class Family(family.Family): def __init__(self): family.Family.__init__(self) self.name = 'rofug' # this file is rofug_family.py
self.langs = { 'en':'silentwing.net', # put the hostname here. }
# Most namespaces are inherited from family.Family.
self.namespaces[4] = { '_default': u'ROFUGpedia', } self.namespaces[5] = { '_default': u'ROFUGpedia Talk', }
def version(self, code): return "1.5.5" # MediaWiki version
def path(self, code): return '/~cornel/mediawiki/index.php' # hostname + this path => Main Page URL -----
<small>după [http://meta.wikimedia.org/wiki/Pywikipedia_bot_on_non-Wikimedia_projects Pywikipedia bot on non-Wikimedia projects]</small>
==== Varianta 1 - output (variaţiune) ====
Am obţinut următoarea eroare:
---- $ python login.py WARNING: Configuration variable username not known. Misspelled? Checked for running processes. 1 processes currently running, including the current process. Traceback (most recent call last): File "login.py", line 210, in ? main() File "login.py", line 205, in main loginMan = LoginManager(password, sysop = sysop) File "login.py", line 79, in __init__ raise wikipedia.NoUsername(u'ERROR: Username for %s:%s is undefined.\nIf you have an account for that site, please add such a line to user-config.py:\n\nusernames['%s']['%s'] = 'myUsername'' % (self.site.family.name, self.site.lang, self.site.family.name, self.site.lang)) wikipedia.NoUsername: ERROR: Username for rofug:en is undefined. If you have an account for that site, please add such a line to user-config.py:
usernames['rofug']['en'] = 'myUsername' $ _ -----
==== Varianta 1 - configurare (variaţiune) ====
dacă în fişierul '''user-config.py''' schimb aşa:
---- #usernames['ROFUGpedia']['en'] = 'ROFUGbot' username = 'ROFUGbot' -----
==== Varianta 2 - output ====
Am următorul rezultat:
---- $ python login.py WARNING: Configuration variable username not known. Misspelled? Checked for running processes. 1 processes currently running, including the current process. Traceback (most recent call last): File "login.py", line 45, in ? import wikipedia, config File "/usr/home/cornel/www/mediawiki/pywikipedia/wikipedia.py", line 2763, in ? getSite() File "/usr/home/cornel/www/mediawiki/pywikipedia/wikipedia.py", line 2702, in getSite _sites[key] = Site(code=code, fam=fam, user=user) File "/usr/home/cornel/www/mediawiki/pywikipedia/wikipedia.py", line 2074, in __init__ self.family = Family(fam) File "/usr/home/cornel/www/mediawiki/pywikipedia/wikipedia.py", line 2062, in Family return myfamily.Family() File "families/rofug_family.py", line 10, in __init__ namespaces = { 4: u'ROFUGpedia', File "/usr/home/cornel/www/mediawiki/pywikipedia/family.py", line 1265, in _addlang self.langs[code] = location AttributeError: Family instance has no attribute 'langs' -----
==== Varianta 2 - configurare ====
Pentru altă variantă de perechi de fişiere '''user-config.py''' şi '''families/rofug_family.py'''. Cu '''user-config.py''', ca în '''varianta 1 variaţiune''':
---- mylang = 'en' # user language family = 'rofug' # ./families/rofug_family.py username = 'ROFUGbot' #minthrottle = 4 #maxthrottle = 20 #put_throttle = 20 -----
şi '''families/rofug_family.py''':
---- # -*- coding: utf-8 -*- import family
class Family(family.Family): name = 'ROFUGpedia'
def __init__(self): self._addlang('en', location = 'silentwing', namespaces = { 4: u'ROFUGpedia', 5: u'ROFUGpedia talk' })
def path(self, code): return '/~cornel/mediawiki/index.php' -----
<small>după [http://apfelwiki.de/wiki/Main/Pywikipediabot ApfelWiki despre PyWikipediaBot] (în germană)</small>
=== Observaţii ===
==== LocalSettings.php ====
Fişierul '''LocalSettings.php''' conţine:
---- $wgSitename = "ROFUGpedia"; -----
==== Preferinţe (Preferences) ====
La utilizatorul '''ROFUGbot''' am ''skin'' '''monobook''', iar ''limba'' este '''en'''(gleză). Ca '''WikiSysop''' (înainte de a încerca scripturile) am mers la ''Special pages'' > ''User rights management'' şi am făcut '''ROFUGbot''' '''''Member of: bot (group)'''''.
Cunoştinţele mele de [[Python]] sunt cam sumare (ca să nu zic inexistente, dar iată o bună oportunitate de a începe). Am şi nişte motive (cam obscure) să suspectez chiar instalarea [[Python]], dar am schimbat în fişierul '''user-config.py''':
---- family = 'wikipedia' usernames['wikipedia']['en'] = 'whatevername' -----
şi atunci obţin:
---- $ python login.py Checked for running processes. 1 processes currently running, including the current process. Password for user whatever on wikipedia:en: pass <- introdus de mine Logging in to wikipedia:en as whatever Getting page [[Wikipedia:Bots]] [Errno socket error] (8, 'hostname nor servname provided, or not known') WARNING: Could not load 'http://en.wikipedia.org/w/index.php?title=Wikipedia%3ABots&action=edit'. Maybe the server or your connection is down. Retrying in 1 minutes... ^C <- ctrl + c, cancel, apăsat de mine să întrerup procesul Traceback (most recent call last): File "login.py", line 210, in ? main() File "login.py", line 206, in main loginMan.login() File "login.py", line 157, in login if not self.botAllowed(): File "login.py", line 89, in botAllowed text = pl.get() File "/usr/home/cornel/www/mediawiki/pywikipedia/wikipedia.py", line 374, in get self._contents, self._isWatched, self.editRestriction = self.getEditPage(get_redirect = get_redirect, throttle = throttle, sysop = sysop) File "/usr/home/cornel/www/mediawiki/pywikipedia/wikipedia.py", line 416, in getEditPage text = self.site().getUrl(path, sysop = sysop) File "/usr/home/cornel/www/mediawiki/pywikipedia/wikipedia.py", line 2177, in getUrl time.sleep(retry_idle_time * 60) KeyboardInterrupt $ _ -----
Asta mi risipeşte suspectarea neîntemeiată a instalării Python.