diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index a7557448ad2..a538e928cad 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -665,7 +665,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): process_sql_file(cr, fp) elif ext == '.csv': noupdate = (kind == 'init') - tools.convert_csv_import(cr, module_name, file, id_map, mode, noupdate) + tools.convert_csv_import(cr, module_name, pathname, file.read(), id_map, mode, noupdate) elif ext == '.yml': tools.convert_yaml_import(cr, module_name, file, id_map, mode, noupdate) else: diff --git a/bin/addons/base/__openerp__.py b/bin/addons/base/__openerp__.py index e595436d63f..82b092d973c 100644 --- a/bin/addons/base/__openerp__.py +++ b/bin/addons/base/__openerp__.py @@ -51,7 +51,6 @@ 'res/res_request_view.xml', 'res/res_lang_view.xml', 'res/res_log_view.xml', - 'res/res_company_view.xml', 'res/partner/partner_report.xml', 'res/partner/partner_view.xml', 'res/partner/partner_wizard.xml', diff --git a/bin/addons/base/base_menu.xml b/bin/addons/base/base_menu.xml index 4cb56873756..3989ca3641a 100644 --- a/bin/addons/base/base_menu.xml +++ b/bin/addons/base/base_menu.xml @@ -5,12 +5,11 @@ - - + diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml index 7823aca8f18..157f7e12d5c 100644 --- a/bin/addons/base/base_update.xml +++ b/bin/addons/base/base_update.xml @@ -6,7 +6,7 @@ Languages ====================== --> - + - - - @@ -393,8 +389,8 @@ ir.actions.act_window res.partner form - [('supplier','=',1)] - {'default_customer':0, 'default_supplier':1} + [] + {'default_customer':0, 'search_default_supplier': 1, 'default_supplier':1} diff --git a/bin/addons/base/res/res_company_view.xml b/bin/addons/base/res/res_company_view.xml index 34e58b75b6c..31cb145caa8 100644 --- a/bin/addons/base/res/res_company_view.xml +++ b/bin/addons/base/res/res_company_view.xml @@ -66,7 +66,7 @@ diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 3a45bf855b6..e365949b2f9 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -3175,14 +3175,15 @@ class orm(orm_template): # The parent_left/right computation may take up to # 5 seconds. No need to recompute the values if the # parent is the same. Get the current value of the parent - base_query = 'SELECT id FROM %s WHERE id IN %%s AND %s' % \ - (self._table, self._parent_name) - params = (tuple(ids),) parent_val = vals[self._parent_name] if parent_val: - cr.execute(base_query + " != %s", params + (parent_val,)) + query = "SELECT id FROM %s WHERE id IN %%s AND (%s != %%s OR %s IS NULL)" % \ + (self._table, self._parent_name, self._parent_name) + cr.execute(query, (tuple(ids), parent_val)) else: - cr.execute(base_query + " IS NULL", params) + query = "SELECT id FROM %s WHERE id IN %%s AND (%s IS NOT NULL)" % \ + (self._table, self._parent_name) + cr.execute(query, (tuple(ids),)) parents_changed = map(operator.itemgetter(0), cr.fetchall()) upd0 = [] @@ -3864,7 +3865,6 @@ class orm(orm_template): data = self.read(cr, uid, [id], context=context_wo_lang)[0] fields = self.fields_get(cr, uid, context=context) - trans_data=[] for f in fields: ftype = fields[f]['type'] @@ -3883,40 +3883,68 @@ class orm(orm_template): elif ftype in ('one2many', 'one2one'): res = [] rel = self.pool.get(fields[f]['relation']) - if data[f] != False: + if data[f]: + # duplicate following the order of the ids + # because we'll rely on it later for copying + # translations in copy_translation()! + data[f].sort() for rel_id in data[f]: # the lines are first duplicated using the wrong (old) # parent but then are reassigned to the correct one thanks - # to the (4, ...) - d,t = rel.copy_data(cr, uid, rel_id, context=context) + # to the (0, 0, ...) + d = rel.copy_data(cr, uid, rel_id, context=context) res.append((0, 0, d)) - trans_data += t data[f] = res elif ftype == 'many2many': data[f] = [(6, 0, data[f])] - trans_obj = self.pool.get('ir.translation') - #TODO: optimize translations - for f in fields: - trans_name = '' - if f in self._columns and self._columns[f].translate: - trans_name = self._name+","+f - elif f in self._inherit_fields and self._inherit_fields[f][2].translate: - trans_name = self._inherit_fields[f][0] + "," + f - - if trans_name: - trans_ids = trans_obj.search(cr, uid, [ - ('name', '=', trans_name), - ('res_id','=',data['id']) - ]) - - trans_data.extend(trans_obj.read(cr,uid,trans_ids,context=context)) - del data['id'] + # make sure we don't break the current parent_store structure and + # force a clean recompute! + for parent_column in ['parent_left', 'parent_right']: + data.pop(parent_column, None) + for v in self._inherits: del data[self._inherits[v]] - return data, trans_data + return data + + def copy_translations(self, cr, uid, old_id, new_id, context=None): + trans_obj = self.pool.get('ir.translation') + fields = self.fields_get(cr, uid, context=context) + + translation_records = [] + for field_name, field_def in fields.items(): + # we must recursively copy the translations for o2o and o2m + if field_def['type'] in ('one2one', 'one2many'): + target_obj = self.pool.get(field_def['relation']) + old_record, new_record = self.read(cr, uid, [old_id, new_id], [field_name], context=context) + # here we rely on the order of the ids to match the translations + # as foreseen in copy_data() + old_childs = sorted(old_record[field_name]) + new_childs = sorted(new_record[field_name]) + for (old_child, new_child) in zip(old_childs, new_childs): + # recursive copy of translations here + target_obj.copy_translations(cr, uid, old_child, new_child, context=context) + # and for translatable fields we keep them for copy + elif field_def.get('translate'): + trans_name = '' + if field_name in self._columns: + trans_name = self._name + "," + field_name + elif field_name in self._inherit_fields: + trans_name = self._inherit_fields[field_name][0] + "," + field_name + if trans_name: + trans_ids = trans_obj.search(cr, uid, [ + ('name', '=', trans_name), + ('res_id','=', old_id) + ]) + translation_records.extend(trans_obj.read(cr,uid,trans_ids,context=context)) + + for record in translation_records: + del record['id'] + record['res_id'] = new_id + trans_obj.create(cr, uid, record, context=context) + def copy(self, cr, uid, id, default=None, context=None): """ @@ -3931,13 +3959,9 @@ class orm(orm_template): :return: True """ - trans_obj = self.pool.get('ir.translation') - data, trans_data = self.copy_data(cr, uid, id, default, context) + data = self.copy_data(cr, uid, id, default, context) new_id = self.create(cr, uid, data, context) - for record in trans_data: - del record['id'] - record['res_id'] = new_id - trans_obj.create(cr, uid, record, context) + self.copy_translations(cr, uid, id, new_id, context) return new_id def exists(self, cr, uid, ids, context=None): diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py index 6628817ff9d..771a59fa28f 100644 --- a/bin/report/render/rml2pdf/trml2pdf.py +++ b/bin/report/render/rml2pdf/trml2pdf.py @@ -380,7 +380,7 @@ class _rml_canvas(object): try: u = urllib.urlopen(str(node.get('file'))) s = cStringIO.StringIO(u.read()) - except: + except Exception: u = file(os.path.join(self.path,str(node.get('file'))), 'rb') s = cStringIO.StringIO(u.read()) img = ImageReader(s) @@ -788,7 +788,7 @@ class _rml_template(object): try : gr = pt.findall('pageGraphics')\ or pt[1].findall('pageGraphics') - except : + except Exception: # FIXME: be even more specific, perhaps? gr='' if len(gr): drw = _rml_draw(self.localcontext,gr[0], self.doc, images=images, path=self.path, title=self.title) @@ -818,7 +818,7 @@ def parseNode(rml, localcontext = {},fout=None, images={}, path='.',title=None): try: from customfonts import SetCustomFonts SetCustomFonts(r) - except: + except Exception: pass fp = cStringIO.StringIO() r.render(fp) @@ -832,7 +832,7 @@ def parseString(rml, localcontext = {},fout=None, images={}, path='.',title=None try: from customfonts import SetCustomFonts SetCustomFonts(r) - except: + except Exception: pass if fout: diff --git a/bin/report/render/rml2pdf/utils.py b/bin/report/render/rml2pdf/utils.py index be8695e7eb3..5e42278036f 100644 --- a/bin/report/render/rml2pdf/utils.py +++ b/bin/report/render/rml2pdf/utils.py @@ -63,7 +63,10 @@ def _child_get(node, self=None, tagname=None): if n.get('rml_except', False): try: eval(n.get('rml_except'), {}, self.localcontext) - except: + except GeneratorExit: + continue + except Exception: + logging.getLogger('report').exception() continue if n.get('rml_tag'): try: @@ -72,7 +75,10 @@ def _child_get(node, self=None, tagname=None): n2.tag = tag n2.attrib.update(attr) yield n2 - except: + except GeneratorExit: + yield n + except Exception: + logging.getLogger('report').exception() yield n else: yield n @@ -81,7 +87,10 @@ def _child_get(node, self=None, tagname=None): if self and self.localcontext and n.get('rml_except'): try: eval(n.get('rml_except'), {}, self.localcontext) - except: + except GeneratorExit: + continue + except Exception: + logging.getLogger('report').exception() continue if self and self.localcontext and n.get('rml_tag'): try: @@ -91,7 +100,10 @@ def _child_get(node, self=None, tagname=None): n2.attrib.update(attr or {}) yield n2 tagname = '' - except: + except GeneratorExit: + pass + except Exception: + logging.getLogger('report').exception() pass if (tagname is None) or (n.tag==tagname): yield n @@ -138,7 +150,7 @@ def unit_get(size): decimal_point = '.' try: decimal_point = locale.nl_langinfo(locale.RADIXCHAR) - except: + except Exception: decimal_point = locale.localeconv()['decimal_point'] size = size.replace(decimal_point, '.') diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py index 9d2fb97362c..32857044cdd 100644 --- a/bin/report/report_sxw.py +++ b/bin/report/report_sxw.py @@ -192,7 +192,7 @@ class rml_parse(object): return text.strip() def removeParentNode(self, tag=None): - raise Exception('Skip') + raise GeneratorExit('Skip') def set_html_image(self,id,model=None,field=None,context=None): if not id : diff --git a/bin/tools/misc.py b/bin/tools/misc.py index 9b246e5bb5f..5f69a5bdcea 100644 --- a/bin/tools/misc.py +++ b/bin/tools/misc.py @@ -1160,6 +1160,11 @@ def extract_zip_file(zip_file, outdirectory): zf.close() def detect_ip_addr(): + """Try a very crude method to figure out a valid external + IP or hostname for the current machine. Don't rely on this + for binding to an interface, but it could be used as basis + for constructing a remote URL to the server. + """ def _detect_ip_addr(): from array import array import socket diff --git a/bin/tools/safe_eval.py b/bin/tools/safe_eval.py index ef26fbc4cbe..0a2a99ce07d 100644 --- a/bin/tools/safe_eval.py +++ b/bin/tools/safe_eval.py @@ -34,6 +34,7 @@ condition/math builtins. from opcode import HAVE_ARGUMENT, opmap, opname from types import CodeType +import logging __all__ = ['test_expr', 'literal_eval', 'safe_eval', 'const_eval', 'ext_eval' ] @@ -56,6 +57,7 @@ _SAFE_OPCODES = _EXPR_OPCODES.union(set(opmap[x] for x in [ 'DELETE_NAME', 'JUMP_IF_TRUE', 'JUMP_IF_FALSE','MAKE_FUNCTION', ] if x in opmap)) +_logger = logging.getLogger('safe_eval') def _get_opcodes(codeobj): """_get_opcodes(codeobj) -> [opcodes] @@ -83,11 +85,19 @@ def test_expr(expr, allowed_codes, mode="eval"): Test that the expression contains only the allowed opcodes. If the expression is valid and contains only allowed codes, - return the compiled code object. Otherwise raise a ValueError. + return the compiled code object. + Otherwise raise a ValueError, a Syntax Error or TypeError accordingly. """ try: + if mode == 'eval': + # eval() does not like leading/trailing whitespace + expr = expr.strip() code_obj = compile(expr, "", mode) - except: + except (SyntaxError, TypeError): + _logger.debug('Invalid eval expression', exc_info=True) + raise + except Exception: + _logger.debug('Disallowed or invalid eval expression', exc_info=True) raise ValueError("%s is not a valid expression" % expr) for code in _get_opcodes(code_obj): if code not in allowed_codes: @@ -206,6 +216,8 @@ def safe_eval(expr, globals_dict=None, locals_dict=None, mode="eval", nocopy=Fal This can be used to e.g. evaluate an OpenERP domain expression from an untrusted source. + Throws TypeError, SyntaxError or ValueError (not allowed) accordingly. + >>> safe_eval("__import__('sys').modules") Traceback (most recent call last): ... diff --git a/bin/tools/translate.py b/bin/tools/translate.py index d85ee20422f..7648470edb6 100644 --- a/bin/tools/translate.py +++ b/bin/tools/translate.py @@ -585,7 +585,10 @@ def trans_generate(lang, modules, dbname=None): for constraint in pool.get(model)._constraints: msg = constraint[1] - push_translation(module, 'constraint', model, 0, encode(msg)) + # Check presence of __call__ directly instead of using + # callable() because it will be deprecated as of Python 3.0 + if not hasattr(msg, '__call__'): + push_translation(module, 'constraint', model, 0, encode(msg)) for field_name,field_def in pool.get(model)._columns.items(): if field_def.translate: diff --git a/debian/po/bg.po b/debian/po/bg.po index 9f0ac822d59..b5f5ffaa2e3 100644 --- a/debian/po/bg.po +++ b/debian/po/bg.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/ca.po b/debian/po/ca.po index 453990a83a3..3dfe72a504b 100644 --- a/debian/po/ca.po +++ b/debian/po/ca.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/cs.po b/debian/po/cs.po index c3bfefdae15..dd6b0d2544e 100644 --- a/debian/po/cs.po +++ b/debian/po/cs.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/de.po b/debian/po/de.po index 644e67f6955..a0457efefbd 100644 --- a/debian/po/de.po +++ b/debian/po/de.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/el.po b/debian/po/el.po index 6e3fd530e1c..0ecbe5c31c9 100644 --- a/debian/po/el.po +++ b/debian/po/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/es.po b/debian/po/es.po index 27691d9a7fc..39be30756b3 100644 --- a/debian/po/es.po +++ b/debian/po/es.po @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/es_EC.po b/debian/po/es_EC.po index 093b4b3bbc5..2811b6e8bda 100644 --- a/debian/po/es_EC.po +++ b/debian/po/es_EC.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/fa.po b/debian/po/fa.po index 70dbd052523..a919a12ff0a 100644 --- a/debian/po/fa.po +++ b/debian/po/fa.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/fi.po b/debian/po/fi.po index 25be4b8496f..c0cb687e4af 100644 --- a/debian/po/fi.po +++ b/debian/po/fi.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/fr.po b/debian/po/fr.po index 11a5057d48c..9a003626c11 100644 --- a/debian/po/fr.po +++ b/debian/po/fr.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/gl.po b/debian/po/gl.po index e86e98225fb..aafd6d8b2c1 100644 --- a/debian/po/gl.po +++ b/debian/po/gl.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/hr.po b/debian/po/hr.po index 0d6d8cbfd30..7fb2b0e5630 100644 --- a/debian/po/hr.po +++ b/debian/po/hr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/it.po b/debian/po/it.po index f340f7fb808..1281f868782 100644 --- a/debian/po/it.po +++ b/debian/po/it.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/ja.po b/debian/po/ja.po index 7f2cc1280bc..c9f8473cd2a 100644 --- a/debian/po/ja.po +++ b/debian/po/ja.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/ko.po b/debian/po/ko.po index a87dcf2a527..deb554fe0d1 100644 --- a/debian/po/ko.po +++ b/debian/po/ko.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/nb.po b/debian/po/nb.po index 497a1a55762..6a3aaecadfe 100644 --- a/debian/po/nb.po +++ b/debian/po/nb.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/nl.po b/debian/po/nl.po index 4df9ad5bfb4..fe7343ce612 100644 --- a/debian/po/nl.po +++ b/debian/po/nl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/pl.po b/debian/po/pl.po index c25c651de13..c7a249a188c 100644 --- a/debian/po/pl.po +++ b/debian/po/pl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/pt.po b/debian/po/pt.po index 26bc4f9b259..5b08e9da2a2 100644 --- a/debian/po/pt.po +++ b/debian/po/pt.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/ro.po b/debian/po/ro.po index 4822f9ff016..5c349378054 100644 --- a/debian/po/ro.po +++ b/debian/po/ro.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/ru.po b/debian/po/ru.po index e56a8299354..24b68b3b0c2 100644 --- a/debian/po/ru.po +++ b/debian/po/ru.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/sk.po b/debian/po/sk.po index be956280666..679a9c87e7a 100644 --- a/debian/po/sk.po +++ b/debian/po/sk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/sv.po b/debian/po/sv.po index 338e0e4ba4e..ad7136a0ee9 100644 --- a/debian/po/sv.po +++ b/debian/po/sv.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Language: Swedish\n" diff --git a/debian/po/tr.po b/debian/po/tr.po index 0fc44a158b3..3b3bb8beace 100644 --- a/debian/po/tr.po +++ b/debian/po/tr.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/uk.po b/debian/po/uk.po index f6039af60d9..5ea3a9e93d9 100644 --- a/debian/po/uk.po +++ b/debian/po/uk.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/zh_CN.po b/debian/po/zh_CN.po index e0c8dd936ed..d470cc042fb 100644 --- a/debian/po/zh_CN.po +++ b/debian/po/zh_CN.po @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. Type: string diff --git a/debian/po/zh_TW.po b/debian/po/zh_TW.po index d75b7371cb6..253b1324eb6 100644 --- a/debian/po/zh_TW.po +++ b/debian/po/zh_TW.po @@ -12,7 +12,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-06-01 03:44+0000\n" +"X-Launchpad-Export-Date: 2010-06-23 03:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: TAIWAN\n" "X-Poedit-Language: Chinese\n"