import sys
import locale
import logging
+import gettext
revision = '$Revision$'
revision = re.sub( r'\$', '', revision )
logger = logging.getLogger('pylogrotate.common')
+locale_dir = None
#========================================================================
@rtype: long
'''
+ t = gettext.translation('LogRotateCommon', locale_dir, fallback=True)
+ _ = t.lgettext
+
if value is None:
- raise ValueError("Given value is »None«")
+ msg = _("Given value is 'None'.")
+ raise ValueError(msg)
radix = '.'
if use_locale_radix:
radix = locale.RADIXCHAR
radix = re.escape(radix)
if verbose > 5:
- logger.debug("using radix »%s«" % (radix))
+ msg = _("using radix '%s'.") % (radix)
+ logger.debug(msg)
value_raw = ''
prefix = None
value_raw = match.group(1)
prefix = match.group(2)
else:
- raise ValueError("human2bytes(): Could not determine bytes in »%s«." %(value))
+ msg = _("Could not determine bytes in '%s'.") % (value)
+ raise ValueError(msg)
if use_locale_radix:
value_raw = re.sub(radix, '.', value_raw, 1)
elif re.search(r'^\s*PiB(?:yte)?\s*$', prefix, re.IGNORECASE):
factor = (factor_bin * factor_bin * factor_bin * factor_bin * factor_bin)
else:
- raise ValueError("human2bytes(): Couldn't detect prefix »%s«." %(prefix))
+ msg = _("Couldn't detect prefix '%s'.") % (prefix)
+ raise ValueError(msg)
if verbose > 5:
- logger.debug("found factor %d" % (factor))
+ msg = _("Found factor %d.") % (factor)
+ logger.debug(msg)
return long(factor * value_float)
@rtype: float
'''
+ t = gettext.translation('LogRotateCommon', locale_dir, fallback=True)
+ _ = t.lgettext
+
if period is None:
- raise ValueError("Given period is »None«")
+ msg = _("Given period is 'None'.")
+ raise ValueError(msg)
value = str(period).strip().lower()
if period == '':
- raise ValueError("Given period was empty")
+ msg = _("Given period was empty")
+ raise ValueError(msg)
if verbose > 4:
- logger.debug("called with: »%s«" % (period))
+ msg = _("Called with '%s'.") % (period)
+ logger.debug(msg)
if period == 'now':
return float(0)
radix = locale.RADIXCHAR
radix = re.escape(radix)
if verbose > 5:
- logger.debug("using radix »%s«" % (radix))
+ msg = _("Using radix '%s'.") % (radix)
+ logger.debug(msg)
# Search for hours in value
pattern = r'(\d+(?:' + radix + r'\d*)?)\s*h(?:ours?)?'
if verbose > 5:
- logger.debug("pattern »%s«" % (pattern))
+ msg = _("Pattern '%s'.") % (pattern)
+ logger.debug(msg)
match = re.search(pattern, value, re.IGNORECASE)
if match:
hours_str = match.group(1)
hours = float(hours_str)
days += (hours/24)
if verbose > 4:
- logger.debug("found %f hours." % (hours))
+ msg = _("Found %f hours.") % (hours)
+ logger.debug(msg)
value = re.sub(pattern, '', value, re.IGNORECASE)
if verbose > 5:
- logger.debug("rest after hours: »%s«" %(value))
+ msg = _("Rest after hours: '%s'." % (value))
+ logger.debug(msg)
# Search for weeks in value
pattern = r'(\d+(?:' + radix + r'\d*)?)\s*w(?:eeks?)?'
if verbose > 5:
- logger.debug("pattern »%s«" % (pattern))
+ msg = _("Pattern '%s'.") % (pattern)
+ logger.debug(msg)
match = re.search(pattern, value, re.IGNORECASE)
if match:
weeks_str = match.group(1)
weeks = float(weeks_str)
days += (weeks*7)
if verbose > 4:
- logger.debug("found %f weeks." %(weeks))
+ msg = _("Found %f weeks.") % (weeks)
+ logger.debug(msg)
value = re.sub(pattern, '', value, re.IGNORECASE)
if verbose > 5:
- logger.debug("rest after weeks: »%s«" %(value))
+ msg = _("Rest after weeks: '%s'." % (value))
+ logger.debug(msg)
# Search for months in value
pattern = r'(\d+(?:' + radix + r'\d*)?)\s*m(?:onths?)?'
if verbose > 5:
- logger.debug("pattern »%s«" % (pattern))
+ msg = _("Pattern '%s'.") % (pattern)
+ logger.debug(msg)
match = re.search(pattern, value, re.IGNORECASE)
if match:
months_str = match.group(1)
months = float(months_str)
days += (months*30)
if verbose > 4:
- logger.debug("found %f months." %(months))
+ msg = _("Found %f months.") % (months)
+ logger.debug(msg)
value = re.sub(pattern, '', value, re.IGNORECASE)
if verbose > 5:
- logger.debug("rest after months: »%s«" %(value))
+ msg = _("Rest after months: '%s'." % (value))
+ logger.debug(msg)
# Search for years in value
pattern = r'(\d+(?:' + radix + r'\d*)?)\s*y(?:ears?)?'
if verbose > 5:
- logger.debug("pattern »%s«" % (pattern))
+ msg = _("Pattern '%s'.") % (pattern)
+ logger.debug(msg)
match = re.search(pattern, value, re.IGNORECASE)
if match:
years_str = match.group(1)
years = float(years_str)
days += (years*365)
if verbose > 4:
- logger.debug("found %f years." %(years))
+ msg = _("Found %f years.") % (years)
+ logger.debug(msg)
value = re.sub(pattern, '', value, re.IGNORECASE)
if verbose > 5:
- logger.debug("rest after years: »%s«" %(value))
+ msg = _("Rest after years: '%s'." % (value))
+ logger.debug(msg)
# At last search for days in value
pattern = r'(\d+(?:' + radix + r'\d*)?)\s*(?:d(?:ays?)?)?'
if verbose > 5:
- logger.debug("pattern »%s«" % (pattern))
+ msg = _("Pattern '%s'.") % (pattern)
+ logger.debug(msg)
match = re.search(pattern, value, re.IGNORECASE)
if match:
days_str = match.group(1)
days_float = float(days_str)
days += days_float
if verbose > 4:
- logger.debug("found %f days." %(days_float))
+ msg = _("Found %f days.") % (days_float)
+ logger.debug(msg)
value = re.sub(pattern, '', value, re.IGNORECASE)
if verbose > 5:
- logger.debug("rest after days: »%s«" %(value))
+ msg = _("Rest after days: '%s'." % (value))
+ logger.debug(msg)
# warn, if there is a rest
if re.search(r'^\s*$', value) is None:
- logger.warning('invalid content for a period: »%s«'%(value))
+ msg = _("Invalid content for a period: '%s'.") % (value)
+ logger.warning(msg)
if verbose > 4:
- logger.debug("total %f days found." %(days))
+ msg = _("Total %f days found.") % (days)
+ logger.debug(msg)
return days
from LogRotateHandler import LogrotateHandler
from LogRotateHandler import LogrotateHandlerError
+import LogRotateCommon
+
revision = '$Revision$'
revision = re.sub( r'\$', '', revision )
revision = re.sub( r'Revision: ', r'r', revision )
local_dir = None
#print "Locale-Dir: %s" % ( local_dir )
+ LogRotateCommon.locale_dir = local_dir
+
t = gettext.translation('pylogrotate', local_dir, fallback=True)
_ = t.lgettext
__ = t.lngettext
--- /dev/null
+# German translations for pylogrotate package.
+# Copyright (C) 2011 Frank Brehm, Berlin
+# This file is distributed under the same license as the pylogrotate package.
+# Frank Brehm <frank@brehm-online.com>, 2011.
+#
+# $Id$
+# $URL$
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: pylogrotate 0.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-07-05 12:41+0200\n"
+"PO-Revision-Date: 2011-07-05 12:43+0200\n"
+"Last-Translator: Frank Brehm <frank@brehm-online.com>\n"
+"Language-Team: German\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LogRotateCommon.py:190
+msgid "Given value is 'None'."
+msgstr "Der übergebene Wert ist »None«."
+
+#: LogRotateCommon.py:198
+#, python-format
+msgid "using radix '%s'."
+msgstr "Verwende Radix »%s«."
+
+#: LogRotateCommon.py:209
+#, python-format
+msgid "Could not determine bytes in '%s'."
+msgstr "Konnte keine Bytes in »%s« feststellen."
+
+#: LogRotateCommon.py:248
+#, python-format
+msgid "Couldn't detect prefix '%s'."
+msgstr "Konnte keinen Präfix inn »%s« ermitteln."
+
+#: LogRotateCommon.py:252
+#, python-format
+msgid "Found factor %d."
+msgstr "Faktor %d gefunden."
+
+#: LogRotateCommon.py:291
+msgid "Given period is 'None'."
+msgstr "Die übergebene Periode ist »None«."
+
+#: LogRotateCommon.py:296
+msgid "Given period was empty"
+msgstr "Die übergebene Periode ist leer."
+
+#: LogRotateCommon.py:300
+#, python-format
+msgid "Called with '%s'."
+msgstr "Aufgerufen mit »%s«."
+
+#: LogRotateCommon.py:316
+#, python-format
+msgid "Using radix '%s'."
+msgstr "Verwende Radix »%s«."
+
+#: LogRotateCommon.py:322 LogRotateCommon.py:342 LogRotateCommon.py:362
+#: LogRotateCommon.py:382 LogRotateCommon.py:402
+#, python-format
+msgid "Pattern '%s'."
+msgstr "Suchmuster »%s«."
+
+#: LogRotateCommon.py:332
+#, python-format
+msgid "Found %f hours."
+msgstr "Fand %f Stunden."
+
+#: LogRotateCommon.py:336
+#, python-format
+msgid "Rest after hours: '%s'."
+msgstr "Rest nach Stundenermittlung: »%s«."
+
+#: LogRotateCommon.py:352
+#, python-format
+msgid "Found %f weeks."
+msgstr "Fand %f Wochen."
+
+#: LogRotateCommon.py:356
+#, python-format
+msgid "Rest after weeks: '%s'."
+msgstr "Rest nach Wochenermittlung: »%s«."
+
+#: LogRotateCommon.py:372
+#, python-format
+msgid "Found %f months."
+msgstr "Fand %f Monate."
+
+#: LogRotateCommon.py:376
+#, python-format
+msgid "Rest after months: '%s'."
+msgstr "Rest nach Monatsermittlung: »%s«."
+
+#: LogRotateCommon.py:392
+#, python-format
+msgid "Found %f years."
+msgstr "Fand %f Jahre."
+
+#: LogRotateCommon.py:396
+#, python-format
+msgid "Rest after years: '%s'."
+msgstr "Rest nach Jahresermittlung: »%s«."
+
+#: LogRotateCommon.py:412
+#, python-format
+msgid "Found %f days."
+msgstr "Fand %f Tage."
+
+#: LogRotateCommon.py:416
+#, python-format
+msgid "Rest after days: '%s'."
+msgstr "Rest nach Tagesermittlung: »%s«."
+
+#: LogRotateCommon.py:421
+#, python-format
+msgid "Invalid content for a period: '%s'."
+msgstr "Ungültiger Inhalt für eine Periode: »%s«."
+
+#: LogRotateCommon.py:425
+#, python-format
+msgid "Total %f days found."
+msgstr "Insgesamt %f Tage gefunden."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2011 Frank Brehm, Berlin
+# This file is distributed under the same license as the pylogrotate package.
+# Frank Brehm <frank@brehm-online.com>, 2011.
+#
+# $Id$
+# $URL$
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: pylogrotate 0.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-07-05 12:41+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: LogRotateCommon.py:190
+msgid "Given value is 'None'."
+msgstr ""
+
+#: LogRotateCommon.py:198
+#, python-format
+msgid "using radix '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:209
+#, python-format
+msgid "Could not determine bytes in '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:248
+#, python-format
+msgid "Couldn't detect prefix '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:252
+#, python-format
+msgid "Found factor %d."
+msgstr ""
+
+#: LogRotateCommon.py:291
+msgid "Given period is 'None'."
+msgstr ""
+
+#: LogRotateCommon.py:296
+msgid "Given period was empty"
+msgstr ""
+
+#: LogRotateCommon.py:300
+#, python-format
+msgid "Called with '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:316
+#, python-format
+msgid "Using radix '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:322 LogRotateCommon.py:342 LogRotateCommon.py:362
+#: LogRotateCommon.py:382 LogRotateCommon.py:402
+#, python-format
+msgid "Pattern '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:332
+#, python-format
+msgid "Found %f hours."
+msgstr ""
+
+#: LogRotateCommon.py:336
+#, python-format
+msgid "Rest after hours: '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:352
+#, python-format
+msgid "Found %f weeks."
+msgstr ""
+
+#: LogRotateCommon.py:356
+#, python-format
+msgid "Rest after weeks: '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:372
+#, python-format
+msgid "Found %f months."
+msgstr ""
+
+#: LogRotateCommon.py:376
+#, python-format
+msgid "Rest after months: '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:392
+#, python-format
+msgid "Found %f years."
+msgstr ""
+
+#: LogRotateCommon.py:396
+#, python-format
+msgid "Rest after years: '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:412
+#, python-format
+msgid "Found %f days."
+msgstr ""
+
+#: LogRotateCommon.py:416
+#, python-format
+msgid "Rest after days: '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:421
+#, python-format
+msgid "Invalid content for a period: '%s'."
+msgstr ""
+
+#: LogRotateCommon.py:425
+#, python-format
+msgid "Total %f days found."
+msgstr ""
.SUFFIXES: .mo .po
-MODULE = pylogrotate LogRotateGetopts LogRotateConfig LogRotateStatusFile LogRotateScript LogRotateHandler
+MODULE = pylogrotate LogRotateGetopts LogRotateConfig LogRotateStatusFile \
+ LogRotateScript LogRotateHandler LogRotateCommon
all: $(MODULE:=.de.mo)