Пример #1
0
    def recursiveprocess(self, options):
        """recurse through directories and process files"""
        if self.isrecursive(options.input, 'input') and getattr(
                options, "allowrecursiveinput", True):
            if isinstance(options.input, list):
                inputfiles = self.recurseinputfilelist(options)
            else:
                inputfiles = self.recurseinputfiles(options)
        else:
            if options.input:
                inputfiles = [os.path.basename(options.input)]
                options.input = os.path.dirname(options.input)
            else:
                inputfiles = [options.input]
        if os.path.isdir(options.output):
            options.output = os.path.join(options.output,
                                          "pootle-terminology.pot")

        progress_bar = optrecurse.ProgressBar(options.progress, inputfiles)
        for inputpath in inputfiles:
            self.files += 1
            fullinputpath = self.getfullinputpath(options, inputpath)
            success = True
            try:
                self.processfile(None, options, fullinputpath)
            except Exception:
                self.warning("Error processing: input %s" % (fullinputpath),
                             options, sys.exc_info())
                success = False
            progress_bar.report_progress(inputpath, success)
        del progress_bar
        self.outputterminology(options)
Пример #2
0
 def recursiveprocess(self, options):
     """recurse through directories and process files"""
     if self.isrecursive(options.input, 'input') and getattr(options, "allowrecursiveinput", True):
         if not self.isrecursive(options.output, 'output'):
             self.warning("Output directory does not exist. Attempting to create")
             try:
                 os.mkdir(options.output)
             except Exception:
                 self.error(optrecurse.optparse.OptionValueError("Output directory does not exist, attempt to create failed"))
         if isinstance(options.input, list):
             inputfiles = self.recurseinputfilelist(options)
         else:
             inputfiles = self.recurseinputfiles(options)
     else:
         if options.input:
             inputfiles = [os.path.basename(options.input)]
             options.input = os.path.dirname(options.input)
         else:
             inputfiles = [options.input]
     self.textmap = {}
     progress_bar = optrecurse.ProgressBar(options.progress, inputfiles)
     for inputpath in inputfiles:
         fullinputpath = self.getfullinputpath(options, inputpath)
         try:
             success = self.processfile(None, options, fullinputpath)
         except Exception:
             self.warning("Error processing: input %s" % (fullinputpath), options, sys.exc_info())
             success = False
         progress_bar.report_progress(inputpath, success)
     del progress_bar
     self.buildconflictmap()
     self.outputconflicts(options)
Пример #3
0
 def recursiveprocess(self, options):
     """recurse through directories and process files"""
     if not self.isrecursive(options.output, "output"):
         self.warning(
             "Output directory does not exist. Attempting to create")
         try:
             # TODO: maybe we should only allow it to be created, otherwise
             # we mess up an existing tree.
             os.mkdir(options.output)
         except Exception:
             self.error(
                 optrecurse.optparse.OptionValueError(
                     "Output directory does not exist, attempt to create failed"
                 ))
     if self.isrecursive(options.input, "input") and getattr(
             options, "allowrecursiveinput", True):
         if isinstance(options.input, list):
             inputfiles = self.recurseinputfilelist(options)
         else:
             inputfiles = self.recurseinputfiles(options)
     else:
         if options.input:
             inputfiles = [os.path.basename(options.input)]
             options.input = os.path.dirname(options.input)
         else:
             inputfiles = [options.input]
     self.textmap = {}
     progress_bar = optrecurse.ProgressBar(options.progress, inputfiles)
     for inputpath in inputfiles:
         fullinputpath = self.getfullinputpath(options, inputpath)
         try:
             success = self.processfile(options, fullinputpath)
         except Exception:
             self.warning(
                 "Error processing: input %s" % (fullinputpath),
                 options,
                 sys.exc_info(),
             )
             success = False
         progress_bar.report_progress(inputpath, success)
     del progress_bar