Warning, file /sdk/pology/lang/ca/sieve/fill_doc_date_kde.py was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 # -*- coding: UTF-8 -*-
0002 
0003 """
0004 Reformat documentation update date for Catalan KDE Team.
0005 
0006 Sieve has no options.
0007 
0008 @author: Alexander Potashev <aspotashev@gmail.com>
0009 @license: GPLv3
0010 """
0011 
0012 from pology import _, n_
0013 from pology.report import report
0014 from pology.msgreport import report_msg_content
0015 import os
0016 import re
0017 
0018 
0019 def setup_sieve (p):
0020 
0021     p.set_desc(_("@info sieve discription",
0022     "Reformat documentation update date for Catalan KDE Team."
0023     ))
0024 
0025 
0026 class Sieve (object):
0027 
0028     def __init__ (self, params):
0029         # Some dates have non-standard format, here is the workaround for them:
0030         self.pretranslated = {
0031             u'April 8, 2003': u'8 d\'abril de 2003',
0032             u'Jun 7, 2005': u'7 de juny de 2005',
0033             u'2007-31-03': u'31 de març de 2007',
0034             u'June 12, 2005': u'12 de juny de 2005',
0035             u'2009-11-8': u'08 de novembre de 2009',
0036             u'May 25, 2005': u'25 de maig de 2005',
0037             u'28/12/2007': u'28 de desembre de 2007',
0038             u'28/08/2009': u'28 d\'agost de 2009',
0039             u'February 1st, 2005': u'1 de febrer de 2005',
0040             u'June 07, 2005': u'7 de juny de 2005',
0041             u'May 22, 2011': u'22 de maig de 2011',
0042             u'August 3 2012': u'22 d\'agost de 2012',
0043             u'April 7, 2003': u'7 d\'abril de 2003',
0044         }
0045     
0046         # Other dates should have the following format: (yyyy-mm-dd)
0047         self.date_re = re.compile("^[0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]$")
0048 
0049     def format_date (self, date_en):
0050         if self.pretranslated.has_key(date_en):
0051             return self.pretranslated[date_en]
0052         elif self.date_re.match(date_en):
0053             date_result = os.popen("date '+%-d m%mm %Y' -d " + date_en).readlines()[0].decode('utf-8').rstrip() + u''
0054 
0055             # Translate name of months into Catalan
0056             return date_result.\
0057                 replace('m01m', u'de gener de').\
0058                 replace('m02m', u'de febrer de').\
0059                 replace('m03m', u'de març de').\
0060                 replace('m04m', u'd\'abril de').\
0061                 replace('m05m', u'de maig de').\
0062                 replace('m06m', u'de juny de').\
0063                 replace('m07m', u'de juliol de').\
0064                 replace('m08m', u'd\'agost de').\
0065                 replace('m09m', u'de setembre de').\
0066                 replace('m10m', u'd\'octubre de').\
0067                 replace('m11m', u'de novembre de').\
0068                 replace('m12m', u'de desembre de')
0069         else:
0070             print("This is not a valid date: " + date_en)
0071 
0072     def process (self, msg, cat):
0073         # Detect documentation update date message
0074         if ("\n".join(msg.auto_comment) == "Tag: date"):
0075             new_msgstr = self.format_date(msg.msgid)
0076             if (msg.fuzzy or msg.msgstr[0] != new_msgstr):
0077                 msg.msgstr[0] = new_msgstr
0078                 msg.unfuzzy()
0079                 report_msg_content(msg, cat)
0080 
0081     def finalize (self):
0082         ""
0083