Back to index

moin  1.9.0~rc2
Public Member Functions | Public Attributes
MoinMoin.script.import.irclog.PluginScript Class Reference
Inheritance diagram for MoinMoin.script.import.irclog.PluginScript:
Inheritance graph
[legend]
Collaboration diagram for MoinMoin.script.import.irclog.PluginScript:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def mainloop
def init_request
def run
def logRuntime

Public Attributes

 request
 argv
 def_values
 parser
 args

Detailed Description

\
Purpose:
========
This script pushes files from a directory into the wiki (to be exact: it
pushes all except the last file, as this is maybe still written to in
case of irc logs).
One application is to use it to store IRC logs into the wiki.

Detailed Instructions:
======================
General syntax: moin [options] import irclog [irclog-options]

[options] usually should be:
--config-dir=/path/to/my/cfg/ --wiki-url=wiki.example.org/

[irclog-options] see below:
0. To add all the files in the current directory to the wiki as the user 'JohnSmith'
   moin ... import irclog --author=JohnSmirh --file-dir=.

Definition at line 37 of file irclog.py.


Constructor & Destructor Documentation

def MoinMoin.script.import.irclog.PluginScript.__init__ (   self,
  argv,
  def_values 
)

Reimplemented from MoinMoin.script.MoinScript.

Definition at line 58 of file irclog.py.

00058 
00059     def __init__(self, argv, def_values):
00060         MoinScript.__init__(self, argv, def_values)
00061         self.parser.add_option(
00062             "--author", dest="author", default="IrcLogImporter",
00063             help="Use AUTHOR for edit history / RecentChanges"
00064         )
00065         self.parser.add_option(
00066             "--file-dir", dest="file_dir", default='.',
00067             help="read files from DIRECTORY"
00068         )
00069         self.parser.add_option("--acl", dest="acl", default="", help="Set a specific ACL for the pages.")


Member Function Documentation

def MoinMoin.script.MoinScript.init_request (   self) [inherited]
create request 

Definition at line 174 of file __init__.py.

00174 
00175     def init_request(self):
00176         """ create request """
00177         from MoinMoin.web.contexts import ScriptContext
00178         url = self.options.wiki_url or None
00179         self.request = ScriptContext(url, self.options.page)

Here is the caller graph for this function:

def MoinMoin.script.Script.logRuntime (   self) [inherited]
Print the total command run time. 

Definition at line 148 of file __init__.py.

00148 
00149     def logRuntime(self):
00150         """ Print the total command run time. """
00151         if self.options.show_timing:
00152             log("Needed %.3f secs." % (time.clock() - _start_time, ))
00153 

Here is the call graph for this function:

Reimplemented from MoinMoin.script.MoinScript.

Definition at line 70 of file irclog.py.

00070 
00071     def mainloop(self):
00072         self.init_request()
00073         request = self.request
00074         request.user.may = IAmRoot()
00075         request.cfg.mail_enabled = False
00076         for root, dirs, files in os.walk(self.options.file_dir):
00077             files.sort()
00078             for filename in files:
00079                 pagename = self.options.page + filename_function(filename)
00080                 #print "Pushing %r as %r" % (filename, pagename)
00081                 p = PageEditor(request, pagename, do_editor_backup=0, uid_override=self.options.author, do_revision_backup=0)
00082                 if p.exists():
00083                     if filename != files[-1]:
00084                         continue
00085                 else:
00086                     p = PageEditor(request, pagename, do_editor_backup=0, uid_override=self.options.author)
00087 
00088                 fileObj = open(os.path.join(root, filename), 'rb')
00089                 try:
00090                     acl = ""
00091                     if self.options.acl:
00092                         acl = "#acl %s\n" % (self.options.acl, )
00093                     p.saveText(acl + "#format irc\n" + decodeLinewise(fileObj.read()), 0)
00094                 except PageEditor.Unchanged, e:
00095                     pass
00096                 except PageEditor.SaveError, e:
00097                     print "Got %r" % (e, )
00098                 fileObj.close()
00099         #print "Finished."
00100 

Here is the call graph for this function:

def MoinMoin.script.Script.run (   self,
  showtime = 1 
) [inherited]
Run the main function of a command. 

Definition at line 130 of file __init__.py.

00130 
00131     def run(self, showtime=1):
00132         """ Run the main function of a command. """
00133         global flag_quiet
00134         try:
00135             try:
00136                 self.options, self.args = self.parser.parse_args(self.argv)
00137                 flag_quiet = self.options.quiet
00138                 # ToDo check if we need to initialize request (self.init_request())
00139                 self.mainloop()
00140             except KeyboardInterrupt:
00141                 log("*** Interrupted by user!")
00142             except SystemExit:
00143                 showtime = 0
00144                 raise
00145         finally:
00146             if showtime:
00147                 self.logRuntime()

Here is the caller graph for this function:


Member Data Documentation

Definition at line 135 of file __init__.py.

Definition at line 102 of file __init__.py.

Definition at line 113 of file __init__.py.

Definition at line 178 of file __init__.py.


The documentation for this class was generated from the following file: